![]() |
#9 |
Moderator
|
Так и не разобрался как перебрать файлы c ftp из Аксапты, напишу все что нашел - может кому-нибудь пригодится.
Из приведенной ссылки понял что надо реализовать 2 метода FtpFindFirstFile и FtpFindNextFile, нашел пример на С++: X++: if(hConnect){ cout<<"begin transfer……"<<endl; find=::FtpFindFirstFile(hConnect,ftpDir,&data,INTERNET_FLAG_RELOAD,0); cout<<"begin?-->"<<data.cFileName<<endl; while(::InternetFindNextFile(find,&data)){ CString tempFtp=ftpDir; CString tempLocal=localDir; cout<<"file:"<<data.cFileName<<endl; X++: WIN32_FIND_DATA FileData; X++: _internetReadFile = new DLLFunction(_winInet,"InternetReadFile"); _internetReadFile.returns(ExtTypes::DWORD); _internetReadFile.arg(ExtTypes::DWORD); _internetReadFile.arg(ExtTypes::POINTER); _internetReadFile.arg(ExtTypes::DWORD); _internetReadFile.arg(ExtTypes::Pointer); X++: str internetReadFile(int hdl) { Binary _buffer = new Binary(2048); Binary _bytesRead = new Binary(4); str result; boolean ret; int done = 0; while (! done) { ret = _internetReadFile.call(hdl,_buffer,2000,_bytesRead); if ((! _bytesRead.dWord(0)) || (! ret)) done = 1; else { result += subStr(_buffer.string(0),1,_bytesRead.dWord(0)); } } return ret ? result : ""; } Затем стал искать примеры на С# - нашел замечательный код. Просто вставил его в консольный проект и сразу получил список директорий с ftp://mirror.yandex.ru/. |
|
Теги |
ftp |
|
![]() |
||||
Тема | Ответов | |||
работа по FTP | 9 | |||
Ax2009 Название файла при создании dbf | 2 | |||
Сохранение файла на FTP | 1 | |||
FTP в AX4 | 14 |
|