Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
ВнизРабота с текстовыми файлами Найти похожие ветки
← →
sedot (2005-12-01 23:11) [0]Такая задача: необходимо считывать из текстового файла my.txt строки и если в строке будет текст "To:" записать в этот же файл в эту же строку "To: ok".
var
f:textfile;
i:integer;
b:string;
begin
if opendialog.execute then
assignfile (f, my.txt);
reset(f);
while not Eof(f) do begin
readln(f,a);
i:=i+1;
if trim(a)="To:" then begin
b:=trim(a)+" ok";
writeln(f,b,i);
closefile(f);
break;
end;
end;
end.
Пишет на writeln(f,b,i) ошибку i/o 105.
Подскажите где я ошибся.
Спасибо.
← →
system © (2005-12-01 23:52) [1]Попробуй после того как нашел строку:
1) закрыть файл
2) открыть его
3)for j:=0 to i-1 do
readln(F);
write(f,b);
← →
palva © (2005-12-02 00:21) [2]Нет уж, если текстовый файл открыт для чтения (Reset), то записывать туда - не получится, да и что будет со строками, которые лежат ниже? Они наверно исчезнут? По хорошему надо одновременно обрабатывать два файла, один построчно читать, а потом ту же строку записывать во второй файл. Вот здесь можно будет проверить прочитанную строку на нужные символы, а записать уже дополненную.
← →
Германн © (2005-12-02 02:23) [3]Имхо. Нет никаких легальных способов редактировать файл! Кроме, весьма редкого режима "изменить значение одного байта или нескольких последовательно идущих" без изменения их количества.
← →
begin...end © (2005-12-02 08:54) [4]> palva © (02.12.05 00:21) [2]
> Нет уж, если текстовый файл открыт для чтения (Reset), то
> записывать туда - не получится
Справку читать.
← →
Anatoly Podgoretsky © (2005-12-02 09:15) [5]Текстовые файлы можно открыть только или на чтение или на запись, но нельзя на то и другое одновременно.
Да и со вставкой вне зависимости от типов файлов, не возможно вставить в середину, что то более большего размера, для этого надо переписывать весь файл, это же касается практически почти всех других протяженных объектов программирования.
← →
begin...end © (2005-12-02 09:28) [6]А, да, для текстовых я ошибся.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c