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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.01 c
1-40421
alex-ran
2003-09-30 15:34
2003.10.13
Получение и потеря фокуса


14-40594
AlexRush
2003-09-23 13:14
2003.10.13
Любителям поэзии :)))


14-40608
beginner_nostra
2003-09-25 01:36
2003.10.13
Siemens C55 в качестве GPRS модема


14-40640
Дмитрий
2003-09-23 08:56
2003.10.13
Восстановление винчестера


1-40511
killer
2003-10-01 20:24
2003.10.13
Вопросс по ProgressBar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский