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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2014, 08:54   #1
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию Редактирование тхт файла лежащий на фтп сервере

В общем такая проблема!Есть тхт файл он лежит на фтп сервере в нем все лишь две строчки.Так вот нужно чтоб первая строчка была в первом едите вторая во втором едите!И при редактировании текста в едите редактировался сам тхт файл на сервере.
mitiay вне форума Ответить с цитированием
Старый 29.07.2014, 09:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С потолка:
Код:
var st:TStringStream;
begin
 st:=Tstringstream.Create('');
 try
  idftp.connect;
  idftp.get('/file',st);
  with TStringList.Create do begin
    Text:=st.DataString;
    if Count>0 then Edit1.Text:=Strings[0];
    if Count>1 then Edit2.Text:=Strings[1];
    free;
  end;
 except
   on e:Exception do showMessage(e.message);
 end;
st.free;
end;
Используя INDI IdFTP. Ему указывается Хост, пароль и логин.
Смысл: Файл считывается в стрим, стрим в массив строк. Ну а с массивом строк уже в эдите работать надо
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.07.2014, 10:41   #3
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
С потолка:
Код:
var st:TStringStream;
begin
 st:=Tstringstream.Create('');
 try
  idftp.connect;
  idftp.get('/file',st);
  with TStringList.Create do begin
    Text:=st.DataString;
    if Count>0 then Edit1.Text:=Strings[0];
    if Count>1 then Edit2.Text:=Strings[1];
    free;
  end;
 except
   on e:Exception do showMessage(e.message);
 end;
st.free;
end;
Используя INDI IdFTP. Ему указывается Хост, пароль и логин.
Смысл: Файл считывается в стрим, стрим в массив строк. Ну а с массивом строк уже в эдите работать надо
Это понятно!Сделал как вы написали,но вопрос как он редактироваться будет?Как я понимаею нужно както сохранить файл и потом им заменить файл на сервере?ПОМОГИТЕ ПЛЗ!
mitiay вне форума Ответить с цитированием
Старый 29.07.2014, 11:13   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Верно. И в этом тебе поможет тот же Стирим и метод Put
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.07.2014, 11:23   #5
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Как указать путь до программы(папка где она запущена?)
s.SaveToFile(ExtractFilePath(Applic ation.ExeName));
Пишет не удалось найти указанный путь
mitiay вне форума Ответить с цитированием
Старый 29.07.2014, 11:37   #6
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Надо так:
Код:
s.SaveToFile(ExtractFilePath(Application.ExeName)+'\имя_файла.txt');
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 29.07.2014, 11:42   #7
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

idftp1.Put('/public_html/key.txt',(ExtractFilePath(Applicati on.ExeName)+'key.txt'),true;
Здесь что не так?)
mitiay вне форума Ответить с цитированием
Старый 29.07.2014, 21:53   #8
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от mitiay Посмотреть сообщение
idftp1.Put('/public_html/key.txt',(ExtractFilePath(Applicati on.ExeName)+'key.txt'),true;
Здесь что не так?)
Мозг включи!
Код:
procedure Put(const ASource: TStream; const ADestFile: string = '';
     const AAppend: boolean = false); overload;
    procedure Put(const ASourceFile: string; const ADestFile: string = '';
     const AAppend: boolean = false); overload;
Вот тебе описание метода в классе. Подумай и решишь.
А проще будет сказать. ASource - это то, что ты хочешь отправить. ADestFile - это имя файла на сервере. AAppend отвечает за поддержку докачки.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 29.07.2014, 21:55   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не понял... А где мой пост? О_о
Чудеса... Ладно продублирую:
Код:
idftp1.Put('/public_html/key.txt',ExtractFilePath(Application.ExeName)+'key.txt',true);
Ошибка банальна - не там стоит скобка. А тебе надо быть внимательнее
И текст ошибки скрывают только партизанины - запомни.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление файла на фтп ramzes777 Работа с сетью в Delphi 5 02.10.2011 22:06
Ошибка отправки файла на фтп Crunkordie Общие вопросы Delphi 3 20.07.2011 08:39
Массовое редактирование тхт файлов Tvitvi PHP 3 06.05.2010 20:51
Скачивание случайного файла с фтп snooppy Работа с сетью в Delphi 8 16.10.2008 11:36
Проверка нового файла на ФТП Aleksei Работа с сетью в Delphi 11 10.05.2008 22:26