Programalama > PASCAL

Etiketler: personel, takip

Ort. 0
Puan ver:
Program Personel_takip;    { Program adi tanimlamasi }
   Uses crt;
{ Kayit degiskenleri tanimlama }
   Type
     Personelkayit = Record
     Personeladisoyadi             : String[30] ;
     Personelcalgun                : integer    ;
     Personelavans,Personelgunlugu : longint    ;
     F                             : Char       ;
     Personelkalan                 : Longint    ;
    End;
{ Program icerisinde kullanilacak degiskenler tanimlama }
    Var
     PersonelDosya   : File Of Personelkayit ;
     Perkayit        : Personelkayit         ;
     t               : integer;
     Tus             : Char                  ;
     Cizgi           : String[80]            ;
     Satir           : Byte                  ;
     I,PersonelKod   : Integer               ;
procedure cerceve(x1,y1,x2,y2:byte);
var
i:integer;
cizgi:string[80];
begin
fillchar(cizgi,x2-x1,#169);
cizgi[0]:=chr(x2-x1-1);
gotoxy(x1,y1);
write(chr(218),cizgi,chr(191));
for i:=y1+1 to y2-1 do
begin
gotoxy(x1,i);write(chr(179));
gotoxy(x2,i);write(chr(179));
end;
gotoxy(x1,y2);
write(chr(192),cizgi,chr(217));
end;




{ Kayit bolumunde islemlerin yapilacagi procedure }
 Procedure Perkayitbolumu;
   Begin   { Procedure baslangici }
    Assign(PersonelDosya,'PERSONEL.DAT');  { Dosyayi acar }
    {$i-} Reset(PersonelDosya);PersonelKod:=IOResult;{$i+};
    If PersonelKod<>0 Then ReWrite(PersonelDosya); { Dosya yoksa olusturur }
    Clrscr;
    cerceve(10,5,70,15);
{ Dosyaya bilgi girisi icin ekran hazirlanir }
gotoxy(15,7);writeln('Personelin');
gotoxy(15,9);Write('Adi Soyadi ........:'); Readln(Perkayit.Personeladisoyadi);
If Perkayit.Personeladisoyadi='' Then Exit;
gotoxy(15,10);Write('   Calistigi Gun .:');Readln(Perkayit.Personelcalgun);
gotoxy(15,11);Write('         Gunlugu .:');Readln(Perkayit.Personelgunlugu);
gotoxy(15,12);Write('          Avansi .:'); Readln(Perkayit.Personelavans);
cerceve(10,16,70,18);
gotoxy(25,17);Write(' Bilgi Dosyaya Yazilsin mi ? [E/H]');
perkayit.personelkalan:=((perkayit.personelcalgun*perkayit.personelgunlugu)-perkayit.personelavans);
      Repeat
      Tus:=Upcase(Readkey);
      Until Tus In ['E','H'];
      If Tus='E' Then
       Begin
      Perkayit.f:='*';
      Seek(PersonelDosya,FileSize(PersonelDosya));
      Write(PersonelDosya,Perkayit);  { Kayitlari dosyaya yazar }
     End;
     close(personeldosya);    { Dosyayi kapatir }
     End;
{ Listeleme bolumunde islemlerin yapilacagi procedure }
 Procedure Perkayitliste ;
   var
    s ,a: integer ;                                Begin
    Clrscr;
    Assign(Personeldosya,'Personel.Dat');  { Dosyayi acar }
    {$i-} Reset(Personeldosya); I:=IOresult; {$i+}
    If I <> 0 Then
    begin
     gotoxy(10,23);writeln('Dosya Yok ......!'); tus:=readkey;halt; { Dosya kontrolu yapar dosya yoksa programi sonlandirir }
    end;
writeln('No          Adi    Soyadi           Cal.Gun   Gunlugu     Avans      Kalan');
writeln('---- ----------------------------  --------- ---------- ---------- ----------');
         window(1,3,90,27);
         s:=0;
         for i:=0 to filesize(personeldosya)-1 do
         begin
         seek(personeldosya,i);
         read(personeldosya,perkayit);  { Dosyadan verileri okur }
         if perkayit.f='*' then
         begin
          for a:=2 to 19 do
         begin

         write(chr(196));
         gotoxy(80,a);
         write(chr(186));
         gotoxy(1,a);
         write(chr(186));
         gotoxy(5,a);
         write(chr(186));
         gotoxy(26,a);
         write(chr(186));
         gotoxy(45,a);
         write(chr(186));
         gotoxy(53,a);
         write(chr(186));
         gotoxy(66,a);
         write(chr(186));
         end;
         gotoxy(1,2);
         write('ÉÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍ»');
         s:=s+1;  { Satir numarasina 1 ekler }
         gotoxy(1,2+s);write(i+1:3);
         gotoxy(7,2+s);write(perkayit.personeladisoyadi)    ;
         gotoxy(40,2+s);write(perkayit.personelcalgun) ;
         gotoxy(47,2+s);write(perkayit.personelgunlugu);
         gotoxy(57,2+s);write(perkayit.personelavans)  ;
         gotoxy(69,2+s);write(perkayit.personelkalan)  ;
          gotoxy(1,20);
         write('ÈÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍͼ');
     end;
     if s > 18 then  { Kayitlarin adetini hesaplar 18 den coksa 2 ci sayfaya gecis icin bir tusa basmanizi ister }
     begin
      gotoxy(20,21);write('Diger Sayfa icin Bir Tusa Basiniz ..!');
      tus:=readkey;
      s:=0;
      clrscr;
     end;
    end;
    gotoxy(20,25);write('Listelenecek Kayitlar Bitti ......!');
    tus:=readkey;
    window(1,1,90,27);  { Ekranda belirtilen olculerde pencere olusturur }
    close(personeldosya);   { Dosyayi kapatir }
   end;
{ Kayit degisiklik icin kullanilacak procedure }
  procedure perdegistir;
   var
   ara : string[30];
   artik_sayfa,sayfa_sayisi,i,j,s,a:integer;
  begin
  assign(personeldosya,'personel.dat');  { Kayitlarla ilgili dosyayi acar }
  {$i-} reset(personeldosya); personelkod:=ioresult; {$i+}
  if personelkod <> 0 then
  begin
  clrscr;
  writeln('Dosya Yok ....!');tus:=readkey;halt;   { Dosya yoksa programi sonlandirir }
  end;
  if filesize(personeldosya)mod 18=0then
  artik_sayfa:=0 else artik_sayfa:=1;
  sayfa_sayisi:=(filesize(personeldosya)div 18 )+artik_sayfa;
  t:=0;
  s:=0;
  clrscr;
  for j:=1 to sayfa_sayisi do
  begin
    for i:=0 to filesize(personeldosya)-1 do
  begin
  {write(i);readln;halt;}

 seek(personeldosya,i);
 read(personeldosya,perkayit);
  if (perkayit.f='*')then
  begin
  writeln('  No Adi    Soyadi                  Cal.Gun   Gunlugu     Avans      Kalan');
  writeln('---- ----------------------------  --------- ---------- ---------- ----------');
  window(1,3,80,24);
  s:=s+1;  { Satir numarasina 1 ekler }
         for a:=2 to 19 do
         begin

         write(chr(196));
         gotoxy(80,a);
         write(chr(186));
         gotoxy(1,a);
         write(chr(186));
         gotoxy(5,a);
         write(chr(186));
         gotoxy(26,a);
         write(chr(186));
         gotoxy(45,a);
         write(chr(186));
         gotoxy(53,a);
         write(chr(186));
         gotoxy(66,a);
         write(chr(186));
         end;
         gotoxy(1,2);
         write('ÉÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍ»');
         gotoxy(2,3+s);write(i+1:3);
         gotoxy(7,3+s);write(perkayit.personeladisoyadi);
         gotoxy(26,3+s);
         gotoxy(26,3);
         gotoxy(40,3+s);write(perkayit.personelcalgun) ;
         gotoxy(45,3+s);
         gotoxy(45,3);
         gotoxy(47,3+s);write(perkayit.personelgunlugu);
         gotoxy(53,3+s);
         gotoxy(53,3);
         gotoxy(57,3+s);write(perkayit.personelavans)  ;
         gotoxy(66,3+s);
         gotoxy(66,3);
         gotoxy(69,3+s);write(perkayit.personelkalan)  ;
         gotoxy(1,20);
         write('ÈÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍͼ');
  if s>18 then
  begin
  gotoxy(20,23);
  write('D&#732;¦ERSAYFAYA GE&#8364;MEK &#732;&#8364;&#732;N B&#732;R TU&#382;A BASINIZ ');
  s:=0;
  clrscr;
  tus:=readkey;
  end;
  window(1,1,80,24);
  end;
  if (i+1) mod 18 =0 then
  break;
  end;
  gotoxy(20,24);
  write('D&#353;ZELT&#732;LECEK KAYIT BU SAYFADAMI [E/H] =');
  repeat
  tus:=upcase(readkey);
  until tus in['E','H'];
  if tus ='E' then
  break;
  end;
   if tus ='E' then
   begin
    clrscr;
    cerceve(20,3,60,5);
    gotoxy(22,4);write('Duzeltilecek isim :');readln(ara);   { Duzeltilecek isim girisi yapilir }
    for i:=0 to filesize(personeldosya)-1 do
    begin
     seek(personeldosya,i);
     read(personeldosya,perkayit);  { Dosyadan verileri okur }
     if (ara=perkayit.personeladisoyadi) and (perkayit.f='*') then    { Aramayi yapar }
     begin
      clrscr;
      cerceve(10,5,70,15);
{ Dosyadaki bilgileri ekrana yazdirir }


gotoxy(15,7);writeln('Adi Soyadi ....:',perkayit.personeladisoyadi);
   gotoxy(15,9);writeln('Calistigi Gun .:',perkayit.personelcalgun)   ;
   gotoxy(15,11);writeln('Gunlugu .......:',perkayit.personelgunlugu)  ;
   gotoxy(15,13);writeln('Avans .........:',perkayit.personelavans)    ;
   gotoxy(15,15);writeln('Kalan .........:',perkayit.personelkalan)    ;
   cerceve(10,16,70,18);




      gotoxy(20,17);write('Duzeltilecek Kayit Bu mu? [E/H] ');
      repeat
       tus:=upcase(readkey);
      until tus in ['E','H'];
      if tus='E' then
      begin
      clrscr;
{ Dosyadaki bilgileri ekrana yazdirir }
  cerceve(10,5,70,15);
 gotoxy(15,7);write('Adi Soyadi ....:');readln(perkayit.personeladisoyadi);
 gotoxy(15,9);write('Calistigi Gun .:');readln(perkayit.personelcalgun)   ;
 gotoxy(15,11);write('Gunlugu .......:');readln(perkayit.personelgunlugu)  ;
 gotoxy(15,13);write('Avans .........:');readln(perkayit.personelavans)    ;
perkayit.personelkalan:=((perkayit.personelcalgun*perkayit.personelgunlugu)-perkayit.personelavans);
     seek(personeldosya,i);
     write(personeldosya,perkayit); { Bilgileri dosyaya yazar }
     cerceve(10,16,70,18);
     gotoxy(25,17);write('Islem Tamamlandi .....!');
     close(personeldosya);
     tus:=readkey;
     exit;
     end;
 end;
 end;
 end;
 clrscr;
 write('Kayit Yok ....!');
 close(personeldosya);
 tus:=readkey;
end;
{ Kayitlari silmede kullanilacak procedure }
 Procedure persilme;
  var
   ara : string[30];
   artik_sayfa,sayfa_sayisi,i,j,s,a:integer;
  begin
  assign(personeldosya,'personel.dat');  { Kayitlarla ilgili dosyayi acar }
  {$i-} reset(personeldosya); personelkod:=ioresult; {$i+}
  if personelkod <> 0 then
  begin
  clrscr;
  writeln('Dosya Yok ....!');tus:=readkey;halt;   { Dosya yoksa programi sonlandirir }
  end;
  if filesize(personeldosya)mod 18=0then
  artik_sayfa:=0 else artik_sayfa:=1;
  sayfa_sayisi:=(filesize(personeldosya)div 18 )+artik_sayfa;
  t:=0;
  s:=0;
  clrscr;
  for j:=1 to sayfa_sayisi do
  begin
    for i:=0 to filesize(personeldosya)-1 do
  begin
  {write(i);readln;halt;}

 seek(personeldosya,i);
 read(personeldosya,perkayit);
  if (perkayit.f='*')then
  begin
  writeln('  No Adi    Soyadi                  Cal.Gun   Gunlugu     Avans      Kalan');
  writeln('---- ----------------------------  --------- ---------- ---------- ----------');
  window(1,3,80,24);
  s:=s+1;  { Satir numarasina 1 ekler }
         for a:=2 to 19 do
         begin

         write(chr(196));
         gotoxy(80,a);
         write(chr(186));
         gotoxy(1,a);
         write(chr(186));
         gotoxy(5,a);
         write(chr(186));
         gotoxy(26,a);
         write(chr(186));
         gotoxy(45,a);
         write(chr(186));
         gotoxy(53,a);
         write(chr(186));
         gotoxy(66,a);
         write(chr(186));
         end;
         gotoxy(1,2);
         write('ÉÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍ»');
         gotoxy(2,3+s);write(i+1:3);
         gotoxy(7,3+s);write(perkayit.personeladisoyadi);
         gotoxy(26,3+s);
         gotoxy(26,3);
         gotoxy(40,3+s);write(perkayit.personelcalgun) ;
         gotoxy(45,3+s);
         gotoxy(45,3);
         gotoxy(47,3+s);write(perkayit.personelgunlugu);
         gotoxy(53,3+s);
         gotoxy(53,3);
         gotoxy(57,3+s);write(perkayit.personelavans)  ;
         gotoxy(66,3+s);
         gotoxy(66,3);
         gotoxy(69,3+s);write(perkayit.personelkalan)  ;
         gotoxy(1,20);
         write('ÈÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍͼ');
  if s>18 then
  begin
  gotoxy(20,23);
  write('D&#732;¦ERSAYFAYA GE&#8364;MEK &#732;&#8364;&#732;N B&#732;R TU&#382;A BASINIZ ');
  s:=0;
  clrscr;
  tus:=readkey;
  end;
  window(1,1,80,24);
  end;
  if (i+1) mod 18 =0 then
  break;
  end;
  gotoxy(20,24);
  write('S&#732;L&#732;NECEK KAYIT BU SAYFADAMI [E/H] =');
  repeat
  tus:=upcase(readkey);
  until tus in['E','H'];
  if tus ='E' then
  break;
  end;

if tus ='E' then
 begin
  clrscr;
  cerceve(10,3,70,5);
  gotoxy(15,4);write('Silinecek Isim ..:');readln(ara);
  for i:=0 to filesize(personeldosya)-1 do
  begin
   seek(personeldosya,i);
   read(personeldosya,perkayit); { Dosyadan kayitlari okur }
   if (ara=perkayit.personeladisoyadi) and (perkayit.f='*') then   { Belirtilen kisiyi arar }
   begin
   clrscr;
   cerceve(10,5,70,15);
{ Ekrana dosyadaki bilgileri yazar }
   gotoxy(15,7);writeln('Adi Soyadi ....:',perkayit.personeladisoyadi);
   gotoxy(15,9);writeln('Calistigi Gun .:',perkayit.personelcalgun)   ;
   gotoxy(15,11);writeln('Gunlugu .......:',perkayit.personelgunlugu)  ;
   gotoxy(15,13);writeln('Avans .........:',perkayit.personelavans)    ;
   gotoxy(15,15);writeln('Kalan .........:',perkayit.personelkalan)    ;
   cerceve(10,16,70,18);
   gotoxy(25,17);write('Silinecek Kayit Bu mu? [E/H] ');
   repeat
    tus:=upcase(readkey);
   until tus in ['E','H'];
   if tus='E' then
   begin
   perkayit.f:='s';
    seek(personeldosya,i);  { Dosyadan kayit arar }
   write(personeldosya,perkayit);    { Dosyaya kayitlari yazar }
   gotoxy(20,21);write('Kayit Silindi ...!');
   end;
   close(personeldosya); { Acilan dosyayi kapatir }
   tus:=readkey;     { Her hangi bir tusa basmaniz icin bekler }
   exit;

  end;
  end;
  end;
  clrscr;   { Ekrani temizler }
  write('Kayit Yok ...!');
  close(personeldosya); { Acilan dosyayi kapatir }
  tus:=readkey; { Herhangi bir tusa basmaniz icin bekler }
end;
{ Program baslangicinda cikacak ilk ekran MENU }
  Procedure permenu;
   Var
    Sec : Char ;
   Begin
    Repeat
    textcolor(14);
    textbackground(blue);
    Clrscr;     { Ekrani temizler }
    cerceve(1,1,80,24);
    cerceve(3,2,78,4);
    gotoxy(19,3);
    write('AL&#732; &#8364;ALI&#382;KAN :19 MAYIS &#8364;.P.L&#732;SES&#732;  10/D 456');
    cerceve(20,5,60,23);
    Gotoxy(30,10);writeln('[ 1 ] Personel Kayit     ');
    gotoxy(30,11);writeln('[ 2 ] Personel Degistirme');
    gotoxy(30,12);writeln('[ 3 ] Personel Silme     ');
    Gotoxy(30,13);writeln('[ 4 ] Personel Liste     ');
    Gotoxy(30,14);writeln('[Esc] Cikis              ');
    gotoxy(30,16);write('Seciminiz ...?');
{ Secim icin dongu baslatir }
    Repeat
     Sec:=Readkey;
{ Menude yapilacak secime gore gidilecek procedureler tanimi }
    Until Sec In ['1'..'4',#27];
    Case Sec Of
     '1' : Perkayitbolumu ;
     '2' : Perdegistir    ;
     '3' : Persilme       ;
     '4' : Perkayitliste  ;
      End;
      Until Sec=#27;
    End;
   Begin
{ Program derlendiginde gidilecek procedure tanimi }
     permenu;
{ Program sonu }
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.