Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
14-74379
Real_Punk
2003-10-02 21:19
2003.10.23
Скины


1-74179
BelAS
2003-10-10 05:25
2003.10.23
Интерфейс приложения


14-74473
ЯЯЯ
2003-10-01 12:03
2003.10.23
Программа на Delphi


1-74289
leonidus
2003-10-12 21:10
2003.10.23
Вопрос о символе


14-74479
Zhouck
2003-10-03 10:42
2003.10.23
DVD - какая система его потянет?




   Наверх