Hareketli menülü kayıt programı İşe yarar iyi bir kayıt programı hayrına...uses crt;
type
telder=record
isim:string[15];
soyadi:string[15];
telefon:string[25];
adres:string[20];
email:string[20];
pk:longint;
end;
const
msec:array[1..6] of string=('Deftere Ekle','Listele ','Arama ','Dzelt ','Sil ','€kŸ ');
var
sec,i:integer;
tus:char;
dosya:file of telder;
bilgi:telder;
t:char;
procedure normalrenk;
begin
textcolor(yellow);
textbackground(blue);
end;
procedure secilirenk;
begin
textcolor(blue);
textbackground(yellow);
end;
procedure menuyaz;
var
j,x,y,k:integer;
begin
normalrenk;
clrscr;
x:=33; y:=3;
gotoxy(35,2);write(' M E N U ');
for j:=1 to 15 do begin
gotoxy(x,y);write('*');
gotoxy(x,y+7);write('*'); inc(x);
end;
x:=33; y:=3;
for k:=1 to 8 do begin
gotoxy(x,y); write('*');
gotoxy(x+15,y); write('*'); inc
;
end;
for i:=1 to 6 do begin
gotoxy(35,i+3);write(msec);
end;
secilirenk;
gotoxy(35,4);write(msec[1]);
sec:=1;
end;
procedure kayitgir;
var
tus2:char;
begin
repeat
normalrenk;
clrscr;
write('˜sim:');readln(bilgi.isim);
write('Soyad:');readln(bilgi.soyadi);
write('Telefon:'); readln(bilgi.telefon);
write('Adres:'); readln(bilgi.adres);
write('E-mail:'); readln(bilgi.email);
write('Posta kodu:'); readln(bilgi.pk);
seek(dosya,filesize(dosya));
write(dosya,bilgi);
writeln('Yeni kayt girilecek mi(e/h) ?');
tus2:=readkey;
until tus2 in ['h','H'];
menuyaz;
end;
procedure aramenu;
var
ch:char;
x,i:integer;
ad,soyad:string;
pkg:longint;
begin
normalrenk;
clrscr;
writeln('1- ˜sim ara');
writeln('2- Soyad ara');
writeln('3- Posta kodu ara');
repeat
ch:=readkey;
until ch in ['1','2','3'];
case ch of
'1':
begin
clrscr;
x:=0;
writeln('˜smi giriniz>>>'); readln(ad);
clrscr;
for i:=1 to 2 do begin
write('Aryor.'); delay(1500);write('.');delay(1500);
write('.'); delay(1500);write('.');delay(1500);write('.');delay(1500);
clrscr;
end;
reset(dosya);
gotoxy(1,1); write('No');
gotoxy(7,1);write('Ad Soyad');
gotoxy(25,1); write('Telefon');
gotoxy(35,1); write('Adres');
gotoxy(55,1); write('E-mail');
gotoxy(70,1); write('Posta kodu');
gotoxy(1,2); write('--------------------------------------------------------------------------------');
for i:=1 to filesize(dosya) do begin
read(dosya,bilgi);
if bilgi.isim=ad then begin
gotoxy(2,3+i); write(i+1);
gotoxy(7,3+i); write(bilgi.isim,' ',bilgi.soyadi);
gotoxy(25,3+i); write(bilgi.telefon);
gotoxy(35,3+i); write(bilgi.adres);
gotoxy(55,3+i); write(bilgi.email);
gotoxy(73,3+i); write(bilgi.pk);
x:=1;
end;
end;
if x=0 then writeln('Kayt bulunamad...');
readln;
end;
'2':
begin
clrscr;
x:=0;
writeln('Soyad giriniz>>>'); readln(soyad);
clrscr;
for i:=1 to 2 do begin
write('Aryor.'); delay(1500);write('.');delay(1500);
write('.'); delay(1500);write('.');delay(1500);write('.');delay(1500);
clrscr;
end;
reset(dosya);
gotoxy(1,1); write('No');
gotoxy(7,1);write('Ad Soyad');
gotoxy(25,1); write('Telefon');
gotoxy(35,1); write('Adres');
gotoxy(55,1); write('E-mail');
gotoxy(70,1); write('Posta kodu');
gotoxy(1,2); write('--------------------------------------------------------------------------------');
for i:=1 to filesize(dosya) do begin
read(dosya,bilgi);
if bilgi.soyadi=soyad then begin
gotoxy(2,3+i); write(i+1);
gotoxy(7,3+i); write(bilgi.isim,' ',bilgi.soyadi);
gotoxy(25,3+i); write(bilgi.telefon);
gotoxy(35,3+i); write(bilgi.adres);
gotoxy(55,3+i); write(bilgi.email);
gotoxy(73,3+i); write(bilgi.pk);
x:=1;
end;
end;
if x=0 then writeln('Kayt bulunamad...');
readln;
end;
'3':
begin
clrscr;
x:=0;
writeln('Posta kodu>>>'); readln(pkg);
clrscr;
for i:=1 to 2 do begin
write('Aryor.'); delay(1500);write('.');delay(1500);
write('.'); delay(1500);write('.');delay(1500);write('.');delay(1500);
clrscr;
end;
reset(dosya);
gotoxy(1,1); write('No');
gotoxy(7,1);write('Ad Soyad');
gotoxy(25,1); write('Telefon');
gotoxy(35,1); write('Adres');
gotoxy(55,1); write('E-mail');
gotoxy(70,1); write('Posta kodu');
gotoxy(1,2); write('--------------------------------------------------------------------------------');
for i:=1 to filesize(dosya) do begin
read(dosya,bilgi);
if bilgi.pk=pkg then begin
gotoxy(2,3+i); write(i+1);
gotoxy(7,3+i); write(bilgi.isim,' ',bilgi.soyadi);
gotoxy(25,3+i); write(bilgi.telefon);
gotoxy(35,3+i); write(bilgi.adres);
gotoxy(55,3+i); write(bilgi.email);
gotoxy(73,3+i); write(bilgi.pk);
x:=1;
end;
end;
if x=0 then writeln('Kayt bulunamad...');
readln;
end;
end;
menuyaz;
end;
procedure listele;
var
i,x,y:integer;
begin
seek(dosya,0);
normalrenk;
clrscr;
gotoxy(1,1); write('No');
gotoxy(7,1);write('Ad Soyad');
gotoxy(25,1); write('Telefon');
gotoxy(35,1); write('Adres');
gotoxy(55,1); write('E-mail');
gotoxy(70,1); write('Posta kodu');
gotoxy(1,2); write('--------------------------------------------------------------------------------');
x:=1; y:=4;
for i:=0 to filesize(dosya)-1 do begin
read(dosya,bilgi);
gotoxy(2,3+i); write(i+1);
gotoxy(7,3+i); write(bilgi.isim,' ',bilgi.soyadi);
gotoxy(25,3+i); write(bilgi.telefon);
gotoxy(35,3+i); write(bilgi.adres);
gotoxy(55,3+i); write(bilgi.email);
gotoxy(73,3+i); write(bilgi.pk);
inc
;
end;
readln;
menuyaz;
end;
procedure sil;
var
gec:integer;
gecici:file of telder;
yaz:boolean;
sil:char;
sil_ad:string;
begin
normalrenk;
clrscr;
assign(dosya,'teleder.dat');
assign(gecici,'gecici.dat');
reset(dosya);
rewrite(gecici);
writeln('Silmek ˜stedi§iniz Ad ... '); readln(sil_ad);
gec:=0;
while not eof(dosya) do begin
yaz:=true;
read(dosya,bilgi);
if sil_ad=bilgi.isim then begin
gec:=1;
textcolor(15);
writeln('Ad>>>',bilgi.isim);
writeln('Soyad>>>',bilgi.soyadi);
writeln('Telefon>>>',bilgi.telefon);
writeln('Adres>>>',bilgi.adres);
writeln('E-mail>>>',bilgi.email);
writeln('Posta kodu>>>',bilgi.pk);
writeln;
write('Silmek istedi§inizden emin misiniz (e/h) ?>');
repeat
sil:=readkey;
until sil in ['e','E','h','H'];
if sil in ['e', 'E'] then yaz:=false;
end;
if yaz then begin
write(gecici,bilgi);
writeln;
end
else begin writeln('Kayt Silindi ... !'); readln; end;
end;
close(dosya);
close(gecici);
if gec=0 then begin
textcolor(green+blink);
writeln(' Aranan Kayt Bulunamad...! ');
erase(gecici);
readln;
end
else begin
erase(dosya);
rename(gecici,'teleder.dat');
end;
reset(dosya);
menuyaz;
end;
procedure duzelt;
var
kno:integer;
ksec:char;
begin
normalrenk;
clrscr;
write('Dzeltilecek Kaydn Numarasn Giriniz : '); readln(kno);
seek(dosya,kno-1);
read(dosya,bilgi);
repeat
clrscr;
writeln('1- Ad : ',bilgi.isim);
writeln('2- Soyad : ',bilgi.soyadi);
writeln('3- Telefon : ',bilgi.telefon);
writeln('4- Adres : ',bilgi.adres);
writeln('5- E-mail : ',bilgi.email);
writeln('6- Posta kodu : ',bilgi.pk);
writeln;
writeln('Se‡iminiz :1-2-3-4-5-6 ');
gotoxy(5,24);
writeln('Dzeltmeyi yaptktan sonra kaydetmek i‡in <enter> a basn...');
gotoxy(1,9);
repeat
ksec:=readkey;
until ksec in ['1','2','3','4','5','6',#13];
writeln;
case ksec of
'1': begin writeln ('Yeni Ad Giriniz : '); readln(bilgi.isim); end;
'2': begin writeln ('Yeni Soyad Giriniz : '); readln(bilgi.soyadi); end;
'3': begin writeln ('Yeni Telefonu Giriniz : '); readln(bilgi.telefon); end;
'4': begin writeln ('Yeni Adresi Giriniz: '); readln(bilgi.adres); end;
'5': begin writeln ('Yeni E-maili Giriniz : '); readln(bilgi.email); end;
'6': begin writeln ('Yeni Posta Kodunu Giriniz : '); readln(bilgi.pk); end;
end;
until ksec=#13;
writeln;
seek(dosya,kno-1); write(dosya,bilgi);
writeln('Kayt Dzeltildi...');
readkey;
menuyaz;
end;
begin
assign(dosya,'telefon.dat');
{$i-} reset(dosya); {$i+}
if ioresult<>0 then rewrite(dosya);
repeat
menuyaz;
repeat
gotoxy(1,25);
t:=readkey;
case t of
#80:
begin
normalrenk;
gotoxy(35,3+sec);write(msec[sec]);
inc(sec);
if sec>6 then sec:=1;
secilirenk;
gotoxy(35,3+sec);write(msec[sec]);
end;
#72:
begin
normalrenk;
gotoxy(35,3+sec);write(msec[sec]);
dec(sec);
if sec<1 then sec:=6;
secilirenk;
gotoxy(35,3+sec);write(msec[sec]);
end;
#13:
begin
case sec of
1:kayitgir;
2:listele;
3:aramenu;
4:duzelt;
5:sil;
end;
end;
end;
until (sec=6) and (t=#13);
until (sec=6) and (t=#13);
close (dosya);
end.
type
telder=record
isim:string[15];
soyadi:string[15];
telefon:string[25];
adres:string[20];
email:string[20];
pk:longint;
end;
const
msec:array[1..6] of string=('Deftere Ekle','Listele ','Arama ','Dzelt ','Sil ','€kŸ ');
var
sec,i:integer;
tus:char;
dosya:file of telder;
bilgi:telder;
t:char;
procedure normalrenk;
begin
textcolor(yellow);
textbackground(blue);
end;
procedure secilirenk;
begin
textcolor(blue);
textbackground(yellow);
end;
procedure menuyaz;
var
j,x,y,k:integer;
begin
normalrenk;
clrscr;
x:=33; y:=3;
gotoxy(35,2);write(' M E N U ');
for j:=1 to 15 do begin
gotoxy(x,y);write('*');
gotoxy(x,y+7);write('*'); inc(x);
end;
x:=33; y:=3;
for k:=1 to 8 do begin
gotoxy(x,y); write('*');
gotoxy(x+15,y); write('*'); inc
end;
for i:=1 to 6 do begin
gotoxy(35,i+3);write(msec);
end;
secilirenk;
gotoxy(35,4);write(msec[1]);
sec:=1;
end;
procedure kayitgir;
var
tus2:char;
begin
repeat
normalrenk;
clrscr;
write('˜sim:');readln(bilgi.isim);
write('Soyad:');readln(bilgi.soyadi);
write('Telefon:'); readln(bilgi.telefon);
write('Adres:'); readln(bilgi.adres);
write('E-mail:'); readln(bilgi.email);
write('Posta kodu:'); readln(bilgi.pk);
seek(dosya,filesize(dosya));
write(dosya,bilgi);
writeln('Yeni kayt girilecek mi(e/h) ?');
tus2:=readkey;
until tus2 in ['h','H'];
menuyaz;
end;
procedure aramenu;
var
ch:char;
x,i:integer;
ad,soyad:string;
pkg:longint;
begin
normalrenk;
clrscr;
writeln('1- ˜sim ara');
writeln('2- Soyad ara');
writeln('3- Posta kodu ara');
repeat
ch:=readkey;
until ch in ['1','2','3'];
case ch of
'1':
begin
clrscr;
x:=0;
writeln('˜smi giriniz>>>'); readln(ad);
clrscr;
for i:=1 to 2 do begin
write('Aryor.'); delay(1500);write('.');delay(1500);
write('.'); delay(1500);write('.');delay(1500);write('.');delay(1500);
clrscr;
end;
reset(dosya);
gotoxy(1,1); write('No');
gotoxy(7,1);write('Ad Soyad');
gotoxy(25,1); write('Telefon');
gotoxy(35,1); write('Adres');
gotoxy(55,1); write('E-mail');
gotoxy(70,1); write('Posta kodu');
gotoxy(1,2); write('--------------------------------------------------------------------------------');
for i:=1 to filesize(dosya) do begin
read(dosya,bilgi);
if bilgi.isim=ad then begin
gotoxy(2,3+i); write(i+1);
gotoxy(7,3+i); write(bilgi.isim,' ',bilgi.soyadi);
gotoxy(25,3+i); write(bilgi.telefon);
gotoxy(35,3+i); write(bilgi.adres);
gotoxy(55,3+i); write(bilgi.email);
gotoxy(73,3+i); write(bilgi.pk);
x:=1;
end;
end;
if x=0 then writeln('Kayt bulunamad...');
readln;
end;
'2':
begin
clrscr;
x:=0;
writeln('Soyad giriniz>>>'); readln(soyad);
clrscr;
for i:=1 to 2 do begin
write('Aryor.'); delay(1500);write('.');delay(1500);
write('.'); delay(1500);write('.');delay(1500);write('.');delay(1500);
clrscr;
end;
reset(dosya);
gotoxy(1,1); write('No');
gotoxy(7,1);write('Ad Soyad');
gotoxy(25,1); write('Telefon');
gotoxy(35,1); write('Adres');
gotoxy(55,1); write('E-mail');
gotoxy(70,1); write('Posta kodu');
gotoxy(1,2); write('--------------------------------------------------------------------------------');
for i:=1 to filesize(dosya) do begin
read(dosya,bilgi);
if bilgi.soyadi=soyad then begin
gotoxy(2,3+i); write(i+1);
gotoxy(7,3+i); write(bilgi.isim,' ',bilgi.soyadi);
gotoxy(25,3+i); write(bilgi.telefon);
gotoxy(35,3+i); write(bilgi.adres);
gotoxy(55,3+i); write(bilgi.email);
gotoxy(73,3+i); write(bilgi.pk);
x:=1;
end;
end;
if x=0 then writeln('Kayt bulunamad...');
readln;
end;
'3':
begin
clrscr;
x:=0;
writeln('Posta kodu>>>'); readln(pkg);
clrscr;
for i:=1 to 2 do begin
write('Aryor.'); delay(1500);write('.');delay(1500);
write('.'); delay(1500);write('.');delay(1500);write('.');delay(1500);
clrscr;
end;
reset(dosya);
gotoxy(1,1); write('No');
gotoxy(7,1);write('Ad Soyad');
gotoxy(25,1); write('Telefon');
gotoxy(35,1); write('Adres');
gotoxy(55,1); write('E-mail');
gotoxy(70,1); write('Posta kodu');
gotoxy(1,2); write('--------------------------------------------------------------------------------');
for i:=1 to filesize(dosya) do begin
read(dosya,bilgi);
if bilgi.pk=pkg then begin
gotoxy(2,3+i); write(i+1);
gotoxy(7,3+i); write(bilgi.isim,' ',bilgi.soyadi);
gotoxy(25,3+i); write(bilgi.telefon);
gotoxy(35,3+i); write(bilgi.adres);
gotoxy(55,3+i); write(bilgi.email);
gotoxy(73,3+i); write(bilgi.pk);
x:=1;
end;
end;
if x=0 then writeln('Kayt bulunamad...');
readln;
end;
end;
menuyaz;
end;
procedure listele;
var
i,x,y:integer;
begin
seek(dosya,0);
normalrenk;
clrscr;
gotoxy(1,1); write('No');
gotoxy(7,1);write('Ad Soyad');
gotoxy(25,1); write('Telefon');
gotoxy(35,1); write('Adres');
gotoxy(55,1); write('E-mail');
gotoxy(70,1); write('Posta kodu');
gotoxy(1,2); write('--------------------------------------------------------------------------------');
x:=1; y:=4;
for i:=0 to filesize(dosya)-1 do begin
read(dosya,bilgi);
gotoxy(2,3+i); write(i+1);
gotoxy(7,3+i); write(bilgi.isim,' ',bilgi.soyadi);
gotoxy(25,3+i); write(bilgi.telefon);
gotoxy(35,3+i); write(bilgi.adres);
gotoxy(55,3+i); write(bilgi.email);
gotoxy(73,3+i); write(bilgi.pk);
inc
end;
readln;
menuyaz;
end;
procedure sil;
var
gec:integer;
gecici:file of telder;
yaz:boolean;
sil:char;
sil_ad:string;
begin
normalrenk;
clrscr;
assign(dosya,'teleder.dat');
assign(gecici,'gecici.dat');
reset(dosya);
rewrite(gecici);
writeln('Silmek ˜stedi§iniz Ad ... '); readln(sil_ad);
gec:=0;
while not eof(dosya) do begin
yaz:=true;
read(dosya,bilgi);
if sil_ad=bilgi.isim then begin
gec:=1;
textcolor(15);
writeln('Ad>>>',bilgi.isim);
writeln('Soyad>>>',bilgi.soyadi);
writeln('Telefon>>>',bilgi.telefon);
writeln('Adres>>>',bilgi.adres);
writeln('E-mail>>>',bilgi.email);
writeln('Posta kodu>>>',bilgi.pk);
writeln;
write('Silmek istedi§inizden emin misiniz (e/h) ?>');
repeat
sil:=readkey;
until sil in ['e','E','h','H'];
if sil in ['e', 'E'] then yaz:=false;
end;
if yaz then begin
write(gecici,bilgi);
writeln;
end
else begin writeln('Kayt Silindi ... !'); readln; end;
end;
close(dosya);
close(gecici);
if gec=0 then begin
textcolor(green+blink);
writeln(' Aranan Kayt Bulunamad...! ');
erase(gecici);
readln;
end
else begin
erase(dosya);
rename(gecici,'teleder.dat');
end;
reset(dosya);
menuyaz;
end;
procedure duzelt;
var
kno:integer;
ksec:char;
begin
normalrenk;
clrscr;
write('Dzeltilecek Kaydn Numarasn Giriniz : '); readln(kno);
seek(dosya,kno-1);
read(dosya,bilgi);
repeat
clrscr;
writeln('1- Ad : ',bilgi.isim);
writeln('2- Soyad : ',bilgi.soyadi);
writeln('3- Telefon : ',bilgi.telefon);
writeln('4- Adres : ',bilgi.adres);
writeln('5- E-mail : ',bilgi.email);
writeln('6- Posta kodu : ',bilgi.pk);
writeln;
writeln('Se‡iminiz :1-2-3-4-5-6 ');
gotoxy(5,24);
writeln('Dzeltmeyi yaptktan sonra kaydetmek i‡in <enter> a basn...');
gotoxy(1,9);
repeat
ksec:=readkey;
until ksec in ['1','2','3','4','5','6',#13];
writeln;
case ksec of
'1': begin writeln ('Yeni Ad Giriniz : '); readln(bilgi.isim); end;
'2': begin writeln ('Yeni Soyad Giriniz : '); readln(bilgi.soyadi); end;
'3': begin writeln ('Yeni Telefonu Giriniz : '); readln(bilgi.telefon); end;
'4': begin writeln ('Yeni Adresi Giriniz: '); readln(bilgi.adres); end;
'5': begin writeln ('Yeni E-maili Giriniz : '); readln(bilgi.email); end;
'6': begin writeln ('Yeni Posta Kodunu Giriniz : '); readln(bilgi.pk); end;
end;
until ksec=#13;
writeln;
seek(dosya,kno-1); write(dosya,bilgi);
writeln('Kayt Dzeltildi...');
readkey;
menuyaz;
end;
begin
assign(dosya,'telefon.dat');
{$i-} reset(dosya); {$i+}
if ioresult<>0 then rewrite(dosya);
repeat
menuyaz;
repeat
gotoxy(1,25);
t:=readkey;
case t of
#80:
begin
normalrenk;
gotoxy(35,3+sec);write(msec[sec]);
inc(sec);
if sec>6 then sec:=1;
secilirenk;
gotoxy(35,3+sec);write(msec[sec]);
end;
#72:
begin
normalrenk;
gotoxy(35,3+sec);write(msec[sec]);
dec(sec);
if sec<1 then sec:=6;
secilirenk;
gotoxy(35,3+sec);write(msec[sec]);
end;
#13:
begin
case sec of
1:kayitgir;
2:listele;
3:aramenu;
4:duzelt;
5:sil;
end;
end;
end;
until (sec=6) and (t=#13);
until (sec=6) and (t=#13);
close (dosya);
end.