ilgili kolana yazdırmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

ilgili kolana yazdırmak

Mesaj gönderen rapsodim »

Arkadaşlar merhaba,
edit1 ve edit2 de kazılacak bilgileri text dosyaya kayıt etmek istiyorum fakat edit1 içindeki bilgiyi 5. kolona edit2 deki bilgiyide 36. kolana yazmak istiyorum.

write(textdosya,edit1.text);
write(textdosya,edit2.text); yazınca yan yana yazıyor.şimdiden fikir ve yardımlarınız için tşkrler.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
aradaki kolon kadar boşluk ekle öyle yazdır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Mesaj gönderen rapsodim »

dediğinizi denedim fakat problem oluyor.parametrik yapmak ve satırda kaçıncı sıraya koymak daha doğru.bunu nasıl yapabiliriz.
Örneğin;
hsp1:=' Mkk3';
write(textdosya,hsp1);
hps2:=' ads');

veya
Sk1:= copy(' ',1, 9 - length(trim(edit1.text) ))+edit1.text;
edit1.text:=sk1;
write(textdosya,edit1.text);

ama dediğim gibi problem oluyor.boşluk yerine kolondaki sırayı verebilirsek daha iyi olur.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

kolondoki sıra dediğin şey nedir önce onu bi anlayalım. ben sütun olarak algılıyorum ve ona göre söylüyorum.
edit 1in içine yazdığınız yazının 5.sütündan itibaren yazmasını istiyorsanız onun önüne 5 tane boşluk atasın 5.sütundan yazar.
ama eğer kolonderken başka birşeyden bahsediyorsan olmuyor.
bilgisayar senini kolonunu bilemez onu gene senin bilgisayara tanıtman lazım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Mesaj gönderen rapsodim »

kolondan kastım sütün.
ama boşluk sayısı fazla olduğunda boşluklarla boğuşmak gerekir.boşluk bırakmak yerine kaç tane boşluk verileceğini parametrik verilemez mi?

ismail3:=' '; {9 bolluk}
ismail4:=formatdatetime('yymmdd',now);
ismail11:=copy(ismail3,1, 6 - length(trim(ismail4) ))+ismail4;

şeklinde yapılıyor.fakat ismail3 değişkenindeki boşluk ifadesini sayısay verip copy den sonra bu tanıtılamaz mı?
Mysterio
Üye
Mesajlar: 44
Kayıt: 18 Eki 2006 01:42

Mesaj gönderen Mysterio »

Boşluk yerine Tab karakteri ( Chr(9) ) kullanmak daha mantıklı olur gibime geliyor.

verileri tekrar sütunlara yerleştirmek için de tablardan bölüp String grid kullanabilirsin
Karsilastiginiz sorunlari, o sorunlari yarattiginiz düsünce düzleminde kalarak çözemezsiniz.
Einstein.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Format fonksiyonunu kullanmaya alışın derim... Çok kolaydır.

- Bir karakterden belli birayıda yazdırmak için StringOfChar() fonksiyonu da kullanılabilir.

Bir kaç örnek :

Kod: Tümünü seç

  Memo1.Lines.Add( Format('Muharrem%-20sARMAN', ['Sola Yanaşık']) );
  Memo1.Lines.Add( Format('Muharrem%20sARMAN', ['Sağa Yanaşık']) );
  Memo1.Lines.Add( 'Muharrem'+StringOfChar(' ', 10)+'ARMAN' );
- Yazı stili olarak Courier kullanırsanız her harf eşirt genişlikte olacağından eşit adet boşluklu yazılar eşit aralıklarla görünürler.. bunu bilgi de bir yerlerde bulunsun.

- Sütun olarak liste ihtiyacınız varsa TListView'in vsRport tipini kullanın derim. Çok faydadır.

- Çalışmalarınızda başarılar...
Resim
Resim ....Resim
Cevapla