Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск DLL файлов и запись имён в фаил. Как??? 
V
    Опции темы
ivan219
Дата 29.9.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Есть папка вней есть DLL файлы мне нужно найти все файлы с расширением DLL и их имена записать в фаил ini smile 
PM MAIL ICQ   Вверх
Matematik
Дата 29.9.2006, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 17
Всего: 50



Поиск:
FindFirst+FindNext+FindClose
Запись:
AssingFile+Rewrite+Writeln
PM MAIL WWW ICQ   Вверх
Yanis
Дата 29.9.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(ivan219 @  29.9.2006,  15:33 Найти цитируемый пост)
Есть папка вней есть DLL файлы мне нужно найти все файлы с расширением DLL и их имена записать в фаил ini

Поиск по форуму по фразе ScanDir. А там в маске укажи *.dll.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ivan219
Дата 29.9.2006, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Код

Procedure ScanDir(Dir:string); 
var SearchRec:TSearchRec; 
begin 
  if Dir<>'' then if Dir[length(Dir)]<>'\' then Dir:=Dir+'\';  
  if FindFirst(Dir+'*.DLL', faAnyFile, SearchRec)=0 then repeat  
    if (SearchRec.name='.') or (SearchRec.name='..') then continue;  
    if (SearchRec.Attr and faDirectory)<>0 then  
      ScanDir(Dir+SearchRec.name) //we found Directory: "Dir+SearchRec.name"  
    else  
      Showmessage(Dir+SearchRec.name); //we found File: "Dir+SearchRec.name"  
  until FindNext(SearchRec)<>0;  
  FindClose(SearchRec);
end; 


procedure TForm1.Button1Click(Sender: TObject); 
begin 
  ScanDir('c:');  
end;


Вот так вот.

А уменя всего одна папка, эта процедура ищит под каталоги smile

Добавлено @ 15:42 
И ещё вот нашол я фаил а как его имя узнать smile 
PM MAIL ICQ   Вверх
Akella
Дата 29.9.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



вот рабочий код

Код

Procedure TfmUpdateInfo.ExtractArchives(Dir:String);
Var
 SearchRec:TSearchRec;
begin
 try
   log('Поиск полученной информации');
   if Dir<>'' then Dir:=IncludeTrailingPathDelimiter(Dir);
   if FindFirst(Dir+'*.*', faAnyFile, SearchRec)=0 then
     repeat
       if (SearchRec.name='.') or (SearchRec.name='..') then continue;
       if ((SearchRec.Attr and faDirectory)<>0) then
         ExtractArchives(Dir+SearchRec.name) //нашли папку: "Dir+SearchRec.name"
       else
        begin
          if AnsiUpperCase(ExtractFileExt(SearchRec.name)) = '.RAR' then <- вот где проверяем расширение
          begin
            log('Распаковываю архив: '+SearchRec.name);//SearchRec.name - имя файла (dir+SearchRec.name - имя - полный путь)
            fmMain.ExecAndWait(fmMain.swinrar,'e -ep '+ SearchRec.name, dir,0);
            DeleteFile(dir+SearchRec.name);
          end;//if ExtractFileExt(SearchRec.name)='.rar' then
        end;//else
     until FindNext(SearchRec)<>0;

 finally
   FindClose(SearchRec);
 end;
end;


Добавлено @ 15:51 
Цитата(ivan219 @  29.9.2006,  15:41 Найти цитируемый пост)
А уменя всего одна папка, эта процедура ищит под каталоги

эта процедура ищет всё, включая папки, подпап, файлы.

Это сообщение отредактировал(а) Akella - 29.9.2006, 15:51
PM MAIL   Вверх
ivan219
Дата 29.9.2006, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Akella, а твоя процедура тоже ищит под каталоги smile но мне это ненадо как зделать по проще smile и архивы тоже ненадо распаковывать.

Мне надо по проще т.е. одна папка и куча DLL надо их все посмотреть а имена записать в фаил, ну в фаил я сам разберусь а вот как узнать её имя  smile 
PM MAIL ICQ   Вверх
Romikgy
Дата 29.9.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Код

procedure TForm1.Button1Click(Sender: TObject);
var lb: TListBox;
  sx: string;
begin
  sx:=GetCurrentDir;
  SetCurrentDir('путь к нужной папке');
  lb:=TListBox.Create(nil);
  lb.Parent:=Form1;
  lb.Perform(LB_DIR,DDL_READWRITE    ,LongInt(PChar('*.dll')));
  SetCurrentDir(sx);
  lb.Items.SaveToFile('sp.ini');
  lb.Free;
end;
 smile

Добавлено @ 16:05 
Цитата(ivan219 @  29.9.2006,  15:00 Найти цитируемый пост)
а вот как узнать её имя 

кого имя?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ivan219
  Дата 29.9.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



кого имя? Файла *.DLL

Добавлено @ 16:43 
Romikgy, Спасибо всё получилось так как надо!!!
Akella, Спасибо разобрался!!!

Это сообщение отредактировал(а) ivan219 - 29.9.2006, 17:28
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0719 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.