Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2006-11-11 08:57:07 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 21:02:56
карма: 0

0
Ответов: 5446
Рейтинг: 323
#2: 2006-11-11 18:38:57 ЛС | профиль | цитата
Леша, можно. Изучи спецификацию протокола FTP (Google: FTP RFC) и вперёд и с песнями. Я где-то уже выкладывал пример, правда для telnet-а, но для ftp адаптируется на раз
карма: 1

0
Ответов: 3514
Рейтинг: 184
#3: 2006-11-11 19:10:43 ЛС | профиль | цитата
http://www.unix.org.ua/ftp_tut/com_a.htm
карма: 0
0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2006-11-11 21:14:58 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 21:02:56
карма: 0

0
Ответов: 5446
Рейтинг: 323
#5: 2006-11-11 21:58:45 ЛС | профиль | цитата
Астрамак, боюсь коллега Леша не понимает по-буржуйски

Леша, FTP довольно сложный протокол, так как для того же получения списка файлов в директории нужно 2 порта - для комманд и для данных. Вот русское описание, прочти и реализуй.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#6: 2006-11-11 22:10:32 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 21:02:56
карма: 0

0
Ответов: 1305
Рейтинг: 29
#7: 2006-11-11 22:36:25 ЛС | профиль | цитата
Леша, а ты вдохни побольше воздуха - помогает против
это порой злит многих!

Москва не сразу строилась - может стоит начать с чего попроще? Или ты ждешь, что здесь кто-то за тебя прогу сделает?
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#8: 2006-11-11 22:41:37 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 21:02:57
карма: 0

0
Ответов: 5446
Рейтинг: 323
#9: 2006-11-11 22:45:01 ЛС | профиль | цитата
v258, я поговорил по icq с этим товарищем, и понял его проблему. Я думаю, что если немного доработать (даже не напильником) WinFTP, зацепив как минимум (из модуля WinInet)

function FtpCreateDirectory(hConnect: HINTERNET; lpszDirectory: PChar): BOOL; stdcall;
function FtpGetCurrentDirectory(hConnect: HINTERNET; lpszDirectory: PChar): BOOL; stdcall;
function InternetFindNextFile(hFind: HINTERNET; lpvFindData: Pointer): BOOL; stdcall;
и выведя наружу

function FtpFindFirstFile(hConnect: HINTERNET; lpszSearchFile: PChar;
var lpFindFileData: TWin32FindData; dwFlags: DWORD;
dwContext: DWORD): HINTERNET; stdcall;


то коллега Леша будет удовлетворён.
Для получения листинга текущей директории (FTP) используется такой код (на C, на дельфи будет похоже)

#include <windows.h>
#include <Wininet.h>
#include <iostream.h>

int main()
{
WIN32_FIND_DATA pDirInfo;
HINTERNET hDir;
HINTERNET intOpen;
HINTERNET hConnect;
char userName[100]="";
char password[100]="";
char server[100]="";

cout << "Enter the server: ";
cin >> server;
cout << "Enter your user name: ";
cin >> userName;
cout << "Enter your password: ";
cin >> password;

intOpen = InternetOpen("Microsoft Internet Explorer", INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL,INTERNET_FLAG_ASYNC);
hConnect = InternetConnect(intOpen, server, INTERNET_DEFAULT_FTP_PORT,
userName, password, INTERNET_SERVICE_FTP, INTERNET_SERVICE_FTP, 0);

hDir = FtpFindFirstFile(hConnect, "*.*", &pDirInfo,
INTERNET_FLAG_DONT_CACHE, 0);
cout << "
Root Dir Contains:
" << pDirInfo.cFileName << "
";

while(InternetFindNextFile (hDir, &pDirInfo))
cout << pDirInfo.cFileName << "
";

return 0;
}
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#10: 2006-11-12 18:09:39 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 21:02:57
карма: 0

0
Ответов: 632
Рейтинг: 16
#11: 2006-11-13 01:25:01 ЛС | профиль | цитата
Леша, аналогичные проблемы у меня возникали с др. прогами, если ты не умееш делать компонент то приходится лишь ждать...
карма: 0

0
Ответов: 241
Рейтинг: 45
#12: 2006-11-13 02:29:11 ЛС | профиль | цитата
http://www.kolnmck.ru/files/components/net/synapse.zip
Тут есть фтп клиент неплохой, и не только, и уже под kol.
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#13: 2006-11-13 12:41:51 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 21:02:57
карма: 0

0
13
Сообщение
...
Прикрепленные файлы
(файлы не залиты)