Типы программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Handle, пишет- нет такой переменной
DLL и потоки!, Остановить DLL!!!
Delphi, API, Message, Где найти соответствующие константы
как пол. коорд. курсора мыши над TScroll
Реестр, Работа с реестром
Доступ к локальным дискам (XP), открытие\закрытие доступа...
Использование mlang.dll
Трей, Глюки в WinXP, Win2k
Как очистить экран в консольном приложении?
Лдюди объясните по русски как установить Rxlib, для Delphi 7.0
ошибка MItec, Помогите разобраться
Перенаправление ввода и вывода, Bind Shell
Текст вместо иконки
Браузер на Delphi
Помогите не могу понять!, Про окна
Как упрятать программу
Помогите с иконкой в трее!, иконка втрее
Как Вы относитесь к курящим девушкам?
IP адрес, связь
Кнопки, Интерес
Рисунок с рабочго стола по LAN, Рисунок с рабочго стола
Как распознать запуск другой проги?
Блокировка CD-ROMа
полосы прокрутки у TMemo & TListBox, как сделать их плоскими и другого цвета
Hook на процессы!, Отловить запуск и завершение процесса!
Ресурсы: окошки
Температура процессора, Как контролировать
Как загружать прогу в безопасном режиме
Идентификаторы в Delphi
Новый форум, Новый форум
Данные из клавы направить не туда.
как получить температуру?, как программно получить температуру?
ПРограммирование HASP-ключей, ЗАдали лабораторную .. ничего не понятно
Есть ли в Делфи реализация интерфейса, а-ля интерфейс как в Java ??
Как минимизировать приложение при старте ?, Мне казалось что это так просто...
Что такое хинты, и как их показывать
Запрет запуска хранителя экрана, при работе программы
Восстановление удалённых файлов
Поиск ехе, Поиск ехе в директориях
Работа с ОЗУ, как?
Как загрузить данные из Reources ?
А-у! Помогите, не работает детская процедура, Процедура сбора статистики работы СД
Как программно запретить вход в виндовс
убить заголовок окна, чужого
Работа в потоке, Ну, типа, работа в потоке
Как сделать окно поверх панели задач
Как вычислить подключение винта к USB
Как избежать LOg off/on при изменении реестра, Столкнулся с такой проблемой.
метод Synchonize объекта TThread
Функция типа TStringList
Где храняться пути для переменных окружения ?
Как сейчас на счет бесплатного Delphi 6 personal
Дефрагментация
Скрытие окна..., ...как это делает LiteAlloy
Как сделать, чтобы фокус ввода окна нельзя, отменить пока его не закроешь
Програмка для тестирования памяти, алгоритмы есть
Серийный номер процессора, Как получить?
Внедрение DLL
Как получить информацию запущен процесс или нет ??
Hook на печать, это возможно?
Текстурирование, как сделать скины для окон
Прочитать значение из оперативки, ID процесса известен, адрес тоже.
Надо прочитать куда нить значения из памяти, сабж
Как Вы относитесь к курящим девушкам?
объем физического диска под Win9x
Кто пробывал написать свой компилятор ??, Нужен ваш хелп.
WM_DEVICECHANGE, отслеживаем изменения одного устройства
Порты и Дельфи, HELP!!!!!!
CreateRemoteThread, как использовать?
Как это работает?, есть такая прога... LClock

Платные хостинги     Раскрутка сайта     Книги по программированию


Поиск ехе, Поиск ехе в директориях

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Привет! Подскажите как найти все ехе в заданном каталоге и его подкаталогах! Я сделал все функциями Findfirst,Findnext. Но проблема в том..что если изначально Findfirst не находит ехе в каком-либо каталоге..то ее значение<>0 и поэтому цикл поиска не начинается. Что можно сделать?

- найти тему типа "поиск файлов"http://forum.vingrad.ru/index.php?showtopic=35104http://forum.vingrad.ru/index.php?showtopic=13151http://forum.vingrad.ru/index.php?showtopic=4617и переделать под свои нужды

- ДА ЭТО все ясно! Все уже читал..и у самого почти так же сделано! Но это все примеры только ля поиска всех файлов! Но стоит маску поменять на *.ехе как все накрывается..и все те примеры! Если в корневом каталоге *.ехе нет, то поиск прекращается!

- вот процедура, которая все находит:Код procedure FindFilesByMask(List :tStrings; var DirCount :Integer; const DirName, Mask :String; SubDir: Boolean = True);// Поиск файлов по маске в заданной папке и подпапке  // Чем меньше параметров и локальных переменных у рекурсивной процедуры,  // тем меньше она требует памяти под стек. Поэтому использую локальную  // процедуру  procedure ScanDirs(const DirName :String);  var    h   :tHandle;    wfd :tWin32FindData;  begin    Inc(DirCount); // просто для статистики    // Сначала просмотрим текущий каталог по заданной маске    h := Windows.FindFirstFile(PChar(DirName+Mask), wfd);    try      if  h <> INVALID_HANDLE_VALUE  then begin        repeat          if  (wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0  then            List.Add(DirName+wfd.cFileName);        until  not Windows.FindNextFile(h,wfd);      end;      // проверка кода ошибки и FindFirstFile и FindNextFile      case  GetLastError  of        ERROR_NO_MORE_FILES,    // больше нет файлов и каталогов удовлетворяющих маске (но были)        ERROR_FILE_NOT_FOUND,   // вообще нет файлов и каталогов удовлетворяющих маске        ERROR_SHARING_VIOLATION // возникает во время создания каталога (уже создан но еще недоступен)                              : ; // ничего не делаем, все Ok        else // все остальные ошибки          raise Exception.CreateFmt('Ошибка просмотра каталога "%s": %s',[DirName,SysErrorMessage(GetLastError)]);      end;    finally      if  h <> INVALID_HANDLE_VALUE  then Windows.FindClose(h);    end;    // Теперь рекрсивно просмотрим подкаталоги    if not SubDir then exit; // 13.06.03    h := Windows.FindFirstFile(PChar(DirName+'*.*'), wfd);    try      if  h <> INVALID_HANDLE_VALUE  then begin        repeat          if   ((wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) <> 0)           and (wfd.cFileName <> String('.'))           and (wfd.cFileName <> '..')           then            ScanDirs(IncludeTrailingPathDelimiter(DirName+wfd.cFileName));        until  not Windows.FindNextFile(h,wfd);      end;      // проверка кода ошибки и FindFirstFile и FindNextFile      case  GetLastError  of        ERROR_NO_MORE_FILES,    // больше нет файлов и каталогов удовлетворяющих маске (но были)        ERROR_FILE_NOT_FOUND,   // вообще нет файлов и каталогов удовлетворяющих маске        ERROR_SHARING_VIOLATION // возникает во время создания каталога (уже создан но еще недоступен)                              : ; // ничего не делаем, все Ok        else // все остальные ошибки          raise Exception.CreateFmt('Ошибка просмотра каталога "%s": %s',[DirName,SysErrorMessage(GetLastError)]);      end;    finally      if  h <> INVALID_HANDLE_VALUE  then Windows.FindClose(h);    end;  end;begin // FindFilesByMask  ScanDirs(IncludeTrailingPathDelimiter(DirName));end;highlightSyntax('delphiWFkMDA','delphi'); Добавлено @ 18:37 Пример использования:Код var  n: Integer;begin  FindFilesByMask(ListBox1.Items, n, 'Путь', '*.exe');highlightSyntax('delphilkNTQ1','delphi');

- спасибо большое! Великолепный код!Очень выручил!

- Код procedure GetFile(Dir: string);var  f : TSearchRec;  i : integer;  s : string;begin  i := FindFirst(Dir+'*.exe', faAnyFile, f);   while (i=0) do    begin      s:= dir + f.Name;      Form1.ListBox1.Items.Add (S);      i := FindNext(f);      Application.ProcessMessages;    end;  FindClose(f);end;procedure GetDir(Dir: string);var  f : TSearchRec;  i : integer;  s : string;begin  i := FindFirst(Dir+'*.*', faDirectory, f);  GetFile(Dir);  while (i=0) do    begin    if (f.Name='.') or (f.Name='..') then    else      begin      if (f.Attr and faDirectory)<>0 then        begin          GetDir(Dir+f.Name+'\');          Application.ProcessMessages;        end      else        begin         i := FindNext(f);        end;      end;      i := FindNext(f);      Application.ProcessMessages;    end;  FindClose(f);end;highlightSyntax('delphimE3NDU','delphi');А я вот так делал, и все нормально находиться.

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с учебник | программирование сотовых | офшорное программирование | примеры линейное программирование | анализ программирование | программирование делфи | cgi программирование | программирование atmel | школа программирования | типы программирования | практика программирования | программирование autocad | программирование профессиональное | обзор языков программирования | среда программирования delphi | задачи целочисленного программирования | характеристика языка программирования | стиль программирования | постановка задачи программирование | программирование серверов | программирование диплом скачать | применение программирования | Ссылки

Все про практика программирования