Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› FTP
Посл.ответ Сообщение


Ранг: 66.1 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 27 июля 2006 15:29
· Личное сообщение · #1

У кого-нить есть исходники (желательно на Borland C) для работы с FTP ?




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 27 июля 2006 16:23
· Личное сообщение · #2

function TMain.FtpSaveFile(strHost, strUser, strPwd: string;
Port: Integer; localDir: string): Boolean;

var
hNet,hFTP,hFile,hResult : HINTERNET;
sSourceDir : string;
bSuccess : Boolean;
SR : TSearchRec;
iProgress,iDirNum : Integer;
sRec : TWin32FindData;

begin
Result := False;
iProgress := 0;
iDirNum := 0;

SetProgressBarCaption(sPrepare,TRUE);

sFTPPath := StringReplace(sFTPPath,'\','/',[rfReplaceAll]);

sSourceDir := IncludeTrailingPathDelimiter(localDir);

{ Open an internet session }
hNet := InternetOpen('WS Gallery', // Agent
INTERNET_OPEN_TYPE_PRECONFIG, // AccessType
nil, // ProxyName
nil, // ProxyBypass
0); // or INTERNET_FLAG_ASYNC / INTERNET_FLAG_OFFLINE

{
Agent contains the name of the application or
entity calling the Internet functions
}


{ See if connection handle is valid }
if hNet = nil then
begin
ShowMessage(sWinInetErr);
Exit;
end;

SetProgressBarCaption(sServerConn,TRUE);

{ Connect to the FTP Server }
hFTP := InternetConnect(hNet, // Handle from InternetOpen
PChar(strHost), // FTP server
port, // (INTERNET_DEFAULT_FTP_PORT),
PChar(StrUser), // username
PChar(strPwd), // password
INTERNET_SERVICE_FTP, // FTP, HTTP, or Gopher?
0, // flag: 0 or INTERNET_FLAG_PASSIVE
0);// User defined number for callback

if hFTP = nil then
begin
InternetCloseHandle(hNet);
ShowMessage(Format(sHostErr,[strHost]));
Exit;
end;

SetProgressBarCaption(sSettingFld + sFTPPath + '...',TRUE);

{ Change directory }
FtpCreateDirectory(hFTP,PChar(sFTPPath));
bSuccess := FtpSetCurrentDirectory(hFTP, PChar(sFTPPath));

if not bSuccess then
begin
InternetCloseHandle(hFTP);
InternetCloseHandle(hNet);
ShowMessage(Format(sFldErr,[sFTPPath]));
Exit;
end;
hResult := FtpFindFirstFile(hFTP,'*.*',sRec,0,0);
if hResult <> nil then
repeat
if (sRec.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY) then
Inc(iDirNum);
until not InternetFindNextFile(hResult,@sRec)
else
iDirNum := 2;



FTPProgress.MaxValue := iFilesCount;
SetProgressBarVal(0);

FtpCreateDirectory(hFTP,PChar(IntToStr(iDirNum)));
FtpSetCurrentDirectory(hFTP,PChar(IntToStr(iDirNum)));

if FindFirst(sSourceDir + '*.*', faAnyFile, SR) = 0 then
begin
repeat
Application.ProcessMessages;
if (SR.Attr <> faDirectory) then
begin
FtpPutFile(hFTP,
PChar(sSourceDir + SR.Name),
PChar(SR.Name),
FTP_TRANSFER_TYPE_BINARY,
0);
end;
until FindNext(SR) <> 0;
FindClose(SR);
end;


InternetCloseHandle(hFile);
InternetCloseHandle(hFTP);
InternetCloseHandle(hNet);
Result := True;


end;


-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 10.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 июля 2006 21:12
· Личное сообщение · #3

http://www.yandex.ru/yandsearch?text=%F0%E0%E1%EE%F2%E0+%F1+ftp+%E2+%F 1%E8&stype=www http://www.yandex.ru/yandsearch?text=%F0%E0%E1%EE%F2%E0+%F1+ftp+%E2+%F1%E8&stype=www

http://koders.com/?s=ftp&_%3Abtn=Search&_%3Ala=Cpp&_%3Ali=%2A http://koders.com/?s=ftp&_%3Abtn=Search&_%3Ala=Cpp&_%3Ali=%2A




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 04 августа 2006 09:54
· Личное сообщение · #4

GPL/BSD софта хоть залейся. Посмотри на sourceforge.net - там куча проектов на С и С++, и во многих есть FTP код.



Ранг: 9.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 30 августа 2006 08:25
· Личное сообщение · #5

Вот на диске "Программирование в Delphi глазами ХАКЕРА " нашел:

1d30_30.08.2006_CRACKLAB.rU.tgz - FTP_Server.rar


 eXeL@B —› Программирование —› FTP
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати