Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.09;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
2-1143132413
Уч.
2006-03-23 19:46
2006.04.09
type Packed Record и Record в чем разница?


4-1137854444
Qstream
2006-01-21 17:40
2006.04.09
USB i D.


15-1142630130
ProGmaer
2006-03-18 00:15
2006.04.09
ADSL и игры


2-1143222772
beglec
2006-03-24 20:52
2006.04.09
Интересуют - а как нибуть по другому можно ?


15-1142576288
_white_
2006-03-17 09:18
2006.04.09
FIBPlus и FIBPlus