Форум: "Сети";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
ВнизПоиск по фтп... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c