Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Вниз

Сканирование папки   Найти похожие ветки 

 
Der Nechk@ssoff ©   (2006-03-23 12:14) [0]

Подскажите как при нажатии на кнопку прога сканировала папку в которой находится на наличие Nных типов файлов?


 
Dmitrij_K   (2006-03-23 12:20) [1]

FindFirst
FindNext
FindClose
+F1


 
Der Nechk@ssoff ©   (2006-03-23 12:22) [2]

непонял


 
Kolan ©   (2006-03-23 12:22) [3]

Проход дерева каталогов

Procedure ScanDir(Dir:string);
var SearchRec:TSearchRec;
begin
if Dir<>"" then if Dir[length(Dir)]<>"\" then Dir:=Dir+"\";  
if FindFirst(Dir+"*.*", 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;

Автор ответа Vit
Взято с Vingrad.ru http://forum.vingrad.ru


 
Der Nechk@ssoff ©   (2006-03-23 12:29) [4]

Переправил этот кусок кода под себя но при компиляции выходит ошибка:
";"expected but "END" found(место ошибки помечено-"?")

procedure TForm3.Button4Click(Sender: TObject);
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=".dll") or (SearchRec.name="..") then continue;
if (SearchRec.Attr and faDirectory)<>0 then
ScanDir(Dir+SearchRec.name)
else
Showmessage("&#207;&#235;&#224;&#227;&#232;&#237;&#238;&#226; &#237;&#229;&#242;");
until FindNext(SearchRec)<>0;
FindClose(SearchRec);  
end"?"
end;


 
balepa ©   (2006-03-23 12:32) [5]

if (SearchRec.Attr and faDirectory)<>0 then
ScanDir(Dir+SearchRec.name)
else
begin
Showmessage("&Iuml;&euml;&agrave;&atilde;&egrave;&iacute;&icirc;&acirc; &iacute;&aring;&ograve;");
until FindNext(SearchRec)<>0;
FindClose(SearchRec);  
end;


 
Der Nechk@ssoff ©   (2006-03-23 12:44) [6]


> balepa ©   (23.03.06 12:32) [5]


Вылазит еще больше ошибок


 
Плохиш ©   (2006-03-23 12:56) [7]


> Der Nechk@ssoff ©   (23.03.06 12:29) [4]
> Переправил этот кусок кода под себя но при компиляции выходит
> ошибка:
> ";"expected but "END" found(место ошибки помечено-"?")

begin-ы с end-ами подсчитай или мы за тебя это должны делать?


 
Kolan ©   (2006-03-23 13:24) [8]

Хороший тебе совет - форматируй исх. текст.

Пример:

Procedure ScanDir(Dir:string);
 var SearchRec:TSearchRec;
begin
 if Dir<>"" then
   if Dir[length(Dir)]<>"\" then
     Dir:=Dir+"\";  
 if FindFirst(Dir+"*.*", 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;


 
Der Nechk@ssoff ©   (2006-03-23 13:33) [9]

Перепробовал дофига вариантов-никак...


 
Der Nechk@ssoff ©   (2006-03-23 14:50) [10]

Ну помогите же...


 
Kolan ©   (2006-03-23 14:54) [11]

Вот из старого проекта:

function TFileListManager.LoadImagesFromWorkDir: Boolean;
var
 CurrentFile: TSearchRec;
begin
 FFileList.Clear;
 FImagePresence := ipNoImages;
 Result := False;
 if FindFirst(FWorkDir + "*.*", faAnyFile, CurrentFile)=0 then
 repeat
   if (CurrentFile.Name <> ".") and (CurrentFile.Name <> "..") then
   if IsFileExtensionKnown(ExtractFileExt(CurrentFile.Name)) then
   begin
     FImagePresence := ipIsImages;
     Result := True;
     FFileList.Add(ExtractFileName(CurrentFile.Name));
   end;
 until FindNext(CurrentFile)<>0;
 FindClose(CurrentFile);

 GetCurrentNewState;
 PostFileChangeMessageToAll;
end;


 
Игорь Шевченко ©   (2006-03-23 14:55) [12]

Der Nechk@ssoff ©   (23.03.06 14:50) [10]

Кнопка F1 находится в левом верхнем углу клавиатуры, справа от кнопки Esc.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.019 c
2-1143352830
Manya
2006-03-26 10:00
2006.04.09
Работа с архивами


10-1116491301
_Max
2005-05-19 12:28
2006.04.09
Копирование в Word`е


2-1142951680
Dest81
2006-03-21 17:34
2006.04.09
Interbase


15-1142491734
syte_ser78
2006-03-16 09:48
2006.04.09
определение активности диалап подключения


15-1142358354
NailMan
2006-03-14 20:45
2006.04.09
Есть ли такая прога?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский