Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Streams & WinInet, string -> fileStream ->FTP 
V
    Опции темы
djman2006
Дата 5.8.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



Есть переменная типа string. Надо ее содержимое записать в файл и закачать етот файл на ФТП, не пребегая к записи на винчестер.
Использую такой код для заливки файлов на ФТП:
Код

uses Wininet;

var
 FtpHandle,InetHandle: HInternet;


procedure TForm1.Button1Click(Sender: TObject);
var 
 s : string;f:textfile;
begin
   S:=Edit1.Text;
   assign(f,'C:\file.txt');
   rewrite(f);
   writeln(f,s);
   close(f);
InetHandle := InternetOpen(PChar('FTP'), 0, nil, nil, 0);
    FtpHandle := InternetConnect(InetHandle, PChar('ftp.server.com'), 21, PChar('UserName'),
        PChar('Password'), INTERNET_SERVICE_FTP, 0, 255);
     if not Assigned(FtpHandle) then
      InternetCloseHandle(InetHandle)
   else

     try
        FtpPutFile(FtpHandle, PChar('C:\file.txt'), PChar('file.txt'),
        FTP_TRANSFER_TYPE_BINARY, 255);
        except

     end;
  InternetCloseHandle(InetHandle);
end;

Snowy подказал мне что надо юзать Стримы(aka Streams, aka потоки). Но как их прикрутить к ВинИнет я не знаю. И ваабще, возможно ли ето?

Это сообщение отредактировал(а) djman2006 - 5.8.2007, 21:44
PM MAIL   Вверх
MetalFan
Дата 5.8.2007, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



какой ужас!!! кто тебя научил писать код в одну строку??????? никакого желания ломать глаза не возникло при просмотре кода...

Добавлено @ 20:58
>записать в файл и закачать етот файл на ФТП, не пребегая к записи на винчестер.
ничо не понимаю

Это сообщение отредактировал(а) MetalFan - 5.8.2007, 21:03


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
djman2006
Дата 5.8.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



Цитата

какой ужас!!! кто тебя научил писать код в одну строку??????? никакого желания ломать глаза не возникло при просмотре кода...

Где ты такое выдел??? Нормально я пишу...
Цитата

ничо не понимаю

Что не понимаешь? Что можно записать строку в файл? Или что можно загрузить етот файл на ФТП? Или что можно записать строку прям в файл на ФТП не пребегая к записи на винт?

Задам вопрос по иному: Как записать строку в текстовый файл на ФТП сервере ?

Это сообщение отредактировал(а) djman2006 - 5.8.2007, 21:50
PM MAIL   Вверх
Snowy
Дата 5.8.2007, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Через FtpPutFile не получится.
Юзай FtpOpenFile и InternetWriteFile.
Им и стрим не нужен - можно прямо string и слать.
PM MAIL   Вверх
Sanchezzz
Дата 5.8.2007, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



 не как ,через FtpPutFile() и- указывает от куда брать файл и как сохранить его на сервер юзай idFTP из INDY или ICS  примеров валом и тем на форуме.



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
djman2006
Дата 6.8.2007, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



Цитата

юзай idFTP из INDY или ICS  примеров валом и тем на форуме.

только WinInet  smile 
Цитата

Юзай FtpOpenFile и InternetWriteFile.

Спс. Ето уже кое-что  smile 
Гм..  у FtpOpenFile нет флага чтобы он , если открываемого файла нет на сервере, создал етот файл. Так как же все-таки создать етот дурацкий файл(записать в него я уже умею)?
PM MAIL   Вверх
djman2006
Дата 6.8.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



Кароче я понял, создать директорию на ФТП можно, файл - нет.
Вопрос уже не актуален. Тема.Closed
PM MAIL   Вверх
Snowy
Дата 7.8.2007, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(djman2006 @  6.8.2007,  21:49 Найти цитируемый пост)
Кароче я понял, создать директорию на ФТП можно, файл - нет.
Странная логика.
Видать демоны линукса нашептали...
Утверждение = false  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0520 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.