Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > RichEdit


Автор: Kirgston 11.6.2008, 21:21
Ребята. Надо вашу помощ. Как мне заставить чтоб Рич создавал файлик по особому. Тоисть мой текст + текст из файла. Сижу блин и никак немогу придумать. 

Автор: mr.Anderson 12.6.2008, 08:37
Пиши в файл вручную. Открываем через AssignFile-Rewrite, пишем свое что-то, потом дописываем текст из файла.

Автор: THandle 12.6.2008, 09:55
Цитата(mr.Anderson @  12.6.2008,  09:37 Найти цитируемый пост)
Открываем через AssignFile-Rewrite


Ну зачем такие древности использовать?

Можно так:

Сохраняем по нажатию кнопки текст в RichEdit, а после него текст из какого-то файла 1.txt. Сохраняется все в файл 2.txt.


Код

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TStringList.Create do
    begin
      LoadFromFile('D:\1.txt');
      Insert(0, RichEdit1.Text);
      SaveToFile('D:\2.txt');
      Free;
    end;
end;

Автор: Данкинг 12.6.2008, 10:26
Цитата(THandle @  12.6.2008,  10:55 Найти цитируемый пост)
Ну зачем такие древности использовать?

Такие древности зачастую весьма удобны бывают! smile 

Автор: pseud 12.6.2008, 10:33
Цитата(Данкинг @  12.6.2008,  10:26 Найти цитируемый пост)
Такие древности зачастую весьма удобны бывают! 


раздел: Delphi: Для новичков
поэтому чем понятнее - тем лучше.
а что быстрее / надежнее / и пр. - не по адресу

Автор: Данкинг 12.6.2008, 10:54
Цитата(pseud @  12.6.2008,  11:33 Найти цитируемый пост)
поэтому чем понятнее - тем лучше.

А что непонятного в выводе/вводе в текстовый файл? smile По-моему, такие темы как раз в начале любого учебника по Дельфи публикуют. smile 

Автор: mr.Anderson 12.6.2008, 10:55
THandle, это не древности, а чистый паскалевский код. Оба варианта вполне работоспособны и равнозначны, а вариант через AssignFile-Rewrite еще и быстрее. Оба одинаково просты, первый, я бы даже сказал, проще, т.к. опять-таки это практически чистый паскаль, в отличие от дельфовой оболочки.

Добавлено через 29 секунд
ЗЫ На вкус и цвет, конечно.

Автор: pseud 12.6.2008, 12:16
Цитата(mr.Anderson @  12.6.2008,  10:55 Найти цитируемый пост)
 т.к. опять-таки это практически чистый паскаль


данкингу я говорил 
Delphi: Для новичков

тебе скажу инче
Delphi: Для новичков

 smile 

Автор: Kirgston 12.6.2008, 12:23
Хммм  smile с AssignFile-Rewrite smile 

Автор: Данкинг 12.6.2008, 12:44
Ну, пожалуйста: если новичкам проще изучать язык (среду) программирования дедуктивным методом, то это их право. smile 

И всё же, чтение из файла:

Код

var txt:string;
fff: TextFile;
begin
   assignfile(fff,'c:\aaa.txt');
   reset(fff);
   readln(fff,txt);
   Closefile(fff);
end;


Таким образом, первая строчка файла оказывается в переменной TXT, а указатель позиции в файле смещается на следующую строчку.

Автор: pseud 12.6.2008, 13:31
Данкинг, а можно весь код по сабжу:
Цитата(Kirgston @  11.6.2008,  21:21 Найти цитируемый пост)
Ребята. Надо вашу помощ. Как мне заставить чтоб Рич создавал файлик по особому. Тоисть мой текст + текст из файла. Сижу блин и никак немогу придумать. 

 smile 
для сравнения с размерами кода написанного THandle.

Автор: Данкинг 12.6.2008, 13:43
Цитата(pseud @  12.6.2008,  14:31 Найти цитируемый пост)
для сравнения с размерами кода написанного THandle.

4 строчки VS 4 строчки. smile  Плюс ещё with. smile

Добавлено @ 13:44
Цитата(pseud @  12.6.2008,  14:31 Найти цитируемый пост)
Данкинг, а можно весь код по сабжу:

Весь код чего? Код считывания я привёл, а больше ничего и не требовалось! smile 
Впрочем, для считывания файла целиком цикл нужен, согласен. Но если считываемый файл большой, то можно кинуть прогрессбар для отображения процесса считывания... Чего нельзя сделать при .loadfromfile !

Автор: THandle 12.6.2008, 14:01
Мое мнение: в Делфийском коде не должно быть чисто паскалевского кода если того не требует задача. Я для работы с файлами использую TFileStream, TStringList.

К тому же, сам RichEdit, его Lines реализованы через TStrings, наследником которого и является TStringList.


Цитата(Данкинг @  12.6.2008,  13:44 Найти цитируемый пост)
var txt:string;
Код

fff: TextFile;
begin
   assignfile(fff,'c:\aaa.txt');
   reset(fff);
   readln(fff,txt);
   Closefile(fff);

end;


Это ни капли не аналог моего кода. 
У меня эти строки сохраняют в файл и то что находится в TStringList, который загрузил файл, и то что находится в RichEdit.

Паскалевский код который это реализует будет раза в два длиннее, и будет менее красиво выглядеть.
Какие то там процедурки...
Delphi - это прежде всего ООП. И в данном случае намного использовать класс TStringList.


Автор: pseud 12.6.2008, 14:06
Цитата(Данкинг @  12.6.2008,  13:43 Найти цитируемый пост)
Впрочем, для считывания файла целиком цикл нужен, согласен


THandle, поддерживаю.

Данкинг, я имел ввиду весь код, приведенный THandle. а он у тебя получится в разы длиннее.

скорость, прогресс бар и прочее - это уже гаджеты.

код THandle короток и ясен.

Автор: Данкинг 12.6.2008, 14:19
Цитата(pseud @  12.6.2008,  15:06 Найти цитируемый пост)
код THandle короток и ясен. 

Но пользоваться уметь надо и тем, и тем! smile 

Автор: pseud 12.6.2008, 14:31
Цитата(Данкинг @  12.6.2008,  14:19 Найти цитируемый пост)
Но пользоваться уметь надо и тем, и тем!

тут ты прав на 100%

Автор: Данкинг 12.6.2008, 16:26
Цитата(pseud @ 12.6.2008,  15:31)
Цитата(Данкинг @  12.6.2008,  14:19 Найти цитируемый пост)
Но пользоваться уметь надо и тем, и тем!

тут ты прав на 100%

На том и порешим! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)