РЗ
Рыбка Золотая

Delphi. Проверьте код пожалуйста!

Пожалуйста проверьте код, может где допустил ошибку или можно оптимизировать.
Для меня очень важна скорость, поэтому если можно увеличить скорость выполнения подскажите как.

Задача в общем простая, нужно получить список всех файлов и папок по указанному пути (включая содержимое подпапок) , а также получить время создания, доступа и изменения. Затем всё записать в текстовый файл. В интернете полно примеров по FindFirst и FindNext, но они слишком медленные.
Вот нашёл функцию GetFileSystemEntries вроде то что нужно, но не уверен, что всё правильно организовал, никогда не работал до этого с WinAPI.

Заранее спасибо!

procedure Skan(Path: String);
var
I: Integer;
Listing: TStringDynArray;
S: String;
begin
S:='\\?\' + Path;
Listing := TDirectory.GetFileSystemEntries(S, TSearchOption(1), nil);
with TStringList.Create do
begin
Clear;
for I := 0 to Length(Listing) - 1 do
begin
S := Listing;
try
if DirectoryExists(S) then
begin
S := S + Chr(VK_TAB) + DateTimeToStr
(TDirectory.GetCreationTime(Listing));
S := S + Chr(VK_TAB) + DateTimeToStr
(TDirectory.GetLastAccessTime(Listing));
S := S + Chr(VK_TAB) + DateTimeToStr
(TDirectory.GetLastWriteTime(Listing));
end
else
begin
S := S + Chr(VK_TAB) + DateTimeToStr
(TFile.GetCreationTime(Listing));
S := S + Chr(VK_TAB) + DateTimeToStr
(TFile.GetLastAccessTime(Listing));
S := S + Chr(VK_TAB) + DateTimeToStr
(TFile.GetLastWriteTime(Listing));
end;
except
Add(Listing);
Continue;
end;
Add(S);
end;
SaveToFile(ExtractFilePath(ParamStr(0)) + 'RESULT.txt', TEncoding.UTF8);
Free;
end;
end;

Для уникумов повторяю: Я И НЕ ГОВОРИЛ, ЧТО РАЗБИРАЮСЬ, ПОЭТОМУ И ЗАДАЛ ЭТОТ ВОПРОС!

Delphi.

НБ
Наташа Безугленко

Ваш код - говно. Вы ничего не понимаете в кодах

Таня
Таня

если такой умный помоги ему.. . Что за язык?

Похожие вопросы
Ошибка в коде delphi
Где ошибка в коде delphi?
Delphi, помогите с кодом
Помогите с кодом Delphi
Помогите мне с кодом по Delphi.
Помогите с кодом в Delphi, пожалуйста!
Помогите с кодом в Delphi, пожалуйста
Что в коде не правильно? (Delphi)
Delphi Код вычисление как???
проверьте пожалуйста код на языке Си