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

Вниз

Работа с текстовыми файлами   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
1-1132204080
pAhA
2005-11-17 08:08
2005.12.18
Как можно определить активно ли окно приложения?


4-1129564766
GEN++
2005-10-17 19:59
2005.12.18
Как узнать кто убит/родился


2-1133442664
Pil
2005-12-01 16:11
2005.12.18
Можно ли обратиться к свойствам компонента через форму?


2-1133604147
kop
2005-12-03 13:02
2005.12.18
ado


14-1132826684
Аноним
2005-11-24 13:04
2005.12.18
Депресняк или здравый смысл?