Program Rehber;
Uses Crt;
Type
Kayit_tipi=record
F :char;
Isim :string[15];
Soyad:string[20];
Tel :string[15];
End;
Var
Devam :char;
Ara_kod :integer;
Son_kod :integer;
Evethayir :char;
Kayit :kayit_tipi;
Dosya :file Of Kayit_tipi;
Cikis :boolean;
Secim :byte;
Kod :integer;
Procedure Giris;
Var
Bulundu:boolean;
Begin
Devam:='e';
While Devam<>'h' Do
Begin
Kod:=0;bulundu:=true;
Clrscr;
Write('kayit No Giriniz:');
Readln(kod);
If Kod<>0 Then Begin
Evethayir:='h';
If Kod<=filesize(dosya) Then
Begin
Seek(dosya,kod-1);read(dosya,kayit);
If Kayit.f='*'then Bulundu:=false;
End;
If Bulundu Then
Begin
While Evethayir='h' Do
Begin
Kayit.isim :=";
Kayit.soyad:=";
Kayit.tel :=";
Kayit.f :='*';
Gotoxy(15,5) ;write('isim Giriniz :');
Readln(kayit.isim);
Gotoxy(15,6) ;write('soyad Giriniz :');
Readln(kayit.soyad);
Gotoxy(15,7) ;write('telefon Giriniz :');
Readln(kayit.tel);
Gotoxy(15, ;write('girilen Kayit Dogru Mu [e/h]:');
Readln(evethayir);
End;
Seek(dosya,kod-1);
Write(dosya,kayit);
Gotoxy(15,9) ;writeln('dosyadaki Kayit Sayisi:[',filesize(dosya):5,']');
End Else
Write('bu Nolu Kayit Var',#7);
End;
Write(' Girilecek Baska Kayit Var Mi [e/h]:');
Readln(devam);
End;
End;
Procedure Duzelt;
Var
Bulundu:boolean;
Begin
Devam:='e';
While Devam<>'h' Do
Begin
Kod:=0;
Bulundu:=false;
Clrscr;
Write('kayit No Giriniz :');
Readln(kod);
If Kod<>0 Then
Begin
Evethayir:='h';
If Kod<=filesize(dosya) Then
Begin
Seek(dosya,kod-1);
Read(dosya,kayit);
If Kayit.f='*' Then Bulundu:=true;
End;
If Bulundu Then Begin
While Evethayir='h'do Begin
Gotoxy(1,2) ;writeln('eski Isim :',kayit.isim);
Gotoxy(1,3) ;writeln('eski Soyad:',kayit.soyad);
Gotoxy(1,4) ;writeln('eski Tel :',kayit.tel);
Kayit.isim:=";
Kayit.soyad:=";
Kayit.tel:=";
Kayit.f:='*';
Gotoxy(17,5) ;write('yeni Isim Giriniz :');
Readln(kayit.isim);
Gotoxy(17,6) ;write('yeni Soyad Giriniz :');
Readln(kayit.soyad);
Gotoxy(17,7) ;write('yeni Telefon Giriniz:');
Readln(kayit.tel);
Gotoxy(17, ;write('girilen Kayit Dogru Mu [e/h]:');
Readln(evethayir);
End;
Seek(dosya,kod-1);
Write(dosya,kayit);
Gotoxy(17,9) ;writeln('dosyadaki Kayit Sayisi:[',filesize(dosya):5,']');
End Else
Write ('bu Nolu Kayit Yok',#7);
End;
Write('duzeltilecek Baska Kayit Var Mi [e/h]:');
Readln(devam);
End;
End;
Procedure Silme;
Begin
Kod:=0;
Clrscr;
Write('silinecek Kayit No Giriniz:');
Readln(kod);
If Kod<>0 Then
Begin
Evethayir:='h';
If Kod<=filesize(dosya) Then
Begin
Seek(dosya,kod-1);
Read(dosya,kayit);
If Kayit.f='*' Then
Begin
Writeln('isim :',kayit.isim);
Writeln('soyad :',kayit.soyad);
Writeln('telefon:',kayit.tel);
Write('silinecek Kayit Dogru Mu [e/h]:',#7);
Readln(evethayir);
If Evethayir='e' Then
Begin
Kayit.isim:=' ';kayit.soyad:=' ';kayit.tel:=' ';
Kayit.f:=' ';
Seek(dosya,kod-1);
Write(dosya,kayit);
End;
End Else Write('bu Nolu Kayit Yok Yapiniz');
Readln(devam);
End;
End;
End;
Procedure Ekleme;
Begin
Giris;
End;
Procedure Arama;
Var
Ara :string[20];
Bulundu:boolean;
I :integer;
Begin
Devam:='e';
While Devam<>'h' Do
Begin
Clrscr;
I:=0;
Bulundu:=false;
Write('telefonunu Aradiginiz Ismi Giriniz:');
Readln(ara);
While (i<=filesize(dosya)) And (not Bulundu) Do
Begin
Seek(dosya,i);
Read(dosya,kayit);
If Kayit.isim=ara Then Bulundu:=true
Else I:=succ(i);
End;
If Bulundu Then
Begin
Clrscr;
Writeln('aranan Isim :',kayit.isim);
Writeln('aranan Soyad :',kayit.soyad);
Writeln('aranan Telefon:',kayit.tel);
End
Else
Write('boyle Bir Kayit Yok',#7,#7);
Write('devam Mi [e/h]:');
Readln(devam);
End;
End;
Procedure Liste;
Begin
Clrscr;
Write('ilk Kodu Giriniz :');
Readln(ara_kod);
Write('son Kodu Giriniz :');
Readln(son_kod);
While (ara_kod<=son_kod) And (ara_kod<=filesize(dosya)) Do
Begin
Seek(dosya,ara_kod-1);
Read(dosya,kayit);
Writeln(kayit.isim :15,kayit.soyad :20,' ',kayit.tel :7);
Ara_kod:=succ(ara_kod);
End;
Write('tamamsa Yap');
Readln;
End;
Procedure Menu;
Begin
Cikis:=false;
While Not Cikis Do
Begin
Clrscr;
Gotoxy(27,5) ;writeln('**** Secenek Menusu ****');
Gotoxy(27,6) ;writeln('1....kayit Girisi');
Gotoxy(27,7) ;writeln('2....kayit Duzeltme');
Gotoxy(27, ;writeln('3....kayit Silme');
Gotoxy(27,9) ;writeln('4....kayit Ekleme');
Gotoxy(27,10);writeln('5....kayit Arama');
Gotoxy(27,11);writeln('6....kayit Listeleme');
Gotoxy(27,12);writeln('7....cikis');
Writeln;
Writeln;
Gotoxy(27,15);write('seciminizi Giriniz[1/7]:');
Readln(secim);
If Secim=1 Then Giris;
If Secim=2 Then Duzelt;
If Secim=3 Then Silme;
If Secim=4 Then Ekleme;
If Secim=5 Then Arama;
If Secim=6 Then Liste;
If Secim=7 Then Cikis:=true;
End;
End;
Begin
Assign(dosya,'rehber.dat');
{$i-} Reset(dosya); {$i+}
If Ioresult<>0 Then Rewrite(dosya);
Menu;
Close(dosya);
End.