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

Вниз

Нужна помощь!!!!!!   Найти похожие ветки 

 
anton_private   (2003-10-01 13:09) [0]

Итак
Есть две функции

function TMainForm.IsValidFile(SearchRec: TSearchRec): Boolean;
begin
if (SearchRec.Name<>".") and (SearchRec.Name<>"..") then Result:=True
else Result:=False;
end;

function TMainForm.IsValidDirectory(SearchRec: TSearchRec): Boolean;
begin
if ((SearchRec.Attr and faDirectory) = faDirectory) and
(SearchRec.Name<>".") and (SearchRec.Name<>"..") then Result:=True
else Result:=False;
end;

далее при сканировании каталога делаю следующее (в рамках моей процедуры CopyDir)

F : TSearchRec;
............
............
............
if FindFirst(SDir+"*.*",faDirectory,F) = 0 then
begin
if (F.Attr<>faDirectory) or (F.Attr<>faAnyFile)then
begin
while FindNext(F)=0 do
begin

if IsValidDir(F) then
begin
TmpDir:=NormalDir(SDir)+string(F.Name);
N:=NormalDir(DestDir)+string(F.Name);
if (F.Name<>".") and (F.Name<>"..")
then CopyDir(TmpDir,N);
end;
if IsValidFile(F) then
begin CopyFile(PChar(NormalDir(SDir)+string(F.Name)),
PChar(NormalDir(DestDir)+string(F.Name)),True);
G.Progress:=G.Progress+F.Size;
MainForm.Repaint;
end;
end;
end;
FindClose(F);

При этом копируются ТОЛЬКО файлы. Дир не копируются, не говоря уже об их содержимом))))

В ЧЁМ Я НЕ ПРАВ?

Спасибо всем отКЛИКнувшимся?


 
ZEE ©   (2003-10-01 13:16) [1]

во-первых: зачем F.Attr<>faAnyFile ?
во-вторых: у тебя сразу за FindFirst() идет FindNext() - т.е. при первый найденый файл добавляться не будет
в-третьих: G.Progress:=G.Progress+F.Size;, а где G.MaxValue:= ? (G я так понял это TGauge)


 
anton_private   (2003-10-01 13:23) [2]

2ZEE

Вообщем замечания ценные. Посмотрю

Но они не отвечают на основной вопрос
Почему не копируются директории???



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

Текущий архив: 2003.10.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
14-40644
Yakudza
2003-09-23 11:45
2003.10.13
MacOS


3-40244
Dark Elf
2003-09-23 17:37
2003.10.13
Имя поля с пробелами


1-40487
dim-
2003-10-02 12:52
2003.10.13
как узнать что форма была закрыта


1-40442
Balkon
2003-09-30 17:36
2003.10.13
Как сделать


4-40741
Bes
2003-08-05 19:29
2003.10.13
Что внутри combobox a?