Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2009, 21:12   #11
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

Осталось доделать последнюю функцию - отправка файла с введенным текстом на фтп
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo2.lines.savetoFile('chatsend.txt');//Сохранения файла отправки текста в чат в директории программы
IdFTP1.Put('chatsend.txt','chatsend.txt',true);
Memo2.Lines.Clear;
end;
Получаеться что файл сохраняеться в директории программы, а отправляться не хочет... (принятие файла с фтп работает отлично)
Уже не один сайт перерыл нигде ответ ненашел..
SL1CK вне форума Ответить с цитированием
Старый 27.08.2009, 21:13   #12
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

А если указать полные пути, а не относительные?
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 27.08.2009, 21:20   #13
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

ну один из них должен быть полюбому относительным, а второй который путь на фтп к файлу незнаю как сделать т.к. у разных фтп разный путь ...

думаю может так ?
IdFTP1.Put(+IdFTP1.ChangeDir(Edit4. Text)'chatsend.txt','chatsend.txt', true);
SL1CK вне форума Ответить с цитированием
Старый 27.08.2009, 21:25   #14
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

А если написать так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo2.lines.savetoFile('C:\chatsend.txt');//Сохранения файла отправки текста в чат в директории программы
IdFTP1.Put('C:\chatsend.txt', 'chatsend.txt',true);
Memo2.Lines.Clear;
end;
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 27.08.2009, 21:31   #15
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

опять же сохраняеться на С:\ , а на сервер не отправляеться
SL1CK вне форума Ответить с цитированием
Старый 27.08.2009, 21:33   #16
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Выкладывай тогда полный код....
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 27.08.2009, 21:35   #17
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

Вот -

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdFTP, ExtCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    Label1: TLabel;
    IdFTP1: TIdFTP;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button2: TButton;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure IdFTP1Connected(Sender: TObject);
    procedure IdFTP1Disconnected(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo2.lines.savetoFile('chatsend.txt');//Сохранения файла отправки текста в чат в директории программы
IdFTP1.Put('chatsend.txt',Edit4.Text+'chatsend.txt',true);
Memo2.Lines.Clear;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
IdFTP1.Host:=Edit1.Text;//Адресс сервера
IdFTP1.Port:=21;// Порт сервера
IdFTP1.Username:=Edit2.Text;//Логин юзера
IdFTP1.Password:=Edit3.Text;//Пароль юзера
//idFtp1.Passive := True;
IdFTP1.Connect(true);//Коннект к серверу
//IdFTP1.Login;//Поссылка серверу Логина и Пароля
IdFTP1.ChangeDir(Edit4.Text);//Установка директории
end;

procedure TForm1.IdFTP1Connected(Sender: TObject);
begin
ShowMessage('Соединение успешно!');
Timer1.Enabled := True;
Edit1.Enabled := False;
Edit2.Enabled := False;
Edit3.Enabled := False;
Edit4.Enabled := False;
Button2.Enabled := False;
end;

procedure TForm1.IdFTP1Disconnected(Sender: TObject);
begin
ShowMessage('Соединение потеряно!');
Timer1.Enabled := False;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Timer1.Enabled := False;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
IdFTP1.Get('chattext.txt','chattext.txt',true);
Memo1.lines.loadFromFile('chattext.txt');
end;

end.
SL1CK вне форума Ответить с цитированием
Старый 27.08.2009, 21:44   #18
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

А если опять закоментировать IdFTP1.ChangeDir(Edit4.Text); и попробывать:
1. Отослать (фаил должен отослаться в корень FTP).
2. Если не получилось, то указать полные пути и снова отправить:

Код:
IdFTP1.Put('C:\chatsend.txt', 'chatsend.txt',true);
а) Напомню что FTP капризен к именам файлов и папок. Поэтому значение в Edit4.Text должно быть определёным. (скорее всего трабла имено в этом)
б) Напомню что перемещение по каталогам на FTP идёт через обратный слешь: Admin/Log/1.txt (при условии что все каталоги существуют)
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 27.08.2009, 22:01   #19
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

все заработало!!! спасибо за помощь!
оказалось там что то было с фтп сервером, теперь все отлично работает!)
SL1CK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скинте idFTP пожалуйста Вавел из ГМТУ Общие вопросы Delphi 7 25.06.2009 03:20
idFTP и TreeView vitawt Работа с сетью в Delphi 3 21.02.2009 02:04
Сообщения об ошибках IdFTP hotcooler17 Работа с сетью в Delphi 2 29.01.2009 14:24
Проблема с IDFTP esy Работа с сетью в Delphi 4 04.12.2008 18:22