• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Dosyaya veri girme, dosyadan veri okutma ve istenen veriyi sildirme

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
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