Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.46 MB
Время: 0.018 c
6-1117730133
Дмитрий_05
2005-06-02 20:35
2005.12.18
Свой браузер-чат


2-1133761215
Nemiroff
2005-12-05 08:40
2005.12.18
Размеры окна при разворачивании


2-1132956257
Gala_l
2005-11-26 01:04
2005.12.18
Naity simvol v faile


4-1129788953
Владимир
2005-10-20 10:15
2005.12.18
Как программно получить доступ к Event Log


5-1109751986
ancara
2005-03-02 11:26
2005.12.18
Компонент не ловит WM_KEYDOWN :(





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский