Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

Nilgiri



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alecksey1984

Цитата:
существует ли для .net платформы поддержка directX и/или OpenGL

Существует. Microsoft сейчас развивает платформу .NET очень активно, и большую часть своего ПО они пишут именно на .NET. Естественно существует и поддержка работы с графикой. А про преимущества и недостатки можно сказать так: .NET хороша для быстрой разработки прикладного софта за счет удобства использования большого количества уже разработанных классов, упрощающих повседневные задачи, различных упрощений языка (например, автоматической сборке мусора), удобной среде разработки, большому объему справочного материала. Однако, чем больше фишек, тем тяжелее это все обработать - соответственно языки платформы .NET плохо подходят для разработки ресурсоемкого ПО (такого, как драйверы устройств). Ну и естественно все это работает только под Windows, т.к. ИМХО всевозможные эмуляторы на никсах не дадут полной стабильности никогда.

Всего записей: 23 | Зарегистр. 13-12-2004 | Отправлено: 21:14 12-03-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
для написания программ-серверов на основе Indy, и общих VCL.
В .NET Framework существуют собственные средства для решения тех задач, для которых нужен Indy. Оборачивать Indy для работы под .NET я особого смысла не вижу.
VCL для .NET - предать анафеме и сжечь Мертворожденный проект.
 
 
Добавлено:

Цитата:
различных упрощений языка (например, автоматической сборке мусора),  
Это не упрощение языка, это функция среды выполнения - CLR.
 

Цитата:
Однако, чем больше фишек, тем тяжелее это все обработать - соответственно языки платформы .NET плохо подходят для разработки ресурсоемкого ПО (такого, как драйверы устройств).
Ну я бы не относил драйверы к ресурсоемкому ПО. Их особенность состоит в том, что они работают на уровне, на котором нет места прослойкам вроде .NET. А если кто-то боится, что наличие промежуточного кода IL сказывается на производительности, то это справедливо только для первого запуска участка кода. При котором IL компилируется в родной машинный код и при повторных запусках исполняется уже он. Понятное дело, JIT-компилятор не проводит таких сложных оптимизаций, как, скажем, компилятор С++. Но для подавляющего большинства задач это не критично.

Цитата:
ИМХО всевозможные эмуляторы на никсах не дадут полной стабильности никогда

Mono это не эмулятор. Это ровно то же самое, что сделал Microsoft. Благо все нужные спецификации открыты и стандартизованы. И проблема больше не со стабильностью, а с совместимостью кода. Полностью совместимыми Windows и *X не удастся сделать никогда. Поэтому кто хочет переносимости - сразу должен разрабатывать для Mono, а не для MS .NET Framework.
 
 

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 11:14 13-03-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребят подскажите решение простой задачи..
таймером делаю рекурсивный поиск файлов - добавляю в лист вью.
Отображение на листвью при поиске стирается и строится новое- это чтоб вопросов лишних не было..
так вот собно вопрос.
при появлении нового файла или удалении какого либо из списка листвью нужно выполнить задачу ну например месадж бокс вызвать.
мож ссылку ткнете..или советом примером поможете??
чего под вечер тупняк =)

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 15:27 13-03-2009
alecksey1984

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nilgiri
BaluBig
спасибо за совет. выбор очевиден - для решения моих задач не подойдет.
почитав мнения, пришел к выводу - .net - платформа, предназначенная изменить подход к организации работы программистов. по сути - бизнес-инструмент.

Всего записей: 105 | Зарегистр. 13-11-2007 | Отправлено: 16:34 13-03-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть byte[] нужно получить string так, чтобы каждый байт преобразовался в один символ. Из имеющихся конвертеров ничего не нашел. Неужели придется каждый символ обрабатывать?

Всего записей: 10499 | Зарегистр. 05-02-2003 | Отправлено: 17:39 13-03-2009
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt
Цитата:
Есть byte[] нужно получить string так, чтобы каждый байт преобразовался в один символ
В какой символ? А те, которые не имеют символьного представления? Их куда прикажешь?

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 17:50 13-03-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
avkorets
Цитата:
при появлении нового файла или удалении какого либо из списка листвью нужно выполнить задачу ну например месадж бокс вызвать.  
Конкретизируй плз: как отследить что файл появился/исчез, или проблема с вызовом?
 
V0lt

Код:
            byte[] b = { 65, 65, 65 };
            Console.WriteLine((new System.Text.ASCIIEncoding()).GetString(b));
 

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 17:51 13-03-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT

 
TeXpert

Цитата:
В какой символ? А те, которые не имеют символьного представления? Их куда прикажешь?

у меня дальше идет сравнение полученной строки с "эталоном". если не преобразуется значит не подойдет и сравнивать не придется.
 
нашел баг

Код:
 
byte[] aa = { 1, 2, 3 };
byte[] bb = { 1, 2, 3 };
if (aa != bb) return false;
return true;
 

дает false

Всего записей: 10499 | Зарегистр. 05-02-2003 | Отправлено: 19:09 13-03-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
да именно но с небольшой поправкой..
у меня таймером идет поиск раз в 2 минуты..так вот нужно отследить изменения с момента последнего поиска..если эти изменения есть то допустим вывести эти "изменения" мессаджбоксом..
соответственно при первом поиске "изменением" буду все найденные файлы..Так вроде понятнее =)

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 23:15 13-03-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt
Ну вообще-то так и должно быть. (: Ты же ссылки сравниваешь...
Цитата:
Базовым для всех массивов является тип System.Array, производный от System.Object. А это значит, что массивы всегда относятся к ссылочному типу и размещаются в управляемой куче, а переменная в приложении содержит не сам массив, а ссылку на него.

avkorets
Посмотри на System.IO.FileSystemWatcher.

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 12:03 14-03-2009 | Исправлено: Lazy KoT, 12:29 14-03-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
V0lt

Цитата:
нашел баг
Ну приехали... Оператор равенства для класса System.Array (а равно как и для подавляющего большинства ссылочных типов) определяет равенство ссылок на экземпляр. Т.е. он определяет является ли aa там же самым экземпляром, что и bb. В твоем прмере это очевидно не так.  
 
alecksey1984

Цитата:
.net - платформа, предназначенная изменить подход к организации работы программистов. по сути - бизнес-инструмент.
Не совсем. Это платформа, призванная освободить программиста от сугубо технических вопросов (указатели, хэндлы, выделение и освобождение памяти, т.е. все, на чем стоит, например Win32 API) для того, что бы программист мог заниматься решением своей прикладной задачи. К слову VCL служит для тех же целей.
 
avkorets
Тебе нужно данные при поиске помещать не сразу в ListView, а в какую-то промежуточную структуру. После того, как ты обойдешь все нужные каталоги ты сделаешь две вещи:
1. Для каждого элемента промежуточной структуры ты найдешь равный элемент в ListView. Те элементы, для которых равных не найдется - это новые файлы.
2. Для каждого элемента ListView ты найдешь равный элемент в промежуточной структурt. Те элементы, для которых равных не найдется - это удаленные файлы.
После того, как изменения обработаны, Listview очищается и все элементы из промежуточной структуры переносятся туда. Всё.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 12:25 14-03-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig

Цитата:
Тебе нужно данные при поиске помещать не сразу в ListView, а в какую-то промежуточную структуру...
ИМХО как-то сложно. Подписаться на события System.IO.FileSystemWatcher и перезаполнить ListView Directory.GetFiles.

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 12:38 14-03-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
BaluBig
понятно
 
Не подскажите как можно организовать простейшее дерево, элементами которого будут структуры с 2, 3-мя переменными?
Идея такая, я читаю файл и по ходу чтения строю и заполняю свое дерево. Что-то типа TreeView, только без визуализации...

Всего записей: 10499 | Зарегистр. 05-02-2003 | Отправлено: 12:48 14-03-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt
Посмотри тут

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 13:40 14-03-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
ок гляну...
BaluBig
 да я так впринципе и думал только не знаю как это реализовать..
пример мож дать использования промежуточной структуры???

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 15:18 14-03-2009
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
одписаться на события System.IO.FileSystemWatcher и перезаполнить ListView Directory.GetFiles
Да, вариант. Чего-то я про него подзабыл...
 
avkorets

Цитата:
мож дать использования промежуточной структуры???
Ну во-первых рассмотри вариант, который предлагает Lazy KoT. Во-вторых, что именно непонятно со структурой? В простейшем случае это список имен (или полных путей) файлов, хранящихся в List<string>. Для поиска элементов можно использовать методы List<T>.Contains(T item) или List<T>.Exists(Predicate<T> match). Ну или LINQ использовать.  
 
 

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 19:19 15-03-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
BaluBig
Спасибо заюзал ватчер..
Ток не пойму почему он событие обрабатывает два раза???

Цитата:
 
        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.Path = ConfigurationManager.AppSettings["FolderPath"];
        watcher.IncludeSubdirectories = true;
        watcher.NotifyFilter = NotifyFilters.FileName;
        watcher.Filter = "*.txt";
        watcher.Created += new FileSystemEventHandler(OnChanged);
        watcher.EnableRaisingEvents = true;
             
    private static void OnChanged(object source, FileSystemEventArgs e)
    {
       MessageBox.Show("File: " +  e.FullPath + " " + e.ChangeType);
    }
 

вот в данном случае при создании файла выскакивает два мессадж бокса...
 
а по другому никак?

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 15:56 16-03-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
avkorets
Скопировал твой код и потестил. Выдается один MessageBox. (VS2008, .NET Framework 3.5SP1)
Несколько раз подписался на событие? Несколько FileSystemWatcher-ов? Несколько копий программы запущено? Файлы в каталоге каким-то хитрым образом создаешь?

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 18:45 16-03-2009 | Исправлено: Lazy KoT, 19:00 16-03-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
Да не все как в коде...
Ну создаю копированием из другой директории..кстате из субдиректории...
а ну понятно...если просто создать то все норм вроде =)
пока вопросов нету спасибо Вам огромное...
а есть ли фильтр НЕ следить в субдиректориях с определенным именем?

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 19:24 16-03-2009 | Исправлено: avkorets, 19:28 16-03-2009
Lazy KoT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
avkorets
Цитата:
а есть ли фильтр НЕ следить в субдиректориях с определенным именем?
Нет. Но есть if в обработчике события. (;

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 11:21 17-03-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru