txt dosyasına formatlı veri yazdırmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

txt dosyasına formatlı veri yazdırmak

Mesaj gönderen a_self_lion »

Kod: Tümünü seç

// posaktar için
veri1_Brc : string[16];
veri2_mlz_kod : string[16];
veri3_mik : string[10];
TF: TextFile;
begin

   veri1_Brc := cxGrid1DBBandedTableView1.DataController.GetValue(i, 13);
   veri2_Mlz_Kod := cxGrid1DBBandedTableView1.DataController.GetValue(i, 6);
   veri3_mik := cxGrid1DBBandedTableView1.DataController.GetValue(i, 9);
  
// posaktar.txt oluştur ve kaydet

AssignFile(TF, 'c:\Posaktar.TXT');
Rewrite(TF);
Writeln(TF, [veri1_Brc,veri2_Mlz_Kod,veri3_mik])) ;

CloseFile(TF);
burda veri1 veri2 veri3 değişkenlerimie aldığım bilgilerimi txt dosyasına kaydetmek istiyorum
veri1....16;veri2.....16;veri3....10 #
txt dosyasının içi böyle olacak
örenek olarak
  • 8699621303434 ;79124-01 ;20 #
    JAPON ;79144-02 ;22 #
    CAKMAK ;700 0725 ;23 #

Bunu nasıl yapabilirim yukardaki gibi denedim olmadı. Teşekkürler
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: txt dosyasına formatlı veri yazdırmak

Mesaj gönderen akdatilla »

Kod: Tümünü seç

AssignFile(TF, 'c:\Posaktar.TXT');
Rewrite(TF);
Writeln(TF, veri1_Brc+';'+veri2_Mlz_Kod+';'+veri3_mik+';') ;

CloseFile(TF);
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: txt dosyasına formatlı veri yazdırmak

Mesaj gönderen a_self_lion »

akdatilla yazdı:

Kod: Tümünü seç

AssignFile(TF, 'c:\Posaktar.TXT');
Rewrite(TF);
Writeln(TF, veri1_Brc+';'+veri2_Mlz_Kod+';'+veri3_mik+';') ;

CloseFile(TF);
Bu şekilde yapınca
puro;700 1439;5;
txt doyasına bunları kaydetti burda ben veri1_brc alanım 16 karekterlik ti bu kadar boşluk oluşmadı txtde
veri2_mlz_kod da 16 karekterlikti
veri3_mik de 10 karekterlikti oda olmadı sadece içine aldığı veriyi yazdı ; koymuş oysa 16ıncı karekterden sonra koyması gerekirdi.
birde cxgrid de döngüye giriyor chekbox işaretli alanları veri ile başlayan üc değişkene aldırıyordum. o satırlardaki verileri döngüde txt dosyasına alt alta yazması gerekiyor ama burda öncekini silmiş en sonuncu var burda onu nasıl yapabiliriz.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: txt dosyasına formatlı veri yazdırmak

Mesaj gönderen conari »

Bende zorlanmıştım önceden.
viewtopic.php?f=2&t=20707
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: txt dosyasına formatlı veri yazdırmak

Mesaj gönderen a_self_lion »

Kod: Tümünü seç

Writeln(f, FieldByName('MUSTERI').AsInteger:-15, ' ', FieldByName('STOK').AsString:15, ' ' ,FieldByName('AY1_MIKTAR').AsInteger:15, ' '  ,FieldByName('AY2_MIKTAR').AsInteger:15, ' ', FieldByName('AY3_MIKTAR').AsInteger:15);
Sayın Conari arkdaşın dediği yeri inceledim burda query den gelen alanları asstring:15 uygulanmış aynı mantıklı benim değikenlere nasıl uygulayabiliriz bunu çözemedim bu sefer offf
Writeln(TF, veri1_Brc:16+,';'+veri2_Mlz_Kod:16+,';'+veri3_mik:10+'#'); bu şekilde denedim olmadı farklı şekillerde de denedim yine olmadı.:(((
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: txt dosyasına formatlı veri yazdırmak

Mesaj gönderen emin_as »

http://www.delphibasics.co.uk/RTL.asp?Name=Format

Format fonksiyonu işini görür.
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: txt dosyasına formatlı veri yazdırmak

Mesaj gönderen a_self_lion »

Malesef denemediğim kalmadı
şimdi ben burda
var
veri1_Brc : string[16];
veri2_mlz_kod : string[16];
veri3_mik : string[10];
bu değişkenler için zaten gerekli değerleri atıyorum
niye gidip bu kadar text dosyaya yazmıyorlar illa farklı işler yapmak gerekiyor anlamıyorum.
Writeln(TF, ([veri1_Brc]:16)+';'+(veri2_Mlz_Kod:16)+';'+(veri3_mik:10)+'#'); enson burda kaldım çıldırdım artık olmadı

Writeln(TF, veri1_Brc+';'+veri2_Mlz_Kod+';'+veri3_mik+'#') ; bu hali ile
hiç karakter ayırmadan yazdırabiliyorum şöyle bir şey yazıyor text dosyasının içine

Kod: Tümünü seç

puro;700 1439;1#
PURO;700 1439;5#
çıktıyı göstermek için code aldım

ben istiyorum ki

Kod: Tümünü seç

PURO            ;700 1439        ;1          #
PURO            ;700 1439        ;5          # 
çıktıyı göstermek için code aldım

yani karekterleri sayı olarak alırsam bu şekilde soldan olan kadar yazacak olmayanı boşlut bırakacak 16 karaktere kadar sonra ; iareti koyacak o kadar

1234567890123456;1234567890123456;1234567890#

ama şunu malesef başaramadım. :(
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: txt dosyasına formatlı veri yazdırmak

Mesaj gönderen a_self_lion »

emin_as yazdı:http://www.delphibasics.co.uk/RTL.asp?Name=Format

Format fonksiyonu işini görür.
Writeln(TF, (format('%-16s',[veri1_Brc])),';',(format('%-16s',[veri2_Mlz_Kod])),';',(format('%-10s',[veri3_Mik])),'#');
Teşekkür ederim amin_as kardeş;

evetttttt olay bu imanımı gevretti şu iş yaaa neyimiş bu abi yaa

burda yukardaki linte dikkat edilmesi gerken bu %..d %..-d burda d olan yerlerde yukarda açıklama var s stringler için diğer değişkenler içinde farklı ben burayı atlayınca tabi olmuyordu sonunda oldu şükür.
Cevapla