Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с файлами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
klem4
Есть типизированный файл f of char , заполненный символами, во второй файл
g в него нужно записать , сохраняя исходную последоватльность те символы файла f, которые идут перед символом 'a'

заполнения файла f
procedure FillFile(var FF:file of char);
var
   ch:char;
begin
   repeat
       ch:=readkey;
       writeln(ch);
       if ch in [#65..#97] then
        write(f,ch);
   until ch=#13;
end;


и процедура, которая не работает, если ввести в файл f символы sa
то после прочтения s возвращает false в проверке if not Eof(FF) then

тоесть перед прочтением символа 'a'. Это правильно ?

procedure ChekFile2(var FF,GG:file of char);
var
   old,next:char;
begin
   while not(Eof(FF)) do begin
       read(FF,old);
       if not Eof(FF) then
        read(FF,next);
       if next='a' then
        write(GG,old);
   end;
end;
volvo
Цитата(klem4 @ 5.07.05 13:26)
процедура, которая не работает, если ввести в файл f символы sa то после прочтения s возвращает false в проверке if not Eof(FF) then

тоесть перед прочтением символа 'a'. Это правильно ?

Нет... А ты что, считаешь что 's' будет вообще записан в первый файл? Вообще-то 's' это #115, у тебя же там интервал другой стоит...
klem4
конечно! Естественно нужно [#97..#122]... поставил сначала не подумав, не знаю почему мне те цифры в голову взбрели smile.gif)))

спасибо smile.gif
volvo
Вот тебе преимущество такой записи:
if ch in ['a' .. 'z'] then

и не было бы ошибки :P
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.