Показать сообщение отдельно
  #1  
Старый 05.11.2013, 00:12
vortur vortur вне форума
Прохожий
 
Регистрация: 02.11.2013
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию переход строки в Memo

Записываю в компонент Memo текст из файла.
В файле текст идёт доупстим тремя строка но в Memo он выводиться одной.
Попробовал два варианта перевода строки но компилятор пишет access violation at address. Вопрос как сохранить структуру текста или что я делаю не так?

Записываю так же через Memo. При записи 1-ой строки всё хорошо. Вторую строку тоже могу ввести, но если начинаю сразу писать (курсор по базе на новой строке). Если использую энтер то при последующем обращении выдаёт ошибку, выводит текст но уже не даёт сохранить новое значение.

Код:
while s[1]<>'#' do
    begin
        Memo1.text:=memo1.Text+s;
        memo1.Text:=memo1.text+#13#10;
        readln(f,s);
    end;

Код:
 while s[1]<>'#' do
    begin
        Memo1.lines.Add(s);
        readln(f,s);
    end;
Записываю так
Код:
procedure TForm3.Button1Click(Sender: TObject);
var f,f2:textfile;
s:string;
prov:boolean;
begin
assignfile(f,'table\czt.txt');
reset(f);
assignfile(f2,'table\temp.txt');
rewrite(f2);
prov:=true;
while not eof(f) do
begin
    readln(f,s);
    writeln(f2,s);
    if copy(s,2,10)=datetostr(data) then
    begin
    writeln(f2,memo1.text);
    writeln(f2,'#');
    prov:=false;
    readln(f,s);
    while s[1]<>'#' do
    readln(f,s);
    end;
end;
if prov=true then
begin
writeln(f2,'#'+datetostr(data));
writeln(f2,memo1.text);
writeln(f2,'#');
end;
closefile(f);
closefile(f2);
deletefile('table\czt.txt');
renamefile('table\temp.txt','table\czt.txt');
form3.Hide;
form1.show;
end;

содержимое файла после этих действий
#19.11.2013
1
2

#

p.s. За совет как оптимизировать вставку текста посередине файла не путём записи в левый файл тоже спасибо))
Ответить с цитированием