Programalama > PASCAL

Etiketler: rasgele, erisimli, ajanda

Ort. 0
Puan ver:
program ajanda_binary_file_ile;
uses wincrt;
type
    kayit= record
           ad , okul , tel: string[15];
           end;
var
   dd: file of kayit;
   rehber1, rehber2: kayit;
   n, karar, i: integer;
   sifre: string;
function adres(rehber1: kayit):integer;
var
chb, chs: char;
b,s,uz: integer;
begin
     uz:= length(rehber1.ad);
     chb:= rehber1.ad[1];
     chs:= rehber1.ad[uz];
     b:= ord(chb);
     s:= ord(chs);
     adres:= ( ( b+s) * uz ) mod (filesize(dd));
end;


procedure kaydet;
var
ch1: char;
begin
repeat
      write('---- ad      >>> '); readln(rehber1.ad);
      write('---- okul    >>> '); readln(rehber1.okul);
      write('---- telefon >>> '); readln(rehber1.tel);
      seek(dd, adres(rehber1));
      read(dd,rehber2);
      if (length(rehber2.ad) <> 0) then
      begin
           writeln('!!! UYARI !!! kayit yapilacak yerde zaten baska bir kayit var')
      end
      else
      begin
           seek(dd,adres(rehber1));
           write(dd,rehber1);
           writeln('-------------!!! kayit olusturuldu !!!------------------')
      end;
      writeln('devam etmek istiyormusunuz??? < e , h >');
      ch1:= readkey;
until ch1 in ['h', 'H' ] 
end;


procedure degistir;
var
   ch: char;
begin
     writeln(' degistirmek istediginiz kisinin adini giriniz... ');
     write('ad >>> ');
     readln(rehber1.ad);
     seek(dd, adres(rehber1));
     read(dd, rehber2);
     writeln('aradiginiz kisinin yerinde bulunan bilgiler...');
     writeln('----------------------------------------------------------');
     writeln(rehber2.ad:20, rehber2.okul:20,rehber2.tel: 20);
     writeln('-----------------------------------------------------------');
     writeln('aradiginiz bilgiler bunlar mi??? < e , h > ');
     ch:=readkey;
     if ch in ['e', 'E' ] then
     begin
          write('    ad      >>> ');readln(rehber2.ad);
          write('    okul    >>> '); readln(rehber2.okul);
          write('    telefon >>> '); readln(rehber2.tel);
          seek(dd,adres(rehber1));
          write(dd, rehber2);
          writeln('------------ !!!! bilgiler degistirildi !!!! --------------- ');
     end
     else
     writeln(' aradiginiz kisi bulunamadi!!! tekrar deneyin!!! ');
end;
procedure  oku;
begin
     for i:=1 to (filesize (dd) - 1) do
     begin
          seek(dd, i);
          read(dd,rehber1);
          if (length( rehber1.ad)<>0) then
          begin
               writeln('-------------------------------------------------------');
               writeln(rehber1.ad:20,rehber1.okul:20, rehber1.tel:20)
          end
     end;
     writeln; writeln;
     writeln('---------------------- !!! bilgiler yazdirildi !!! ------------------------');
end;
label
     bas,son, yer1,yer2,yer3,yer4;
begin
     writeln('------------------------------------------------------------------------------');
     writeln;
     writeln('----------------------  A --- J --- A --- N --- D --- A  ---------------------' );
     writeln;
     writeln('-------------------------------------------------------------------------------');
     assign(dd, 'rehber.dat');
     reset(dd);
     bas:
         writeln(' 1 : dosya olusturacagim (kayitlar silinir)');
         writeln(' 2 : yeni kayit ekleyecegim');
         writeln(' 3 : varolan kaydi degistirecegim');
         writeln(' 4 : ajandami gorecegim');
         writeln(' 5 : isim bitti, ben kacar hocaaaa! ');
         readln(karar);
         case karar of
         1: goto yer1;
         2: goto yer2;
         3: goto yer3;
         4: goto yer4;
         5: goto son
         end;
         yer1: writeln('sifre??? :)))');
               readln(sifre);
               if (sifre='kopuk')  then
               begin
              close(dd); rewrite(dd);
              write(' kac tane kayit olusturulacak >>> '); readln(n);
              for i:=1 to n do
              begin
                   seek(dd,i);
                   rehber1.ad:='';rehber1.okul:=''; rehber1.tel:='';
                   write(dd,rehber1);
              end;
                  writeln('--------------------------!!! dosya olusturuldu !!!----------------------------');
              close(dd); reset(dd);
              end
              else
              writeln(' !!!yanlis sifre!!!------------!!! yabanci!!!--------------');
           goto bas;
         yer2:writeln('sifre??? :)))');
               readln(sifre);
               if (sifre='kopuk')  then
               begin
              kaydet;
              end
              else
              writeln(' !!!yanlis sifre!!!------------!!! yabanci!!!--------------');
         goto bas;
         yer3:  writeln('sifre??? :)))');
               readln(sifre);
               if (sifre='kopuk')  then
               begin
              degistir;
              end
              else
              writeln(' !!!yanlis sifre!!!------------!!! yabanci!!!--------------');
         goto bas;
         yer4:  writeln('sifre??? :)))');
               readln(sifre);
               if (sifre='kopuk')  then
               begin
              oku;
              end
              else
              writeln(' !!!yanlis sifre!!!------------!!! yabanci!!!--------------');
         goto bas;
         son:
         writeln('--------- güle güle, iYi GüNLER ------------')
end.


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.