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

Вниз

Файлы, почему при работе с FindFirst, FindNext, CopyFile ,если   Найти похожие ветки 

 
ossa   (2003-08-19 07:01) [0]

задать маску для копирования *.txt, *.ok или др. работает нормально, а если задать *.* не работает. В чем дело?


 
Verg ©   (2003-08-19 07:07) [1]

В 15-той строке неверно задано условие.


 
ossa   (2003-08-19 07:11) [2]

можно уточнение?


 
Verg ©   (2003-08-19 07:15) [3]


> можно уточнение?


Нет, я только начинающий телепат :)

Или этот вопрос вы себе задали?

Это было бы правильней.


 
ossa   (2003-08-19 07:18) [4]

Да!, откуда, ты узнал, ничего себе.


 
Palladin ©   (2003-08-19 07:25) [5]


> ossa (19.08.03 07:18) [4]

Не борзей, по делу прикололись.
Код покажи.


 
ossa   (2003-08-19 07:27) [6]

>Verg © (19.08.03 07:15) [3]

>> можно уточнение?

>Нет, я только начинающий телепат :)

>Или этот вопрос вы себе задали?

>Это было бы правильней.

Ты прям, как матрица! :)


 
Verg ©   (2003-08-19 07:32) [7]


> ossa (19.08.03 07:27) [6]


Шутки в сторону. Если тебе надо ответ, то задай вопрос нормально, а на вопрос "не работатет findfirst. В чем дело?" ты ничего не получишь, просто потому, что у всех работает.


 
ossa   (2003-08-19 08:01) [8]

работает если выставлять расширение любое кроме *.*
в переменной Maska

procedure SetLinkDial(StrDial, StrDialed,StrBad:string);
var
flag :integer;
vStr,Name:string;
vDialing:Boolean;
StrFlag:TSearchRec;
begin
Name:=StrDial+Maska;
flag:=FindFirst(Name,faAnyfile,StrFlag);
if flag<>0 then
MessageDlg("


 
Calm ©   (2003-08-19 08:20) [9]

Еще ты забыл написать в чем выражается нерабочесть.

И что-то я не заметил, где проверяешь, что найденный файл не называется "." и "..".


 
ossa   (2003-08-19 08:45) [10]

>Calm © (19.08.03 08:20) [9]
>Еще ты забыл написать в чем выражается нерабочесть.

если ставлю в Maska:=*.* то компил. проходит только по следующим кодам
Name:=StrDial+Maska;
flag:=FindFirst(Name,faAnyfile,StrFlag);
if flag<>0 then
vDialing:=SendDialup(StrFlag);
if vDialing=false then
if not DirectoryExists(StrDialed) then
vStr:=ChangeFileExt(StrFlag.Name,"."+MaskGood);
name:=StrDialed+vStr;//MaskGood;
if not CopyFile(PChar(StrDial+StrFlag.Name),PChar(name),false)
raise Exception.Create("Cannot to copy")
т.е. не хочет копировать
А если к примеру у меня в папке
StrDial:="c:\a1\" лежат файлы с расширением Maska:="*.txt" то все работает корректно

>И что-то я не заметил, где проверяешь, что найденный файл не >называется "." и "..".
Name:=StrDial+Maska;


 
Palladin ©   (2003-08-19 08:48) [11]


> Name:=StrDial+Maska

и что? это проверка чтоли?

В каталогах имеют место находится две директории с именами "." и "..". Для чего они, тебе знать необязательно, будет интересно сам найдешь. Вот и проверяй что ты нашел.


 
ossa   (2003-08-19 08:59) [12]

FindFirst(Name,faAnyfile,StrFlag); как раз и показывает что нашел
" ."
"." , ".." - это текущий и родительский каталог (или что, то другое)


 
Palladin ©   (2003-08-19 09:05) [13]

Ты не вкуриваешь...

".",".." это имена которые могут тебе попасться при сканировании каталога, почему ты не рассматриваешь эту возможность? Почему не фильтруешь? Как ты будешь копировать "c:\temp\.." в "c:\winnt\.."?


 
ossa   (2003-08-19 09:23) [14]

Извените, если я правильно понял то компиллятор натыкаеться на
"." и ".." и прекращает работу, т.е. ссылка произсходит на все родительские и текущие файлы. Спасибо за помощь.


 
Anatoly Podgoretsky ©   (2003-08-19 09:44) [15]

Неправильно понял, компилятору глубоко на это плевать


 
ossa   (2003-08-19 09:49) [16]

ну да, программа то компилируеться. Сейчас переправлю прогу, посмотрю. Спасибо , если что будтье на готове(в основном). СПАСИБО!



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

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

Наверх




Память: 0.5 MB
Время: 0.025 c
4-24733
Harry
2003-07-10 13:35
2003.09.08
Убрать системные сообщения при ошибке копирования


14-24703
Прохожий
2003-08-19 07:28
2003.09.08
Динамическое создание потоков


14-24622
Рома
2003-08-20 21:14
2003.09.08
Как в третих казаков по сети больше двух человек играть?


14-24701
iZEN
2003-08-18 19:47
2003.09.08
Sun Solaris.


3-24335
DBProger
2003-08-18 13:39
2003.09.08
Блокировка добавления/удаления записей в DBGrid