Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизЗапись строки в файл Найти похожие ветки
← →
Лана Розанова (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c