Помощь - Поиск - Пользователи - Календарь
Полная версия: считывание из файла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
abobo
извеняюсь за ламерство ..но я никак не могу догнать что у меня нетак в программе..программа считывает из файла все подряд символы.. и собственно должна тормозиться после того как обнаружит EOF но почему то программа считывает только 1/10 часть файла и останавливаеться.. никаких ошибок вроде не выдает.. я узнал какой символ был последним..ето стрелочка показывающая направо.. и код ASCII ее почему то 132 хотя по таблице там совсем другой символ .. пытался посмотреть ето место в файле но ни стрелку , ни тот символ какой должен быть под кодом 132 тоже не нашел..подскажите пожалуйста.. :molitva:
Altair
что значит долден быть последний символ?
код в студию.
volvo
To: abobo
программу и файл, из которого читаешь, присоедини. Ты думаешь, мы телепаты?
abobo
Цитата
что значит долден быть последний символ?
код в студию.


я извеняюсь я немного ошибся высвечиваеться код = 135 по таблице получаеться что ето буква З
Altair
мы ждем твоей программы.
пока слова слова и слова ни о чем. последний символ может быть любым smile.gif
abobo
Цитата
программу и файл, из которого читаешь, присоедини. Ты думаешь, мы телепаты?

файл я сюда не смогу присоеденить.. он сильно большой.. программу попробую.. я еще не разобрался как тут присоединять..
abobo
uses dos,crt;
var c,c2,c3,x,x1,x2,xf,yf,xn,y,y1,y2,yn:integer;
    symbol:char;
    ch:integer;
    file_name:string;
    a:file of char;

procedure openfile(file_name:string);
begin
  assign(a,file_name);
  reset(a);
end;

procedure reading;
begin
  xf:=0;
  yf:=0;
  repeat
  gotoxy(xf,yf);
  if xf = 81 then
  begin
    yf:=yf+1;
    xf:=0;
  end
  else
  begin
    read(a,symbol);
    xf:=xf+1;
  end;
  until EOF;
end;

begin
  x:=0;
  y:=0;
  openfile('black.mp3');
  reading;
  close(a);
  textcolor(15);
  writeln(ch,' : ',symbol);
  write(xf,' : ');
  write(yf );
  readln;
end.
volvo
Наверное, так:
repeat
  ... 
until EOF(a); { <-- "(a)" забыл?}
abobo
Цитата
Наверное, так:

repeat
  ...
until EOF(a); { <-- "(a)" забыл?}


нет .. забыл.. sad.gif может еще что то..?прога начинает но до конца файла не доходит..
volvo
Ты поставь то, что я написал, и тогда программа прочтет весь файл от начала до конца...
abobo
Цитата
Ты поставь то, что я написал, и тогда программа прочтет весь файл от начала до конца...

:thanks: блин точно.. smile.gif благодарствую..я над етой прогой уже неделю бьюсь.. никак не мог в толк взять чего она не работает..спасибо..
Atos
blink.gif А как вообще программа работала??? Разве можно вызывать EOF без параметра? И что она в этом случае будет возвращать?
klem4
Хех, Atos, хороший вопрос ... Оказывается без параметров можно, в FPC и BP7 возвращает FALSE :yes:
volvo
Цитата(Atos @ 31.10.2005 7:01)
blink.gif А как вообще программа работала??? Разве можно вызывать EOF без параметра?  И что она в этом случае будет возвращать?

Внимательно читаем:
Цитата(Turbo Pascal Help)
Eof (function)
Returns the end-of-file status.
Declaration:
Typed or untyped files:
  function Eof(var F): Boolean;
Text files:
  function Eof [ (var F: Text) ]: Boolean;
...
Remarks:
F, if specified, is a text file variable. If F is omitted, the standard file variable Input is assumed. Eof(F) returns True if the current file position is beyond the last character of the file or if the file contains no components; otherwise, Eof(F) returns False.

Еще вопросы? wink.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.