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

Вниз

Поиск по фтп...   Найти похожие ветки 

 
St!ff ©   (2003-10-28 23:39) [0]

Мастера, помогите...
Есть задача: перечислить все файлы на ФТП, для последующей обработки.
Пытался написать программу, но она не работает помогите plz...
----------------------
var
i:integer;
olddir:string;
dirlist:tstrings;
CurrentDir:string;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
nmftp1.UserID:="anonymous";
nmftp1.Password:="guest";
NMFTP1.Connect;

end;

procedure find(list:tstrings);
var
s:string;
begin
for i:=0 to list.Count-1 do
begin
if (not((list.Strings[i]="./")or(list.Strings[i]="../"))) then
if list.Strings[i][length(list.Strings[i])]="/" then
begin
form1.Memo1.Lines.Add(list.Strings[i]);

form1.NMFTP1.ChangeDir(list.Strings[i]);
CurrentDir:=CurrentDir+list.Strings[i];
try form1.NMFTP1.nList; except end;

end
else form1.Memo1.Lines.Add("file "+list.Strings[i]);
begin

end;
end;
end;

procedure TForm1.NMFTP1ListItem(Listing: String);
begin
dirlist.Add(Listing);
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
dirlist:=tstringlist.Create;
CurrentDir:="/";
form1.NMFTP1.ChangeDir("/");
try form1.NMFTP1.nList; except end;
find(dirlist);
dirlist.Free;
end;

end.


 
St!ff ©   (2003-10-30 16:59) [1]

Помогите... хоть чего нибудь.. очень надо.. plzzz


 
Nikolay M. ©   (2003-10-30 17:36) [2]

Лень проверять: как именно "не работает"?
Компилится? Коннектится? Список выдает? Или выдает, но криво?


 
St!ff ©   (2003-11-01 01:28) [3]

выдает тока корень. не могу нормально в рекурсию завязать...


 
Nikolay M. ©   (2003-11-01 11:59) [4]


> if list.Strings[i][length(list.Strings[i])]="/" then

А ты уверен, что директория заканичвается слешем? И вообще, отладчиком умеешь пользоваться?


 
Anatoly Podgoretsky ©   (2003-11-01 12:05) [5]

Да о какой отладке речь, если обработка ошибок отключена except end;, наверно чтобы не мешали


 
St!ff ©   (2003-11-02 01:42) [6]

>> if list.Strings[i][length(list.Strings[i])]="/" then
>
>А ты уверен, что директория заканичвается слешем? И вообще, >отладчиком умеешь пользоваться?

Директория заканчивается слешем. не умею.

ладно если никто не знает как это сделать... тогда переведите на паскаль plz, желательно с var"aми
//-------
HINTERNET hOpen = InternetOpen("PPAHostTracker",
LOCAL_INTERNET_ACCESS,NULL,0,0);
HINTERNET hConnect = InternetConnect(hOpen, "m381-11" ,
INTERNET_INVALID_PORT_NUMBER, "user","pasw",
INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE ,0);
WIN32_FIND_DATA FindData;
HINTERNET FindHandle;
FindHandle = FtpFindFirstFile(hConnect,"TEST/DIR1 ANDSCPACE/*",
&FindData, 0, 0);
if(FindHandle)
do {
..........
} while (InternetFindNextFile(FindHandle, &FindData));
InternetCloseHandle(FindHandle);
//------
получается чо-то вроде

//--------
var
hConnect:hInternet;
FindHandle:pointer;//THandle;
FindData:WIN32_FIND_DATA;
FTPFindHandle:tHandle;
hOpen:HINTERNET;

begin
hOpen := InternetOpen("PPAHostTracker",LOCAL_INTERNET_ACCESS,nil,0,0);
hConnect := InternetConnect(hOpen, "m381-11" ,INTERNET_INVALID_PORT_NUMBER, "user","pasw",
INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE ,0);
FindData.cFileName:="*";
FindHandle := FtpFindFirstFile(hConnect,"TEST/DIR1 ANDSCPACE/*",FindData, 0, 0);
if(FindHandle<> nil) then
while (InternetFindNextFile(FindHandle, FindData)<>nil) do //ошибка!
begin

end;
InternetCloseHandle(FindHandle);
end;

//---------
но вылезает ошибка в условии
Incompatible types: _WIN32_Find_Dataа and pointer

и, если не секрет, как в этом цикле анализировать файл это или каталог, как заносить их напр в мемо и если католог вызвать себя...



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
14-99715
Думкин
2003-12-08 08:43
2003.12.30
Встреча в Новосибирске. Отчет


3-99477
Shirson
2003-12-04 07:43
2003.12.30
Один работает - остальные висят.


1-99530
SlyFox
2003-12-18 08:34
2003.12.30
DLL и String


3-99434
Zhenja
2003-12-04 00:21
2003.12.30
Работа с локальной базой по сети


1-99531
DelphiNew
2003-12-16 14:25
2003.12.30
Проблема при вводе данных