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

Вниз

Почему Icompatible types?   Найти похожие ветки 

 
iNew ©   (2003-08-19 04:07) [0]

procedure TForm1.MyProc(SourceDir:String);
var lpFD : WIN32_FIND_DATA;
hd : integer;
MyBool : Boolean;
begin
MyBool:=true;
hd:=FindFirstFile(PChar(SourceDir+"\*.*"),lpFd);
try
while MyBool do
begin
if (lpFD.cFileName <> ".") and(lpFD.cFileName <> "..") then
begin
if lpFD.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY = 0 then
begin
...............
ListBox1.Items.Append(lpFD.cFileName);
end
else
begin
...............................
MyProc(SourceDir+"\"+lpFD.cFileName)
end;
end;
MyBool:=FindNextFile(hd,lpFD);
end;
finally
Windows.FindClose(hd);
end;
end;

Почему в строке
if (lpFD.cFileName <> ".") and(lpFD.cFileName <> "..")
отладчик говорит Icompatible types, хотя если сделать так:
var Str1,Str2 : String;
begin
Str1:=".";
Str2:="..";
if (lpFD.cFileName <> Str1) and(lpFD.cFileName <> Str2)
то всё нормально.
Да и вообще правильно ли сделан рекурсивный обход каталогов?


 
Игорь Шевченко ©   (2003-08-19 09:08) [1]

Потому что WIN32_FIND_DATA.cFileName объявлена не как String а как array of char.

#ifdef FLAME
До каких пор народ будет просить других поработать в качестве компилятора, блин! Что мешает САМОМУ посмотреть объявление нужных структур в исходниках или по справке ?
Уважайте чужое время, плз
#endif


 
iNew ©   (2003-08-19 09:15) [2]

> Игорь Шевченко
>Потому что WIN32_FIND_DATA.cFileName объявлена не как String а >как array of char.
Это я действительно посмотрел в справке. Меня просто интересует чем отличается
if (lpFD.cFileName <> Str1) and(lpFD.cFileName <> Str2) от
if (lpFD.cFileName <> ".") and(lpFD.cFileName <> "..")
ведь str1 это и есть "."

P.S. >Игорь Шевченко. Если жалко времени можно не отвечать :(


 
default ©   (2003-08-19 09:29) [3]

глазей в окно CPU в таких случаях
может тебе откроется истина



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
3-74032
Vick
2003-10-03 12:19
2003.10.23
Ошибка в ADODataSet при работе с Lookup-полями


1-74312
Dimaz-z
2003-10-13 19:41
2003.10.23
Как сделать, чтобы только одна форма была активной ...


3-74017
Relaxxx
2003-08-30 12:12
2003.10.23
Скажите мастера можно ли такое реализовать? И если да то как?


14-74411
AkaSaint
2003-10-05 23:47
2003.10.23
Нам нужны еще программисты на Delphi&Builder!


1-74174
хорек
2003-10-10 12:26
2003.10.23
анимационный курсор