Şimdi Ara

pascal kayıt ekleme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
10
Cevap
0
Favori
598
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • program Untitled;
    uses crt;
    var
    isim:string;
    no:longint;
    dosya: file of string;
    begin
    writeln('İsmi girin:');read(isim);
    writeln('noyu girin:');read(no);
    assign(dosya,'c:/deneme.txt');
    rewrite(dosya);
    write(dosya,isim);

    end.
    buraya kadarını yaptım
    bundan sonra no yu dosya da biraz daha yana bir alt satıra eklemek istiyorum lütfen bu acemiye bir yardım edin



  • lütfen bi cp yazın
  • bence record sistemi kullan rahat edersin
     
    uses crt;
    type
    veri_tipi=record
    ad:string[70];
    no:string[10];
    end;
    var
    veri:veri_tipi;
    dosya:file of veri_tipi;
    begin
    assign(dosya,'dosya.dat');
    rewrite(dosya);
    veri.ad:='osman';
    veri.no:='3524212';
    write(dosya,veri);
    readln;
    end.
  • çok teşekkür ederim senin sayende kendimi baya bi geliştirdiğime inanıyorum
    bi de yazma işini tamamladım ama bu seferde okutamıyorum onun içinde bi yardım ederseniz arkadaşlar
    uses crt; 
    label BAS;
    type
    veri_tipi=record
    ad:string[70];
    no:string[10];
    f:char;
    end;
    var
    i:integer;
    tus,kontrol:char;
    arama:string;
    veri:veri_tipi;
    dosya:file of veri_tipi;
    begin
    BAS:
    writeln('1-Yazma');
    writeln('2-Okuma');
    readln(tus);
    case tus of
    '1':
    begin
    write('Ismi girin.....:');readln(veri.ad);
    write('Noyu girin.....:');readln(veri.no);
    assign(dosya,'c:/kayit.txt');
    reset(dosya);
    seek(dosya,filesize(dosya));write(dosya,veri);
    readln;
    end;
    '2':
    begin
    write('aradiginiz kisinin ismi ---> ');
    textcolor(white);
    readln(arama);
    if arama='' then exit;
    for i:=0 to filesize(dosya) do
    begin
    clrscr;
    seek(dosya,i);
    read(dosya,veri);
    if (veri.f='*') and (veri.ad=arama) then
    begin
    writeln('İsim...:',veri.ad);
    writeln('No.....:',veri.no);
    end;
    end;
    end;
    end;
    readln;
    goto BAS;
    end.

    end.




  • okurken de read komutunu kullanıyorsun
    read sana satırı verir ve sonraki satıra geçirir
     
    uses crt;
    type
    veri_tipi=record
    ad:string[70];
    no:string[10];
    end;
    var
    veri:veri_tipi;
    dosya:file of veri_tipi;
    begin
    assign(dosya,'dosya.dat');
    reset(dosya);

    clrscr;
    while not eof(dosya) do
    begin
    read(dosya,veri);
    writeln('ad:',veri.ad,' - no:',veri.no);
    end;
    readln;
    end.


    fakat bu kodlar yetersiz
    sebebi rewrite komudu veri dosyası olsada olmasada temiz bir dosya açar
    eğer varsa dosyayı siler bu yüzden reset komutu kullanılmalıdır
    fakat reset komudu da dosya yoksa çalışmamaktadır

    bu durumda bağlantı için şöyle bir kod kullanabilirsin
    ("{$i-}" ve "{$i+}" komutları arasında hatalar ekrana yansıtılmaz. ioresult da hata varmı yokmu onu tutar hata yoksa 0 dır)

     
    {$i-}
    reset(dosya);
    kod:=ioresult;
    {$i+}

    if kod<>0 then
    begin
    rewrite(dosya);
    close(dosya); {Gerek varmı bilmiyorum}
    reset(dosya);
    end;


    kod değişkenini integer tanımlamayı unutma




  • abi çok sağol normal okutmayı başarıyorum ama aratıpta okutmayı başaramıyorum msn adresini verirmisin ordn konuşalım merak etme sorular haricinde rahatsız etmem ahmet abi vardı panda nikli onunla da c++ konusunda böle uğraşmıştık lütfen
  • bildiğim kadarıyla aramak da böyle oluyor
    yani verileri tek tek yoklayıp arananla karşılaştırıyorsun
  • ama olmuyo abi derlerken hiçbir sorun yok ama kelimeyi yazıp enter a bastığımda program kapnıyo ya lütfen özelden msn adresini atarmısın işim bitince istersen engellersin
  • Şaka maka basit bir takip programını yazmış olucam bu son kodla :) bir silme kalıyor
     
    uses crt;
    type
    veri_tipi=record
    ad:string[70];
    no:string[10];
    end;
    var
    veri:veri_tipi;
    aranan:string[20];
    kod:integer;
    dosya:file of veri_tipi;
    begin
    assign(dosya,'dosya.dat');
    {$i-}
    reset(dosya);
    kod:=ioresult;
    {$i+}


    if kod<>0 then
    begin
    rewrite(dosya);
    close(dosya); {Gerek varmı bilmiyorum}
    reset(dosya);
    end;

    write('Aranan Kelimeyi gir yada ol: ');readln(aranan);
    clrscr;
    while not eof(dosya) do
    begin
    read(dosya,veri);
    {if pos(aranan,veri.ad)>0 then writeln(veri.no); }{aranani verilerin içinde arama}
    {if copy(veri.ad,1,length(aranan))=aranan then writeln(veri.no); }{aranani aranan kadar kontrol etme }
    if aranan=veri.ad then writeln(veri.no); {aranani direk karşılaştırma}
    end;
    readln;
    end.

    not: "{" leri kaldırırken karşılıklarını ( "}" ) unutma

    bu ikinci aramada yapılan kullanıcı as girerse as ile başlayanları listelemek



    < Bu mesaj bu kişi tarafından değiştirildi orcnd -- 10 Haziran 2008; 0:07:47 >




  • abi çok sağol
    yaptım buyrun arkadaşlar
    bi bakın
    telefon defteri
    bide şöle küçük bir sorum var ilk olarak kayıt yaptırıyoru mardından tekrar ana menüye döndürüp bu sefer arama yaptırmaya geliyorum program kapanıyor bir daha açıp direk aramaya gelince bir sorun olmuyor neden olabilir?



    < Bu mesaj bu kişi tarafından değiştirildi oguzhanlal -- 10 Haziran 2008; 13:45:47 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.