Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Dosyaya veri girme, dosyadan veri okutma ve istenen veriyi sildirme

ByOnur58

MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,114
  • MFC Puanı
    10
Kod:
 program dosyadan_veri_silme;
{$APPTYPE CONSOLE}
const kayitsayisi=20;

type
 tamsayilardosyasi=file of integer;

 var
  dosd:tamsayilardosyasi;
  i:1..kayitsayisi;
  kayitno:integer;//  silinecek kaydın numarası.
  sonkayitno:integer;
  kayit:integer;

   begin

   // Dosyaya Yazdırma;
   assignfile(dosd,'tamsayi.pas');
   rewrite(dosd);
   for i:=1 to kayitsayisi do
     write(dosd,i);
     closefile(dosd);
     writeln;
       writeln('Dosyaya yazma islemi tamamlandi.');
       write('Devam etmek icin bir tusa basin.');
       readln;
       //Dosyadan kayit silme:

       assignfile(dosd,'tamsayi.pas');
       reset(dosd);
       {$I-}
        if ioresult <> 0 then
          begin
            write('Dosya Bulunamadi.');
            readln;
            halt
          end;
        {$I+}
           writeln;
           write('Silinecek kaydin numarasini giriniz.');
           readln(kayitno);
           writeln(kayitno+1,'inci kayit silinecek.');
           writeln;
              writeln('silinen kayit=',kayitno+1);
              sonkayitno:=filesize(dosd)-1;
              for i:=kayitno+1 to sonkayitno do
         begin
           seek(dosd,i);// i numaralı kayıda konumlan.
           read(dosd,kayit);//i  kaydı oku.
           seek(dosd,i-1);// i denumaralın önceki konuma yerleş.
           write(dosd,kayit);// i den önceki konuma, kayit i yaz.
         end;

        truncate(dosd); //bulunan kayda dosya sonu isareti koy.
        closefile(dosd);
           //yeni kaydi dosyadan okutup ekrana yazdirma

      assignfile(dosd,'tamsayi.pas');
      reset(dosd);
      {$I-}
       if ioresult <>0 then
         begin
         write('Dosya Bulunamadi.');
         readln;
         halt
       end;
       {$I+}
        while not eof(dosd) do
         begin
         read(dosd,kayit);
         writeln('kayit=',kayit);
        end;
        closefile(dosd);
        write('Liste Sonu!..');
        readln;

  end.
 
Üst Alt