Текущий архив: 2006.07.30;
Скачать: CL | DM;
Вниз
Работа с текстовым файлом Найти похожие ветки
← →
Ламот © (2006-07-06 12:15) [0]Добрый день!
Совсем плохой стал - не могу дописать в текстовый файл... пробую так:
procedure TForm1.FormCreate(Sender: TObject);
var s:string;
begin
AssignFile(f,"temp.txt");
if not(FileExists("temp.txt")) then rewrite(f) //если файла не существует - создаем
else
begin
reset(f); // если существует - открываем
while not(EoF(f)) do read(f,s); //переход в конец файла... похоже в этом месте у меня и того - мысль подгуляла...! ((
end;
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
writeln(f,key); //если файл был создан - все нормально отробатывает,
//если файл был открыт и пытаемся дописать:
//Project Project1.exe raised exception class EInOutError with message "I/O error 105". Process stopped.
//Use Step or Run to continue.
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseFile(f);
end;
f описана глобально как f:TextFile;
Если не лепить while - ошибка та же самая и в том же месте...
В справке по reset’y описан пример с чтением из файла, а как дописать?
Зы. сейчас дошёл до того, что если файл существует:
1 открываю его reset’ом
2 читаю все содержимое в буфер
3 закрываю
4 перезаписываю его (rewrite)
5 кидаю обратно содержимое буфера, и после этого уже начинаю дописывать...
Каороче - бред какой-то получается, единственный плюс такого бреда - работает... ))
← →
MBo © (2006-07-06 12:19) [1]используй Append вместо Rewrite
← →
Dmitrij_K (2006-07-06 12:21) [2]AssignFile
If FileExists then Append else Rewrite
Writeln
CloseFile
← →
Ламот © (2006-07-06 12:22) [3]Дякую! )))
Страницы: 1 вся ветка
Текущий архив: 2006.07.30;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.01 c