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

Вниз

Закачка файла с ftp-сервера   Найти похожие ветки 

 
Helen   (2006-11-15 10:54) [0]

Добрый день! Пытаюсь скопировать файл с ftp-сервера двумя способами, и не один не проходит.

1: средствами WinInet, при использовании функции FtpFindFirstFile(MyFTP, PChar(FileName), sRec, 0, 0) не могу понять какого типа должна быть sRec. Может туплю?

2: средствами Indy, сначала все нормально: коннектится, делается
  MyFTP.List(FielList, "*.dbf", false),
  а MyFTP.Get(FileList.Strings[i], "c:\Test\"+IntToStr(i)+".dbf"); не проходит


 
Dmitrij_K   (2006-11-15 11:09) [1]

1. Тупишь
sRec:TWin32FindData;
2. Что говорит компилятор или программа?

ЗЫ
этими двумя способами должно работать
просто у тебя ошибка в программе на 17й строке


 
Helen   (2006-11-15 11:11) [2]

Компилятор говорит : Undeclared identifier: "TWin32FindData"


 
Dmitrij_K   (2006-11-15 11:14) [3]

uses Windows;


 
Dmitrij_K   (2006-11-15 11:18) [4]

only for you
ftp download
http://forum.vingrad.ru/index.php?showtopic=55273&view=findpost&p=439445


 
Helen   (2006-11-15 11:26) [5]

Спасибо! Спасибо! Спасибо!
uses Windows помогло, а я так долго искала, где же описана структура _WIN32_FIND_DATA


 
Helen   (2006-11-15 11:30) [6]

А насчет http://forum.vingrad.ru/index.php?showtopic=55273&view=findpost&p=439445, именно с этого примера я и начала. Только вот еще вопрос, почему нужно открывать файл и записывать его частями, нет ли какой-нить функции типа CopyFile, чтобы сразу весь?


 
SpellCaster   (2006-11-15 11:31) [7]

> [5] Helen   (15.11.06 11:26)

Виндовый поиск файла *.pas, содержащего текст WIN32_FIND_DATA, помог бы тебе за две минуты.


 
Сергей М. ©   (2006-11-15 11:31) [8]


> я так долго искала, где же описана структура _WIN32_FIND_DATA


Надо было просто поручить опер.системе выполнить поиск)

Меню Пуск -> Найти ... -> Файлы, имеющие расширение *.pas и содержащие такой-то текст


 
umbra ©   (2006-11-15 11:32) [9]

а в инди то что "не проходит"?


 
Helen   (2006-11-15 11:35) [10]

В Indy не проходит само копирование файла: MyFTP.Get(FileList.Strings[i], "c:\Test\"+IntToStr(i)+".dbf");
Но мне лучше пользоваться WinInet, т.к. пишу консольное приложение и весит оно в этом случае намноого меньше, чем с Indy.


 
iXT   (2006-11-15 11:50) [11]

Helen   (15.11.06 10:54)  

Helen   (15.11.06 11:35) [10]

Как девушкам все хотят помочь :)


 
Helen   (2006-11-15 12:37) [12]

И это замечательно!!!


 
Anatoly Podgoretsky ©   (2006-11-15 13:47) [13]

> Helen  (15.11.2006 12:37:12)  [12]

А как же :-)


 
iXT   (2006-11-15 17:05) [14]


> Helen   (15.11.06 12:37) [12]

Так я разве против?


 
Helen   (2006-11-16 11:14) [15]

В продолжение темы. Объясните неразумной, что не так делаю:

 hFind:=FtpFindFirstFile(hFTP, PChar("*.dbf"), sRec, 0, 0);
 repeat
    ...  
 until InternetFindNextFile(hFind, @sRec);

почему не ищется следующий файл?


 
Dmitrij_K   (2006-11-16 12:04) [16]

Для начала надо проверять результат FtpFindFirstFile
hFind:=FtpFindFirstFile
if hFind<>nil then
repeat
until InternetFindNextFile


 
Helen   (2006-11-16 12:08) [17]

Да, у меня есть все проверки и hFind<>nil. Просто не стала весь код писать.


 
Anatoly Podgoretsky ©   (2006-11-16 12:13) [18]

> Helen  (16.11.2006 11:14:15)  [15]

Не надо ли not добавить

until not InternetFindNextFile(hFind, @sRec);

А оно точно boolean возвращает, есть большое сомнение.


 
Helen   (2006-11-16 12:24) [19]

по документации должно возвращать Boolean


 
Anatoly Podgoretsky ©   (2006-11-16 13:06) [20]

> Helen  (16.11.2006 12:24:19)  [19]

Мне казалось это не функция Дельфи, или это из Инди?


 
Helen   (2006-11-16 14:18) [21]

Это не из Инди, это из WinInet.


 
Сергей М. ©   (2006-11-16 14:39) [22]


> Helen   (16.11.06 14:18) [21]


Ты про not вникла ?


 
Helen   (2006-11-16 14:56) [23]

Разобралась, просто в цикле не все хендлы закрыла.


 
Anatoly Podgoretsky ©   (2006-11-16 16:48) [24]

> Helen  (16.11.2006 14:18:21)  [21]

Отлично, это я хотел из тебя вытянуть, в Windows АПИ нет типа Boolean, только производные до Bool
С Bool лучше работать так Bool =/<> False тогда гарантируется правильность во всех случаях и не в коих случаяч не с True



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

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

Наверх




Память: 0.51 MB
Время: 0.052 c
15-1177321274
db2admin
2007-04-23 13:41
2007.05.20
Может создать раздел "работа" на форуме Мастера дельфи?


15-1176984232
vajo
2007-04-19 16:03
2007.05.20
Поиск фотографий


2-1177671216
bubec
2007-04-27 14:53
2007.05.20
проблема с Timаge


15-1177320100
Yanis
2007-04-23 13:21
2007.05.20
Посмеялся :)


15-1176874493
homm
2007-04-18 09:34
2007.05.20
Кодировка: PHP MySQL