uses crt;
type
kayit=record
isim:string[30];
kitapno:string[30];
kitapadi:string[30];
kitapyazari:string[30];
kitapturu:string[30];
kitapaltarih:string[10];
kitapgettarih:string[10];
telefon:string[15];
ililce:string[30];
f:char;end;
var
dosya:file of kayit;
kay:kayit;
tus,t:char;
I,kod:integer;
procedure kayityap;
begin
assign(dosya,'KUTUP.DAT');
{$I-}Reset(dosya);
kod:=IOResult;{$I+}
if kod <>0 then rewrite(dosya);
repeat clrscr;
gotoxy(15,2);
write('K˜TABI ALANIN ADI............:');readln(kay.isim);
if kay.isim="then
begin
close(dosya);exit;end;
gotoxy(15,4);
write('K˜TAP NO.....................:');readln(kay.kitapno);
gotoxy(15,6);
write('K˜TABIN ADI..................:');readln(kay.kitapadi);
gotoxy(15,8);
write('K˜TABIN YAZARI...............:');readln(kay.kitapyazari);
gotoxy(15,10);
write('K˜TABI ALANIN TELEFONU.......:');readln(kay.telefon);
gotoxy(15,12);
write('K˜TABI ALANIN ˜L˜ ˜L€ES˜....:');readln(kay.ililce);
gotoxy(15,14);
write('K˜TABIN TšRš.................:');readln(kay.kitapturu);
gotoxy(15,16);
write('K˜TABIN ALINDI¦I TAR˜H.......:');readln(kay.kitapaltarih);
gotoxy(15,18);
write('K˜TABIN GET˜R˜LECE¦˜ TAR˜H...:');readln(kay.kitapgettarih);
gotoxy(25,20);
write('B˜LG˜ DOSYAYA KAYDED˜LS˜N M˜? [E/H]');
repeat
tus:=upcase(readkey);
until tus in['E','H'];
writeln(tus);
if tus='E'then begin
kay.f:='*';
seek(dosya, filesize(dosya));
write(dosya,kay);end;
until 1=2;end;
procedure listeleme;
var
s:integer;
begin
assign(dosya,'KUTUP.DAT');
{$I-}reset(dosya);I:=IOresult;{$I+}
if I <> 0 then begin
gotoxy(20,22);
writeln('DOSYA YOK...');
tus:=readkey;
halt;
end;clrscr;
writeln('˜S˜M K˜TAP NO K˜TABIN ADI K˜TABIN YAZARI K˜ž˜N˜N TELEFONU');
writeln('-------------------------------------------------------------------------------');
s:=3;
for i:=0 to filesize(dosya)-1 do
begin
seek(dosya,i);
read(dosya,kay);
if kay.f='*'then
begin
s:=s+1;
gotoxy(1,s);write(kay.isim);
gotoxy(13,s);write(kay.kitapno);
gotoxy(26,s);write(kay.kitapadi);
gotoxy(44,s);write(kay.kitapyazari);
gotoxy(64,s);write(kay.telefon);
end;
if s>18 then begin
gotoxy(20,21);
write('D˜¦ER SAYFAYA GE€MEK ˜€˜N');
write('B˜R TUžA BASINIZ...');
tus:=readkey;
s:=0;
clrscr;end;end;
gotoxy(20,21);
write('L˜STELENECEK KAYIT B˜TT˜...');
tus:=readkey;
window(1,1,80,25);
close(dosya);end;
procedure lis;
var
s:integer;
begin
assign(dosya,'KUTUP.DAT');
{$I-}reset(dosya);I:=IOresult;{$I+}
if I <> 0 then begin
gotoxy(20,22);
writeln('DOSYA YOK...');
tus:=readkey;
halt;
end;clrscr;
writeln('K˜TABIN TšRš K˜TABI ALDI¦I TAR˜H K˜TABI GET˜RECE¦˜ TAR˜H K˜ž˜N˜N ˜L˜ ˜L€ES˜');
writeln('------------------------------------------------------------------------------------');
s:=3;
for i:=0 to filesize(dosya)-1 do
begin
seek(dosya,i);
read(dosya,kay);
if kay.f='*'then
begin
s:=s+1;
gotoxy(1,s);write(kay.kitapturu);
gotoxy(16,s);write(kay.kitapaltarih);
gotoxy(38,s);write(kay.kitapgettarih);
gotoxy(63,s);write(kay.ililce);
end;
if s>18 then begin
gotoxy(20,21);
write('D˜¦ER SAYFAYA GE€MEK ˜€˜N');
write('B˜R TUžA BASINIZ...');
tus:=readkey;
s:=0;
clrscr;end;end;
gotoxy(20,21);
write('L˜STELENECEK KAYIT B˜TT˜...');
tus:=readkey;
window(1,1,80,25);
close(dosya);end;
procedure yigit;
var
sec:integer;
begin
clrscr;
gotoxy(30,12);writeln(' 1-K˜TABIN ™ZELL˜KLER˜');
gotoxy(30,14);writeln(' 2-TAR˜H,TšR,ADRES B˜LG˜S˜');
gotoxy(35,16);writeln('SE€˜M˜N˜Z...:');readln(sec);
if sec=1 then begin listeleme;end;
if sec=2 then begin lis;end;
end;
procedure bul;
var
ara:string[30];begin
assign(dosya,'KUTUP.DAT');
{$I-}Reset (dosya);
kod:=IOresult;{$I+}
if kod<>0 then begin
gotoxy(20,22);
write('DOSYA YOK...');
tus:=readkey;
exit;end;
repeat
clrscr;
gotoxy(22,1);
write('ARADI¦INIZ K˜TAP NO.......:');readln(ara);
if ara="then begin
close(dosya);
exit;end;
for i:=0 to filesize(dosya)-1 do
begin
seek(dosya,i);
read(dosya,kay);
if(kay.f='*')and (kay.kitapno=ara)then
begin clrscr;
gotoxy(15,2);
write('K˜TABI ALANIN ˜SM˜...........:',kay.isim);
gotoxy(15,4);
write('K˜TAP NO.....................:',kay.kitapno);
gotoxy(15,6);
write('K˜TABIN ADI..................:',kay.kitapadi);
gotoxy(15,8);
write('K˜TABIN YAZARI...............:',kay.kitapyazari);
gotoxy(15,10);
write('K˜TABI ALANIN TELEFONU.......:',kay.telefon);
gotoxy(15,12);
write('K˜TABI ALANIN ˜L˜ ˜L€ES˜.....:',kay.ililce);
gotoxy(15,14);
write('K˜TABIN TšRš.................:',kay.kitapturu);
gotoxy(15,16);
write('K˜TABIN ALINDI¦I TAR˜H.......:',kay.kitapaltarih);
gotoxy(15,18);
write('K˜TABIN GET˜R˜LECE¦˜ TAR˜H...:',kay.kitapgettarih);
gotoxy(15,20);
write('ARADI¦INIZ KAYIT BU MU? [E/H]');
repeat
tus:=upcase(readkey);
until tus in['E','H'];
if tus='E'then
begin
close(dosya);
exit;end;end;end;
writeln;
gotoxy(15,22);
write('ARADI¦INIZ KAYIT YOK...');
write('DEVAM ETMEK ˜€˜N B˜R TUžA BASINIZ...');
tus:=readkey;
until 1=2;end;
procedure arama;
var
ara:string[30];
begin
assign(dosya,'KUTUP.DAT');
{$I-}reset(dosya);kod:=IOresult;{$I+};
if kod<>0 then begin
gotoxy(20,22);
write('DOSYA YOK...');
write('DEVAM ETMEK ˜€˜N B˜R TUžA BASINIZ...');
tus:=readkey;
exit;end;
repeat;
clrscr;
gotoxy(22,1);
write('ARADI¦INIZ ˜S˜M.......:');readln(ara);
if ara="then begin
close(dosya);
exit;end;
for i:=0 to filesize(dosya)-1 do
begin
seek(dosya,i);
read(dosya,kay);
if(kay.f='*')and(kay.isim=ara)then
begin clrscr;
gotoxy(15,2);
write('K˜TABI ALANIN ˜SM˜...........:',kay.isim);
gotoxy(15,4);
write('K˜TAP NO.....................:',kay.kitapno);
gotoxy(15,6);
write('K˜TABIN ADI..................:',kay.kitapadi);
gotoxy(15,8);
write('K˜TABIN YAZARI...............:',kay.kitapyazari);
gotoxy(15,10);
write('K˜TABI ALANIN TELEFONU.......:',kay.telefon);
gotoxy(15,12);
write('K˜TABI ALANIN ˜L˜ ˜L€ES˜.....:',kay.ililce);
gotoxy(15,14);
write('K˜TABIN TšRš.................:',kay.kitapturu);
gotoxy(15,16);
write('K˜TABIN ALINDI¦I TAR˜H.......:',kay.kitapaltarih);
gotoxy(15,18);
write('K˜TABIN GET˜R˜LECE¦˜ TAR˜H...:',kay.kitapgettarih);
gotoxy(15,20);
write('ARADI¦INIZ KAYIT BU MU? [E/H]');
repeat
tus:=upcase(readkey);
until tus in['E','H'];
if tus='E' then begin
close(dosya);
exit;end;end;end;
writeln;
gotoxy(15,22);
write('ARADI¦INIZ KAYIT YOK...');
write('DEVAM ETMEK ˜€˜N B˜R TUžA BASINIZ...');
tus:=readkey;
until 1=2;end;
procedure serkan;
var
ara:string[30];
begin
assign(dosya,'KUTUP.DAT');
{$I-}reset(dosya);kod:=IOresult;{$I+};
if kod<>0 then begin
gotoxy(20,22);
write('DOSYA YOK...');
tus:=readkey;
exit;end;
repeat;
clrscr;
gotoxy(22,1);
write('ARADI¦INIZ YAZARIN ADI......:');readln(ara);
if ara="then begin
close(dosya);
exit;end;
for i:=0 to filesize(dosya)-1 do
begin
seek(dosya,i);
read(dosya,kay);
if(kay.f='*')and(kay.kitapyazari=ara)then
begin clrscr;
gotoxy(15,2);
write('K˜TABI ALANIN ˜SM˜...........:',kay.isim);
gotoxy(15,4);
write('K˜TAP NO.....................:',kay.kitapno);
gotoxy(15,6);
write('K˜TABIN ADI..................:',kay.kitapadi);
gotoxy(15,8);
write('K˜TABIN YAZARI...............:',kay.kitapyazari);
gotoxy(15,10);
write('K˜TABI ALANIN TELEFONU.......:',kay.telefon);
gotoxy(15,12);
write('K˜TABI ALANIN ˜L˜ ˜L€ES˜.....:',kay.ililce);
gotoxy(15,14);
write('K˜TABIN TšRš.................:',kay.kitapturu);
gotoxy(15,16);
write('K˜TABIN ALINDI¦I TAR˜H.......:',kay.kitapaltarih);
gotoxy(15,18);
write('K˜TABIN GET˜R˜LECE¦˜ TAR˜H...:',kay.kitapgettarih);
gotoxy(15,20);
write('ARADI¦INIZ KAYIT BU MU? [E/H]');
repeat
tus:=upcase(readkey);
until tus in['E','H'];
if tus='E' then begin
close(dosya);
exit;end;end;end;
writeln;
gotoxy(15,22);
write('ARADI¦INIZ KAYIT YOK...');
write('DEVAM ETMEK ˜€˜N B˜R TUžA BASINIZ...');
tus:=readkey;
until 1=2;end;
procedure duzeltme;
var
ara:string[30];
begin
assign(dosya,'KUTUP.DAT');
{$I-}reset(dosya);kod:=IOresult;{$I+};
if kod<>0 then begin
gotoxy(20,22);
write('DOSYA YOK...');
tus:=readkey;exit;end;
clrscr;
gotoxy(22,1);
write('DšZELT˜LECEK ˜S˜M.......:');readln(ara);
for I:=0 to filesize(dosya)-1 do
begin
seek(dosya,i);
read(dosya,kay);
if(ara=kay.isim)and(kay.f='*')then
begin clrscr;
gotoxy(15,2);
writeln('K˜TABI ALANIN ˜SM˜...........:',kay.isim);
gotoxy(15,4);
writeln('K˜TAP NO.....................:',kay.kitapno);
gotoxy(15,6);
writeln('K˜TABIN ADI..................:',kay.kitapadi);
gotoxy(15,8);
writeln('K˜TABIN YAZARI...............:',kay.kitapyazari);
gotoxy(15,10);
writeln('K˜TABI ALANIN TELEFONU.......:',kay.telefon);
gotoxy(15,12);
writeln('K˜TABI ALANIN ˜L˜ ˜L€ES˜.......:',kay.ililce);
gotoxy(15,14);
writeln('K˜TABIN TšRš.................:',kay.kitapturu);
gotoxy(15,16);
writeln('K˜TABIN ALINDI¦I TAR˜H.......:',kay.kitapaltarih);
gotoxy(15,18);
writeln('K˜TABIN GET˜R˜LECE¦˜ TAR˜H...:',kay.kitapgettarih);
gotoxy(15,20);
write('DšZELT˜LECEK KAYIT BU MU? [E/H]');
repeat
tus:=upcase(readkey);
until tus in['E','H'];
if tus='E'then
repeat clrscr;
gotoxy(15,2);
writeln('A-K˜TABI ALANIN ˜SM˜...........:',kay.isim);
gotoxy(15,4);
writeln('B-K˜TAP NO.....................:',kay.kitapno);
gotoxy(15,6);
writeln('C-K˜TABIN ADI..................:',kay.kitapadi);
gotoxy(15,8);
writeln('D-K˜TABIN YAZARI...............:',kay.kitapyazari);
gotoxy(15,10);
writeln('E-K˜TABI ALANIN TELEFONU.......:',kay.telefon);
gotoxy(15,12);
writeln('F-K˜TABI ALANIN ˜L˜ ˜L€ES˜.....:',kay.ililce);
gotoxy(15,14);
writeln('G-K˜TABIN TšRš.................:',kay.kitapturu);
gotoxy(15,16);
writeln('H-K˜TABIN ALINDI¦I TAR˜H.......:',kay.kitapaltarih);
gotoxy(15,18);
writeln('I-K˜TABIN GET˜R˜LECE¦˜ TAR˜H...:',kay.kitapgettarih);
gotoxy(15,20);
writeln('J-˜žLEM SONU...');
gotoxy(2,22);
write('SE€˜M˜N˜Z (A...J)(ESC=˜PTAL) ');
repeat
tus:=readkey;
until tus in['A'..'J',#27];
case tus of
'A':begin
gotoxy(10,27);
write('K˜TABI ALANIN ˜SM˜......:');readln(kay.isim);end;
'B':begin
gotoxy(10,27);
write('K˜TAP NO.....................:');readln(kay.kitapno);end;
'C':begin;
gotoxy(10,27);
write('K˜TABIN ADI..................:');readln(kay.kitapadi);end;
'D':begin;
gotoxy(10,27);
write('K˜TABIN YAZARI...............:');readln(kay.kitapyazari);end;
'E':begin;
gotoxy(10,27);
write('K˜TABI ALANIN TELEFONU.......:');readln(kay.telefon);end;
'F':begin;
gotoxy(10,27);
write('K˜TABI ALANIN ˜L˜ ˜L€ES˜.....:');readln(kay.ililce);end;
'G':begin;
gotoxy(10,27);
write('K˜TABIN TšRš.................:');readln(kay.kitapturu);end;
'H':begin;
gotoxy(10,27);
write('K˜TABIN ALINDI¦I TAR˜H.......:');readln(kay.kitapaltarih);end;
'I':begin;
gotoxy(10,27);
write('K˜TABIN GET˜R˜LECE¦˜ TAR˜H...:');readln(kay.kitapgettarih);end;
'J':begin;
seek(dosya,I);
write(dosya,kay);
gotoxy(20,29);
write('˜žLEM TAMAMLANDI...');
close(dosya);
tus:=readkey;
exit;end;
#27:exit;end;
until 1=2;end;end;
gotoxy(15,25);
write('B™YLE B˜R KAYIT YOK...');
close(dosya);
tus:=readkey;end;
procedure silme;
var
ara:string[30];
begin
assign(dosya,'KUTUP.DAT');
{$I-}reset(dosya);
kod:=IOresult;{$I+};
if kod<>0 then begin
gotoxy(20,22);
write('DOSYA YOK...');
tus:=readkey;exit;end;
clrscr;
gotoxy(15,1);a
write('S˜L˜NECEK ˜S˜M.........:');readln(ara);
for i:=0 to filesize(dosya)-1 do begin
seek(dosya,i);
read(dosya,kay);
if(ara=kay.isim)and(kay.f='*')then
begin clrscr;
gotoxy(15,2);
writeln('K˜TABI ALANIN ˜SM˜...........:',kay.isim);
gotoxy(15,4);
writeln('K˜TAP NO.....................:',kay.kitapno);
gotoxy(15,6);
writeln('K˜TABIN ADI..................:',kay.kitapadi);
gotoxy(15,8);
writeln('K˜TABIN YAZARI...............:',kay.kitapyazari);
gotoxy(15,10);
writeln('K˜TABI ALANIN TELEFONU.......:',kay.telefon);
gotoxy(15,12);
writeln('K˜TABI ALANIN ˜L˜ ˜L€ES˜.....:',kay.ililce);
gotoxy(15,14);
writeln('K˜TABIN TšRš.................:',kay.kitapturu);
gotoxy(15,16);
writeln('K˜TABIN ALINDI¦I TAR˜H.......:',kay.kitapaltarih);
gotoxy(15,18);
writeln('K˜TABIN GET˜R˜LECE¦˜ TAR˜H...:',kay.kitapgettarih);
gotoxy(15,20);
write('S˜L˜NECEK KAYIT BU MU? [E/H]>');
repeat
tus:=upcase(readkey);
until tus in['E','H'];
if tus='E' then begin
kay.f:='s';
seek(dosya,i);
write(dosya,kay);
gotoxy(20,22);
write('KAYIT S˜L˜ND˜...');
close(dosya);
tus:=readkey;
exit;end;end;end;
gotoxy(15,22);
write('KAYIT YOK...');
write('DEVAM ETMEK ˜€˜N B˜R TUžA BASINIZ');
close(dosya);
tus:=readkey;end;
procedure bak;
var
sec:integer;
begin clrscr;
gotoxy(27,8);writeln('+++ARAMA+++');
gotoxy(26,9);writeln('=============');
gotoxy(24,11);writeln('1-) ADA G™RE ARAMA');
gotoxy(24,13);writeln('2-) K˜TAP NOSUNA G™RE ARAMA');
gotoxy(24,15);writeln('3-) YAZAR ADINA G™RE ARAMA');
gotoxy(24,17);writeln('SE€˜M˜N˜Z...:');readln(sec);
if sec=1 then begin
arama;end;
if sec=2 then begin
bul;end;
if sec=3 then begin
serkan;end;end;
procedure ekran;
begin clrscr;
gotoxy(22,4);
highvideo;
write('***TURGUT AYDEMİR***');
gotoxy(25,6);
writeln('KšTšPHANE PROGRAMI');
lowvideo;
end;
begin
repeat
ekran;
gotoxy(25,10);write('1- B˜LG˜ G˜R˜ž˜');
gotoxy(25,12);write('2- B˜LG˜ L˜STES˜');
gotoxy(25,14);write('3- B˜LG˜ ARAMA');
gotoxy(25,16);write('4- B˜LG˜ DšZELTME');
gotoxy(25,18);write('5- B˜LG˜ S˜LME');
gotoxy(30,20);write('SE€˜M˜N˜Z..(ESC=€IKIž)...:');
repeat
gotoxy(56,20);
write(' ');
gotoxy(56,20);
t:=readkey;
if t<>#27 then writeln(t);
case t of
'1':kayityap;
'2':yigit;
'3':bak;
'4':duzeltme;
'5':silme;
end;
until t in['1'..'5',#27];
until t=#27;
clrscr;
end.