{
általános rutinok az
osszFok.pas programhoz:
}
Const CrLf=#13#10;
Var
sor:Byte;
fnev:String;
Function SokJel(Const jel:Char; db:Byte):String;
Var i:Byte;
s:String;
Begin
s:=''; For i:=1 to db do s:=s+jel;
SokJel:=s
End;
Function Kozepre(Const s:String; h:Byte):String;
Begin
Kozepre:=Copy(SokJel('
',(h-Length(s)) Div 2)
+s+
SokJel('
',(h-Length(s)) Div 2)+' ',1,h)
End;
Procedure BillreVar;
Var c:Char;
Begin
c:=ReadKey
End;
Procedure Lapoz;
Begin
ClrScr;
HighVideo;
Writeln('
',Kozepre('név',nevH),'-',Kozepre('cím',cimH),'-',
Kozepre('tel.',telH),'-',Kozepre('fizu.',fizuH));
Writeln(SokJel('-',szintKodH+nevH+1+cimH+1+TelH+1+fizuH));
NormVideo;
sor:=0;
End;
Procedure ElemKi(Const e:TElem);
Begin
If sor=LapHossz
then
Begin
BillreVar; Lapoz;
End;
If e.szintKod=Dolgozo
then
Begin
Writeln(KSzint[e.szintKod],e.nev:nevH,'-',e.cim:cimH,'-',
e.tel:telH,'-',e.fiz);
End
else
Begin
HighVideo;
Write(KSzint[e.szintKod],e.nev:nevH,'-',e.cim:cimH,'-',
e.tel:telH,'-');
If e.fiz<>0
then Writeln(e.fiz) else Writeln;
NormVideo;
End;
Inc(sor);
End;
Procedure Inic;
Begin
fnev:=''; Lapoz;
End;
{
Alap file-kezelô rutinok:
}
Procedure Megnyit(Var f:TFile; Const mire:TMegnyitasMod);
Var hiba:Boolean;
sz:String;
Begin
Repeat
{$i-}
Writeln('File-név
(Enter=>előzőleg megnyitott file):');
Readln(sz);
hiba:=False;
If sz<>''
then fnev:=sz;
If mire=Olvasas
then
Begin
Assign(f,fnev);
Reset(f);
If
IOResult<>0 then
Begin
hiba:=True;
Writeln('File-megnyitási hiba!!!');
End;
end
else
Begin
Assign(f,fnev);
Rewrite(f);
End;
Until not hiba and (fnev<>'');
{$i+}
End;
Procedure Lezar(Var f:TFile);
Begin
Close(f)
End;
{
Generáló rutinok:
}
Procedure General(Var f:TFile);
Var
elem:TElem;
Procedure DolgozotGeneral(Var d:TElem);
Const MinFizu=20000;
Begin
d.szintkod:=Dolgozo;
d.nev:=RandomNev;
d.cim:=RandomCim; d.tel:=RandomTel;
d.fiz:=MinFizu+3000*Trunc(1.0*Random(MinFizu
Div 1000));
End;{DolgozotGeneral}
Procedure TanszeketGeneral(Const tsz:String; Var elem:TElem);
Var i,Db:Word;
Begin
elem.szintkod:=Tanszek;
elem.nev:=tsz;
elem.cim:=RandomCim; elem.tel:=RandomTel; elem.fiz:=0;
Write(f,elem);
Db:=Random(5)+5; {egy tanszék létszáma}
For i:=1
to Db do
Begin
DolgozotGeneral(elem);
Write(f,elem)
End;
End;{TanszeketGeneral}
Begin {General}
{egyetem:}
elem.szintkod:=Egyetem;
elem.nev:='ELTE';
elem.cim:=RandomCim; elem.tel:=RandomTel;
Write(f,elem);
{Egy kar:}
elem.szintkod:=Kar;
elem.nev:='TTK';
elem.cim:=RandomCim; elem.tel:=RandomTel; elem.fiz:=0;
Write(f,elem);
{Egy tanszék:}
TanszeketGeneral('Informatika
Szakmódszertani',elem);
{Egy tanszék:}
TanszeketGeneral('Numerikus
analízis',elem);
{Egy tanszék:}
TanszeketGeneral('Számítástudományi',elem);
{Egy tanszék:}
TanszeketGeneral('Analízis',elem);
{Egy tanszék:}
TanszeketGeneral('Algebra',elem);
{Egy tanszék:}
TanszeketGeneral('Elméleti
fizika',elem);
{Egy kar:}
elem.szintkod:=Kar;
elem.nev:='BTK';
elem.cim:=RandomCim; elem.tel:=RandomTel; elem.fiz:=0;
Write(f,elem);
{Egy tanszék:}
TanszeketGeneral('Angol',elem);
{Egy tanszék:}
TanszeketGeneral('Keleti
nyelvek',elem);
{Egy tanszék:}
TanszeketGeneral('Hungarológia',elem);
{Egy tanszék:}
TanszeketGeneral('Filozófia',elem);
End; {General}