Помощь - Поиск - Пользователи - Календарь
Полная версия: запись,чтение с файла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Xrymz
есть 2 проги 1 записывает в файл 2-я читает
1 вроде пашет...


uses crt;
const
   n = 7;
type

   TRec = record
   pyhkt,tip:string [31];
   nomer:integer; {o4enka}
   end;

   TBase = array [1..n] of TRec; {6a3a dannix}

   TFile = file of TBase; {Fail}

var
b:TBase;
F:TFile;
i,j : byte;

begin
   clrscr;
   assign(f,'TEST.txt');
   rewrite(f); {otkriv fail dlja zapisi}
   writeln('BBog 6a3bI gaHHbIX ');
   for i := 1 to n do
    with b[i] do begin
       write('Ha3BaHue /7yHKTa Ha3Ha4eHu9| PeuCa : '); readln(pyhkt);
       write('Homep PeuCa : '); readln(nomer);
       write('Tu/7 CaMoJIeTa : ');        readln(tip);
       end;
       writeln;
   write(f, b); {3apis 6azzi v fail}
end.


а вот 2-я читать нехочет немогу понять почему
program AEROFLOT;

uses crt;
const
   n = 7;
type

   TRec = record
   pyhkt,tip:string [31]; 
   nomer:integer; 
   end;

   TBase = array [1..n] of TRec; {6a3a dannix}

   TFile = file of TBase; {Fail}

var
b:TBase;
F:TFile;
i,j : byte;

begin
   clrscr;
   assign(f,'TEST.txt');
   reset(f); {otkrit fail dlja zapisi}
   writeln('BBbIBog 6a3bI gaHHbIX ');
   for i := 1 to n do
    with b[i] do begin
       writeln('/7yHkT : ',i);
       writeln('Tu/7 : ',i);
       writeln('Homep PeuCa : ',i);
       writeln;
       end;
       writeln;
close(f);
readln;
end.
Renbo
почитай тут для начала что ли.

Для начала ты не правильно заносишь в файл свою инфу. У тебя туда только последняя запись заносится из 7.

А там где выводишь на экран - так там вообще нету вывода


for i := 1 to n do
       writeln('/7yHkT : ',i);
       writeln('Tu/7 : ',i);
       writeln('Homep PeuCa : ',i);
       writeln;




это вообще не имеет отношения к файлу. Если ты хотела эти поля вывести, то тебе сперва надо читать запись из файла а потом выводить её поля...
volvo
Цитата
У тебя туда только последняя запись заносится из 7.
Ты когда-нибудь начнешь внимательно читать предыдущие посты, или так и будешь в режиме Write-Only? mad.gif Где, спрашивается, ты увидел то, что я процитировал? Заполняется массив, и потом сразу ВЕСЬ пишется в файл... Это что, запрещено?

Xrymz, файл закрывать после записи в него не забывай... Иначе он может остаться пустым...
Гость
volvo файл запалняеться причем весь...а вот читаться нехочет

for i := 1 to n do
       writeln('/7yHkT : ',pyhkt);
       writeln('Tu/7 : ',tip);
       writeln('Homep PeuCa : ',nomer);
       writeln;


ой.. я не то скопировал.. тут идет

Xrymz
все уже сделал....

если кому надо то вот...
1-я запись в файл
program AEROFLOT;

uses crt;
const
   n = 7;
type

   TRec = record
   pyhkt,tip:string [31]; {imja styd}
   nomer:integer; {o4enka}
   end;

   TBase = array [1..n] of TRec; {6a3a dannix}

   TFile = file of TBase; {Fail}

var
b:TBase;
F:TFile;
i,j : byte;

begin
   clrscr;
   assign(f,'TEST.txt');
   rewrite(f); {otkriv fail dlja zapisi}
   writeln('BBog 6a3bI gaHHbIX ');
   for i := 1 to n do
    with b[i] do begin
       write('Ha3BaHue /7yHKTa Ha3Ha4eHu9| PeuCa : '); readln(pyhkt);
       write('Homep PeuCa : '); readln(nomer);
       write('Tu/7 CaMoJIeTa : ');        readln(tip);
       end;
       writeln;
   write(f, b); {3apis 6azzi v fail}
close(f);
end.


2-я чтение с файла
uses crt;
const
   n = 5;
type

   TRec = record
      pyhkt,tip : string [31]; {imja styd}
      nomer : integer; {o4enka}
   end;

   TBase = array [1..n] of TRec; {6a3a dannix}

   TFile = file of TBase; {Fail}

procedure Print(var b : TBase; var f : TFile); {vvivod infi iz bazi}

var
   i,j : byte;
   tips:string;
begin
   read(f, b); {4tenie iz faila}
   write('BBeguTe Tu/7 CaMoJIeTa : ');
   readln(tips);
   for i := 1 to n do
    with b[i] do begin
       if tips=tip then begin
       writeln('Ha3BaHuE /7yHKTa Ha3Ha4eHu9| PeuCa : ',pyhkt);
       writeln('HoMeP PeuCa : ', nomer);
       end;
    end;
end;

var
   base : TBase;
   baseFile : TFile;

begin
   clrscr;
   assign(baseFile, 'TEST.txt');
   reset(baseFile); {Otkrivaem fail glja 4tenija}
   Print(base, baseFile); {Bbubog infi iz faila}
   close(baseFile); {3akrit fail}
   readln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.