Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

Запись строки в файл   Найти похожие ветки 

 
Лана Розанова ©   (2003-05-19 07:59) [0]

Такой код на строке Write выдает ошибку I/O error 105. Мне надо в файле заменить одну строку. Может я что-то не так делаю? Помогите. СПАСИБО!!! procedure TMyForm.Replace_line;var sPage, sLin:string; iW:integer; FPage:TextFile;begin(dirwww+"\reportweb\"+FileName+".htm"); AssignFile(FPage,dirwww+"\reportweb\"+FileName+".htm"); {$I-} Reset(FPage); {$I+} iW:=0; while iW<>600 do begin Readln(FPage,sPage); sLin:=copy(sPage,1,5); if sLin="<body" then begin sPage:=SN_WEBPAGE_BACKGROUND; Write(FPage,sPage); Break; end; inc(iW); end; CloseFile(FPage);end;


 
MBo ©   (2003-05-19 08:15) [1]

чтобы сделать замену в текстовом файле, надо писать измененное в новый файл.
Reset - открывает файл Только На Чтение


 
sniknik ©   (2003-05-19 08:21) [2]

из описания Reset в хелпе
.....
procedure Reset(var F [: File; RecSize: Word ] );
....
If F is a text file, F becomes read-only.
....

замени его на Append, или тип файла поменяй.


 
Лана Розанова ©   (2003-05-19 08:25) [3]

А как заменить строку на необходимой позиции, например строку 233?


 
MBo ©   (2003-05-19 08:31) [4]

Если файл не слишком велик (не сотня мег), проще всего считать его в TStringList, заменить строку и записать назад


 
sniknik ©   (2003-05-19 08:42) [5]

а чтобы работало быстрее читать и писать через BlockRead/ BlockWrite строки считать по #13#10.

вся байда изза того что текст не типизированный файл, (запись не имеет стандартного размера)
"" - строка. "xxxx x x x xxxxxxxxx " тоже. и как заменить в середине файла первую на вторую? она же следующую перетрет. поэтому и можно только перезапись в новый файл.



Страницы: 1 вся ветка

Текущий архив: 2003.05.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-94886
viol-2
2003-05-16 15:19
2003.05.29
Память как диск


3-94735
Andrey Filatow
2003-05-08 16:30
2003.05.29
Фильтрация в TQuery


1-94864
pirat
2003-05-19 22:20
2003.05.29
Как загрузить и использовать xml файл через MSXML ?


3-94764
rosl
2003-05-12 03:26
2003.05.29
открыть excel


14-95053
Дмитрий К.К.
2003-05-08 05:52
2003.05.29
Именинники 8 мая