2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Паскаль,динамическая база данных с объектами
Сообщение21.11.2012, 14:48 
Здравствуйте!У меня проблема при переделке динамической базы данных в объектную.Компилятор ругается на неопределенное опережающее описание(ошибка 59).В интернете я нашел по поводу этой ошибки лишь то, что она чаще всего связана с модулями и с отсутствием определения.Не могли бы вы подсказать,как решить эту проблему?
При просмотре листинга в самом редакторе pascal кракозябры пропадут -
Код:
uses graph,crt;

{********************’š¯ë****************************}
type
  dat = record
      fam,nam,ot:string[10];
  end;

   Tchel = OBJECT
    prep,stud:dat;
    d,m,g:integer;
   END;

  stroka = ^Tinfa;

   Tinfa = OBJECT(Tchel)
      nom,adr,tema:string[15];
    next:stroka;
     procedure init;

   END;


{*********************Š®­áâ ­âë***********************}

    const menu:array[1..6] of string=('‚¢®€ € ­­ëå','Š®à४âšà®¢ª  € ­­ëå',
    '¥ç âì € ­­ëå','Ž¡à ¡®âª  € ­­ëå','¥ç âì १ã«ìâ â®¢','Š®­¥æ à ¡®âë');
{********************¥à¥¬¥­­ë¥***********************}
    var
    gd:integer;
    gm:integer;
    i:integer;
    y:integer;
    n:integer;
    ch:char;

{********************à®æ¥€ãàë***********************}
Procedure Add_stroka (Var first : stroka; f :Tinfa);
          Var
          p,q : stroka;
Begin
     new (p);
     p^:=f;
     p^.next:=nil;
     if first=nil then
        first:=p
     else
         begin
              q:=first;
              While q^.next<>nil do
                    q:=q^.next;
              q^.next:=p;
         end;
End;

procedure init;
var s:string;
    b:Tinfa;
    f:text;
    d:integer;
    a:stroka;
begin
     closegraph;
     assign(f,'mih.txt');
     writeln('‚ë¡¥àšâ¥:');
     writeln('¢¢®€ € ­­ëå á ª« ¢šâãàë / çâ¥­š¥ € ­­ëå š§ ä ©«  -> 1/2');
     readln(d);
     if d=1 then
        begin
             rewrite(f);
             writeln('‚¢¥€šâ¥ € ­­ë¥:');
                              repeat
                                    n:=n+1;
                                    writeln('‚¢¥€šâ¥ ”ˆŽ ',n,' £® áâ〥­â ');
                                    writeln('” ¬š«šï');
                                    readln(b.stud.fam);
                                    writeln(f,b.stud.fam);
                                    writeln('ˆ¬ï');
                                    readln(b.stud.nam);
                                    writeln(f,b.stud.nam);
                                    writeln('Žâç¥á⢮');
                                    readln(b.stud.ot);
                                    writeln(f,b.stud.ot);
                                    writeln('‚¢¥€šâ¥ € âã ஊ€¥­šï ',n,' £® áâ〥­â ');
                                    writeln('‚¢¥€šâ¥ €¥­ì');
                                    readln(b.d);
                                    writeln(f,b.d);
                                    writeln('‚¢¥€šâ¥ ¬¥áïæ');
                                    readln(b.m);
                                    writeln(f,b.m);
                                    writeln('‚¢¥€šâ¥ £®€');
                                    readln(b.g);
                                    writeln(f,b.g);
                                    writeln('‚¢¥€šâ¥ ­®¬¥à £à㯯ë ',n,' £® áâ〥­â ');
                                    readln(b.nom);
                                    writeln(f,b.nom);
                                    writeln('‚¢¥€šâ¥  €à¥á ',n,' £® áâ〥­â ');
                                    readln(b.adr);
                                    writeln(f,b.adr);
                                    writeln('‚¢¥€šâ¥ ­ ãç­®£® à㪮¢®€šâ¥«ï ',n,' £® áâ〥­â ');
                                    writeln('” ¬š«šï');
                                    readln(b.prep.fam);
                                    writeln(f,b.prep.fam);
                                    writeln('ˆ¬ï');
                                    readln(b.prep.nam);
                                    writeln(f,b.prep.nam);
                                    writeln('Žâç¥á⢮');
                                    readln(b.prep.ot);
                                    writeln(f,b.prep.ot);
                                    writeln('‚¢¥€šâ¥ ⥬ã ',n,' £® áâ〥­â ');
                                    readln(b.tema);
                                    writeln(f,b.tema);
                                    add_stroka(a,b);
                                    writeln(f);
                                    writeln('à®€®«Ššâì ¢¢®€? y/n');
                                    readln(s);
                              until s='n';
                              close(f);
        end;
     if d=2 then
        begin
             assign(f,'mih.txt');
             reset(f);
             while not eof(f) do
                   begin
                        readln(f,b.stud.fam);
                        readln(f,b.stud.nam);
                        readln(f,b.stud.ot);
                        readln(f,b.d);
                        readln(f,b.m);
                        readln(f,b.g);
                        readln(f,b.nom);
                        readln(f,b.adr);
                        readln(f,b.prep.fam);
                        readln(f,b.prep.nam);
                        readln(f,b.prep.ot);
                        readln(f,b.tema);
                        add_stroka(a,b);
                        readln(f);
                   end;
             close(f);
        end;
     gd:=detect;
     initgraph(gd,gm,'');
end;


procedure korr(var a:stroka);
var k,n:integer;
    p:stroka;
    b:Tinfa;
begin
     closegraph;
     writeln('‚¢¥€šâ¥ ­®¬¥à § ¯šáš €«ï ª®à४âšà®¢ªš :');
     readln(k);
     n:=1;

     p:=a;
     While (p<>nil)and(n<k) do
           begin
                n:=n+1;
                p:=p^.next;
           end;
     if (k<=n)and(k>0) then
        begin
             writeln('‚¢¥€šâ¥ ä ¬š«šî ',k,' £® áâ〥­â ');
             write(p^.stud.fam,' -> '); readln(p^.stud.fam);
             writeln('‚¢¥€šâ¥ š¬ï ',k,' £® áâ〥­â ');
             write(p^.stud.nam,' -> '); readln(p^.stud.nam);
             writeln('‚¢¥€šâ¥ ®âç¥á⢮ ',k,' £® áâ〥­â ');
             write(p^.stud.ot,' -> '); readln(p^.stud.ot);
             writeln('‚¢¥€šâ¥ € âã ஊ€¥­šï ',k,' £® áâ〥­â ');
             writeln('‚¢¥€šâ¥ €¥­ì');
             write(p^.d,' -> ');readln(p^.d);
             writeln('‚¢¥€šâ¥ ¬¥áïæ');
             write(p^.m,' -> ');readln(p^.m);
             writeln('‚¢¥€šâ¥ £®€');
             write(p^.g,' -> ');readln(p^.g);
             writeln('‚¢¥€šâ¥ ­®¬¥à £à㯯ë ',k,' £® áâ〥­â ');
             write(p^.nom,' -> ');readln(p^.nom);
             writeln('‚¢¥€šâ¥  €à¥á ',k,' £® áâ〥­â ');
             write(p^.adr,' -> ');readln(p^.adr);
             writeln('‚¢¥€šâ¥ ­ ãç­®£® à㪮¢®€šâ¥«ï ',k,' £® áâ〥­â ');
             writeln('” ¬š«šï');
             write(p^.prep.fam,' -> ');readln(p^.prep.fam);
             writeln('ˆ¬ï');
             write(p^.prep.nam,' -> ');readln(p^.prep.nam);
             writeln('Žâç¥á⢮');
             write(p^.prep.ot,' -> ');readln(p^.prep.ot);
             writeln('‚¢¥€šâ¥ ⥬ã ',k,' £® áâ〥­â ');
             write(p^.tema,' -> ');readln(p^.tema);
        end
     else
           writeln('’ ª®© § ¯šáš ­¥â');
     writeln('„«ï ¯à®€®«Š¥­šï ­ Š¬šâ¥ enter');
     readln;
     gd:=detect;
     initgraph(gd,gm,'');
end;



procedure obrab(var a1:stroka;var a:stroka);
var i:integer;
    s,s1,s2:string[20];
    p:stroka;
    b:Tinfa;
begin
     closegraph;
     a1:=nil;
     writeln('‚¢¥€šâ¥ ä ¬š«šî ­ ãç­®£® à㪮¢®€šâ¥«ï €«ï ¯®šáª ');
     readln(s);
     writeln('‚¢¥€šâ¥ š¬ï ­ ãç­®£® à㪮¢®€šâ¥«ï €«ï ¯®šáª ');
     readln(s1);
     writeln('‚¢¥€šâ¥ ®âç¥á⢮ ­ ãç­®£® à㪮¢®€šâ¥«ï €«ï ¯®šáª ');
     readln(s2);
     p:=a;
     While p<>nil do
           begin
           if (p^.prep.fam=s)and(p^.prep.nam=s1)and(p^.prep.ot=s2)
           then
                begin
                     b.stud.fam:=p^.stud.fam;
                     b.stud.nam:=p^.stud.nam;
                     b.stud.ot:=p^.stud.ot;
                     b.d:=p^.d;
                     b.m:=p^.m;
                     b.g:=p^.g;
                     b.nom:=p^.nom;
                     b.adr:=p^.adr;
                     b.prep.fam:=p^.prep.fam;
                     b.prep.nam:=p^.prep.nam;
                     b.prep.ot:=p^.prep.ot;
                     b.tema:=p^.tema;
                     add_stroka(a1,b);
                end;
     p:=p^.next;
           end;
     writeln('„ ­­ë¥ ®¡à ¡®â ­ë, €«ï ¯à®á¬®âà  à¥§ã«ì â â  ¢ë¡¥àšâ¥ ¯ã­ªâ ¯¥ç âì १ã«ìâ â ');
     writeln('„«ï ¯à®€®«Š¥­šï ­ Š¬šâ¥ enter');
     readln;
     gd:=detect;
     initgraph(gd,gm,'');
end;


procedure pechat(var a:stroka);
          const s:array[1..6] of string=('”ˆŽ','„ â  ஊ€','ƒà㯯 ','€€à¥á','ãª®¢®€','’¥¬ ');
          var i,j:integer;
              f:text;
              p:stroka;
              b:Tinfa;
begin
     closegraph;
     writeln('         „ ­­ë¥:');
     p:=a;
     While p<>nil do
           begin
                writeln('²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²');
                write(s[1]:9);
                write(p^.prep.fam:15);
                write(p^.prep.nam:15);
                write(p^.prep.ot:15);
                writeln;
                write(s[2]:9);
                write(p^.d:7,p^.m:3,p^.g:5);
                writeln;
                write(s[3]:9);
                write(p^.nom:15);
                writeln;
                write(s[4]:9);
                write(p^.adr:15);
                writeln;
                write(s[5]:9);
                write(p^.prep.fam:15);
                write(p^.prep.nam:15);
                write(p^.prep.ot:15);
                writeln;
                write(s[6]:9);
                write(p^.tema:15);
                writeln;
                writeln('²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²');
                readln;
                p:=p^.next;
     end;
     readln;
     gd:=detect;
     initgraph(gd,gm,'');
end;


procedure pechat_f(var a:stroka);
          var f:text;
begin
     assign(f,'mih.txt');
     rewrite(f);
     While a<>nil do
           begin
                writeln(f,a^.stud.fam);
                writeln(f,a^.stud.nam);
                writeln(f,a^.stud.ot);
                writeln(f,a^.d);
                writeln(f,a^.m);
                writeln(f,a^.g);
                writeln(f,a^.nom);
                writeln(f,a^.adr);
                writeln(f,a^.prep.fam);
                writeln(f,a^.prep.nam);
                writeln(f,a^.prep.ot);
                writeln(f,a^.tema);
                writeln(f);
                a:=a^.next;
           end;
     close(f);
end;

var list,list1:stroka;
{’¥«® ¯à®£à ¬¬ë}

begin
     gd:=detect;
     initgraph(gd,gm,'');
     n:=0;
     repeat
           cleardevice;
           setfillstyle(1,5);
           setcolor(14);
           for i:=1 to 6 do
               begin
                    bar(200,i*50,400,i*50+40);
                    outtextxy(230,i*50+10,menu[i]);
               end;
           i:=1;
           setfillstyle(1,15);
           setcolor(1);
           bar(200,i*50,400,i*50+40);
           outtextxy(230,i*50+10,menu[i]);
           repeat
                 ch:=readkey;
                 if ch=#0 then
                          ch:=readkey;
                 setfillstyle(1,5);
                 setcolor(14);
                 bar(200,i*50,400,i*50+40);
                 outtextxy(230,i*50+10,menu[i]);
                 case ch of
                      #80:if i<6 then i:=i+1;
                      #72:if i>1 then i:=i-1;
                 end;
                 setfillstyle(1,15);
                 setcolor(1);
                 bar(200,i*50,400,i*50+40);
                 outtextxy(230,i*50+10,menu[i]);
           until ch=#13;
           case i of
                1:init;
                2:korr(list);
                3:pechat(list);
                4:obrab(list1,list);
                5:pechat(list1)
           end;
     until i=6;
     pechat_f(list);
     closegraph;
end.

 
 
 
 Re: Паскаль,динамическая база данных с объектами
Сообщение21.11.2012, 15:01 
Используйте тэг syntax, дайте полное сообщение об ошибке.
Какой именно Паскаль?

 
 
 
 Re: Паскаль,динамическая база данных с объектами
Сообщение21.11.2012, 19:39 
Паскаль называется "School Pak", это то же самое,что и BP 7.0.Сообщение ошибки:"Ошибка 59: Неопределенное опережающее описание (Tinfa.Init)". Курсор ставится на последний end.

код: [ скачать ] [ спрятать ]
Используется синтаксис Pascal
uses graph,crt;

{********************’ЁЇл****************************}
type
  dat = record
      fam,nam,ot:string[10];
  end;

        Tchel = OBJECT
    prep,stud:dat;
    d,m,g:integer;
        END;

  stroka = ^Tinfa;

        Tinfa = OBJECT(Tchel)
                nom,adr,tema:string[15];
    next:stroka;
          procedure init;

        END;


{*********************Љ®­бв ­вл***********************}

    const menu:array[1..6] of string=('‚ў®¤ ¤ ­­ле','Љ®а४вЁа®ўЄ  ¤ ­­ле',
    'ЏҐз вм ¤ ­­ле','ЋЎа Ў®вЄ  ¤ ­­ле','ЏҐз вм १г«мв в®ў','Љ®­Ґж а Ў®вл');
{********************ЏҐаҐ¬Ґ­­лҐ***********************}
    var
    gd:integer;
    gm:integer;
    i:integer;
    y:integer;
    n:integer;
    ch:char;

{********************Џа®жҐ¤гал***********************}
Procedure Add_stroka (Var first : stroka; f :Tinfa);
          Var
          p,q : stroka;
Begin
     new (p);
     p^:=f;
     p^.next:=nil;
     if first=nil then
        first:=p
     else
         begin
              q:=first;
              While q^.next<>nil do
                    q:=q^.next;
              q^.next:=p;
         end;
End;

procedure init;
var s:string;
    b:Tinfa;
    f:text;
    d:integer;
    a:stroka;
begin
     closegraph;
     assign(f,'mih.txt');
     writeln('‚лЎҐаЁвҐ:');
     writeln('ўў®¤ ¤ ­­ле б Є« ўЁвгал / з⥭ЁҐ ¤ ­­ле Ё§ д ©«  -> 1/2');
     readln(d);
     if d=1 then
        begin
             rewrite(f);
             writeln('‚ўҐ¤ЁвҐ ¤ ­­лҐ:');
                              repeat
                                    n:=n+1;
                                    writeln('‚ўҐ¤ЁвҐ ”€Ћ ',n,' Ј® бв㤥­в ');
                                    writeln('” ¬Ё«Ёп');
                                    readln(b.stud.fam);
                                    writeln(f,b.stud.fam);
                                    writeln('€¬п');
                                    readln(b.stud.nam);
                                    writeln(f,b.stud.nam);
                                    writeln('ЋвзҐбвў®');
                                    readln(b.stud.ot);
                                    writeln(f,b.stud.ot);
                                    writeln('‚ўҐ¤ЁвҐ ¤ вг ஦¤Ґ­Ёп ',n,' Ј® бв㤥­в ');
                                    writeln('‚ўҐ¤ЁвҐ ¤Ґ­м');
                                    readln(b.d);
                                    writeln(f,b.d);
                                    writeln('‚ўҐ¤ЁвҐ ¬Ґбпж');
                                    readln(b.m);
                                    writeln(f,b.m);
                                    writeln('‚ўҐ¤ЁвҐ Ј®¤');
                                    readln(b.g);
                                    writeln(f,b.g);
                                    writeln('‚ўҐ¤ЁвҐ ­®¬Ґа ЈагЇЇл ',n,' Ј® бв㤥­в ');
                                    readln(b.nom);
                                    writeln(f,b.nom);
                                    writeln('‚ўҐ¤ЁвҐ  ¤аҐб ',n,' Ј® бв㤥­в ');
                                    readln(b.adr);
                                    writeln(f,b.adr);
                                    writeln('‚ўҐ¤ЁвҐ ­ гз­®Ј® агЄ®ў®¤ЁвҐ«п ',n,' Ј® бв㤥­в ');
                                    writeln('” ¬Ё«Ёп');
                                    readln(b.prep.fam);
                                    writeln(f,b.prep.fam);
                                    writeln('€¬п');
                                    readln(b.prep.nam);
                                    writeln(f,b.prep.nam);
                                    writeln('ЋвзҐбвў®');
                                    readln(b.prep.ot);
                                    writeln(f,b.prep.ot);
                                    writeln('‚ўҐ¤ЁвҐ ⥬г ',n,' Ј® бв㤥­в ');
                                    readln(b.tema);
                                    writeln(f,b.tema);
                                    add_stroka(a,b);
                                    writeln(f);
                                    writeln('Џа®¤®«¦Ёвм ўў®¤? y/n');
                                    readln(s);
                              until s='n';
                              close(f);
        end;
     if d=2 then
        begin
             assign(f,'mih.txt');
             reset(f);
             while not eof(f) do
                   begin
                        readln(f,b.stud.fam);
                        readln(f,b.stud.nam);
                        readln(f,b.stud.ot);
                        readln(f,b.d);
                        readln(f,b.m);
                        readln(f,b.g);
                        readln(f,b.nom);
                        readln(f,b.adr);
                        readln(f,b.prep.fam);
                        readln(f,b.prep.nam);
                        readln(f,b.prep.ot);
                        readln(f,b.tema);
                        add_stroka(a,b);
                        readln(f);
                   end;
             close(f);
        end;
     gd:=detect;
     initgraph(gd,gm,'');
end;


procedure korr(var a:stroka);
var k,n:integer;
    p:stroka;
    b:Tinfa;
begin
     closegraph;
     writeln('‚ўҐ¤ЁвҐ ­®¬Ґа § ЇЁбЁ ¤«п Є®а४вЁа®ўЄЁ :');
     readln(k);
     n:=1;

     p:=a;
     While (p<>nil)and(n<k) do
           begin
                n:=n+1;
                p:=p^.next;
           end;
     if (k<=n)and(k>0) then
        begin
             writeln('‚ўҐ¤ЁвҐ д ¬Ё«Ёо ',k,' Ј® бв㤥­в ');
             write(p^.stud.fam,' -> '); readln(p^.stud.fam);
             writeln('‚ўҐ¤ЁвҐ Ё¬п ',k,' Ј® бв㤥­в ');
             write(p^.stud.nam,' -> '); readln(p^.stud.nam);
             writeln('‚ўҐ¤ЁвҐ ®взҐбвў® ',k,' Ј® бв㤥­в ');
             write(p^.stud.ot,' -> '); readln(p^.stud.ot);
             writeln('‚ўҐ¤ЁвҐ ¤ вг ஦¤Ґ­Ёп ',k,' Ј® бв㤥­в ');
             writeln('‚ўҐ¤ЁвҐ ¤Ґ­м');
             write(p^.d,' -> ');readln(p^.d);
             writeln('‚ўҐ¤ЁвҐ ¬Ґбпж');
             write(p^.m,' -> ');readln(p^.m);
             writeln('‚ўҐ¤ЁвҐ Ј®¤');
             write(p^.g,' -> ');readln(p^.g);
             writeln('‚ўҐ¤ЁвҐ ­®¬Ґа ЈагЇЇл ',k,' Ј® бв㤥­в ');
             write(p^.nom,' -> ');readln(p^.nom);
             writeln('‚ўҐ¤ЁвҐ  ¤аҐб ',k,' Ј® бв㤥­в ');
             write(p^.adr,' -> ');readln(p^.adr);
             writeln('‚ўҐ¤ЁвҐ ­ гз­®Ј® агЄ®ў®¤ЁвҐ«п ',k,' Ј® бв㤥­в ');
             writeln('” ¬Ё«Ёп');
             write(p^.prep.fam,' -> ');readln(p^.prep.fam);
             writeln('€¬п');
             write(p^.prep.nam,' -> ');readln(p^.prep.nam);
             writeln('ЋвзҐбвў®');
             write(p^.prep.ot,' -> ');readln(p^.prep.ot);
             writeln('‚ўҐ¤ЁвҐ ⥬г ',k,' Ј® бв㤥­в ');
             write(p^.tema,' -> ');readln(p^.tema);
        end
     else
           writeln('’ Є®© § ЇЁбЁ ­Ґв');
     writeln('„«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ enter');
     readln;
     gd:=detect;
     initgraph(gd,gm,'');
end;



procedure obrab(var a1:stroka;var a:stroka);
var i:integer;
    s,s1,s2:string[20];
    p:stroka;
    b:Tinfa;
begin
     closegraph;
     a1:=nil;
     writeln('‚ўҐ¤ЁвҐ д ¬Ё«Ёо ­ гз­®Ј® агЄ®ў®¤ЁвҐ«п ¤«п Ї®ЁбЄ ');
     readln(s);
     writeln('‚ўҐ¤ЁвҐ Ё¬п ­ гз­®Ј® агЄ®ў®¤ЁвҐ«п ¤«п Ї®ЁбЄ ');
     readln(s1);
     writeln('‚ўҐ¤ЁвҐ ®взҐбвў® ­ гз­®Ј® агЄ®ў®¤ЁвҐ«п ¤«п Ї®ЁбЄ ');
     readln(s2);
     p:=a;
     While p<>nil do
           begin
           if (p^.prep.fam=s)and(p^.prep.nam=s1)and(p^.prep.ot=s2)
           then
                begin
                     b.stud.fam:=p^.stud.fam;
                     b.stud.nam:=p^.stud.nam;
                     b.stud.ot:=p^.stud.ot;
                     b.d:=p^.d;
                     b.m:=p^.m;
                     b.g:=p^.g;
                     b.nom:=p^.nom;
                     b.adr:=p^.adr;
                     b.prep.fam:=p^.prep.fam;
                     b.prep.nam:=p^.prep.nam;
                     b.prep.ot:=p^.prep.ot;
                     b.tema:=p^.tema;
                     add_stroka(a1,b);
                end;
     p:=p^.next;
           end;
     writeln('„ ­­лҐ ®Ўа Ў®в ­л, ¤«п Їа®б¬®ва  аҐ§г«м в в  ўлЎҐаЁвҐ Їг­Єв ЇҐз вм १г«мв в ');
     writeln('„«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ enter');
     readln;
     gd:=detect;
     initgraph(gd,gm,'');
end;


procedure pechat(var a:stroka);
          const s:array[1..6] of string=('”€Ћ','„ в  ஦¤','ѓагЇЇ ','Ђ¤аҐб','ђгЄ®ў®¤','’Ґ¬ ');
          var i,j:integer;
              f:text;
              p:stroka;
              b:Tinfa;
begin
     closegraph;
     writeln('         „ ­­лҐ:');
     p:=a;
     While p<>nil do
           begin
                writeln('ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ');
                write(s[1]:9);
                write(p^.prep.fam:15);
                write(p^.prep.nam:15);
                write(p^.prep.ot:15);
                writeln;
                write(s[2]:9);
                write(p^.d:7,p^.m:3,p^.g:5);
                writeln;
                write(s[3]:9);
                write(p^.nom:15);
                writeln;
                write(s[4]:9);
                write(p^.adr:15);
                writeln;
                write(s[5]:9);
                write(p^.prep.fam:15);
                write(p^.prep.nam:15);
                write(p^.prep.ot:15);
                writeln;
                write(s[6]:9);
                write(p^.tema:15);
                writeln;
                writeln('ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ');
                readln;
                p:=p^.next;
     end;
     readln;
     gd:=detect;
     initgraph(gd,gm,'');
end;


procedure pechat_f(var a:stroka);
          var f:text;
begin
     assign(f,'mih.txt');
     rewrite(f);
     While a<>nil do
           begin
                writeln(f,a^.stud.fam);
                writeln(f,a^.stud.nam);
                writeln(f,a^.stud.ot);
                writeln(f,a^.d);
                writeln(f,a^.m);
                writeln(f,a^.g);
                writeln(f,a^.nom);
                writeln(f,a^.adr);
                writeln(f,a^.prep.fam);
                writeln(f,a^.prep.nam);
                writeln(f,a^.prep.ot);
                writeln(f,a^.tema);
                writeln(f);
                a:=a^.next;
           end;
     close(f);
end;

var list,list1:stroka;
{’Ґ«® Їа®Ја ¬¬л}

begin
     gd:=detect;
     initgraph(gd,gm,'');
     n:=0;
     repeat
           cleardevice;
           setfillstyle(1,5);
           setcolor(14);
           for i:=1 to 6 do
               begin
                    bar(200,i*50,400,i*50+40);
                    outtextxy(230,i*50+10,menu[i]);
               end;
           i:=1;
           setfillstyle(1,15);
           setcolor(1);
           bar(200,i*50,400,i*50+40);
           outtextxy(230,i*50+10,menu[i]);
           repeat
                 ch:=readkey;
                 if ch=#0 then
                          ch:=readkey;
                 setfillstyle(1,5);
                 setcolor(14);
                 bar(200,i*50,400,i*50+40);
                 outtextxy(230,i*50+10,menu[i]);
                 case ch of
                      #80:if i<6 then i:=i+1;
                      #72:if i>1 then i:=i-1;
                 end;
                 setfillstyle(1,15);
                 setcolor(1);
                 bar(200,i*50,400,i*50+40);
                 outtextxy(230,i*50+10,menu[i]);
           until ch=#13;
           case i of
                1:init;
                2:korr(list);
                3:pechat(list);
                4:obrab(list1,list);
                5:pechat(list1)
           end;
     until i=6;
     pechat_f(list);
     closegraph;
end.

 
 
 
 Re: Паскаль,динамическая база данных с объектами
Сообщение21.11.2012, 20:48 
Ну естественно. Компилятор пытается найти, где вы определили метод Tinfa.init — и что? он видит pechat, он видит obrab — где же Tinfa.init? А, ну под ногами ещё путается какой-то init, но разве ж это метод класса Tinfa? Так просто процедура какая-то…

 
 
 
 Re: Паскаль,динамическая база данных с объектами
Сообщение22.11.2012, 02:41 
Спасибо вам)попытаюсь процедуру переделать.

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group