Форум: "Начинающим";
Текущий архив: 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("Ïëàãèíîâ íåò");
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("Ïëàãèíîâ íåò");
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.013 c