Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

Закачка файла с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.043 c
2-1177772009
SmallEr
2007-04-28 18:53
2007.05.20
Время из секунд к "человеческому" виду.


1-1174061963
Людмила
2007-03-16 19:19
2007.05.20
Межпрограммное взаимодействие. Собираю идеи.


15-1176889449
Jan1
2007-04-18 13:44
2007.05.20
Украина и Польша будет принимать Евро-20012!!!!


1-1174462919
Dmitry_177
2007-03-21 10:41
2007.05.20
аналог функции malloc из С


15-1177070574
vecna
2007-04-20 16:02
2007.05.20
Кто работал с IBConsole





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский