Printer genişliği

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hatice_sevim
Üye
Mesajlar: 50
Kayıt: 17 Haz 2003 09:00
Konum: İstanbul

Printer genişliği

Mesaj gönderen hatice_sevim »

Merhaba arkadaşlar;

Aşağıdaki printer dökümümün çıktısı ;

Kod: Tümünü seç

  Printer.Canvas.Font.Height := 15;
  printer.begindoc;
   printer.canvas.TextOut(sutun,satir,'---------------------');
    satir := satir + Printer.Canvas.Font.Height;
  printer.canvas.TextOut(sutun,satir,'|                     |');
    satir := satir + Printer.Canvas.Font.Height;
  str9 := '|   ' + formatdatetime('ddmmmmmyyyy',date) +'    |';
  printer.canvas.TextOut(sutun,satir,str9);
    satir := satir + Printer.Canvas.Font.Height;
  printer.canvas.TextOut(sutun,satir,'|                     |');
    satir := satir + Printer.Canvas.Font.Height;
  printer.canvas.TextOut(sutun,satir,'|---------------------|');
    satir := satir + Printer.Canvas.Font.Height;
                             str9 := '|  NO ...... 009788   |';
  printer.canvas.TextOut(sutun,satir,str9);
    satir := satir + Printer.Canvas.Font.Height;
  printer.canvas.TextOut(sutun,satir,' --------------------- ');
  printer.enddoc;
------------------------
| |
|27 Haziran2003|
| |
|-----------------------|
| NO ...... 009788 |';

Şeklinde bir şey çıkıyor. BU da benim istediğim değil dolayısıyla. Ki örnek kodları Delphi editöründe sondaki (|) işaretleri alt alta gelmesine rağmen burada görüldüğü gibi gelmedi. kopyalayıp yapıştırmama rahmen... (programımımda alt alta olduğunu hatırlatmak için)

Başlangıçta yüksekliği verdiğim gibi karakter genişliğinide vermeyi denedim ama böyle bir seçeneğim çıkmıyor...

Bunu text olarakta denedim ama aynısı geliyor...
Bunları aynı izada alabilir miyim? Nasıl???

Teşekkürler.
Hatice SEVİM / BEDAŞ
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

tam anladigimdan emin olamamakla birlikte galiba alt alta gelen satirlarda belirli bir sutun hizalamasi ils ilgili bir problem olarak anladim.

Bunun icin kullanılan font olayi etkiler Courier gibi eş aralikli bir font kullanırsanız her bir karakterin aralığı eşit olduğu için hizalamalarda bir sorun olmaz.

Zaten Delpih Editöründe de kullanılan default font "Courier New" dir. Ayni fontu kullanırsanız editördeki yaptığınız hizalamalar yazıcıya da aynen yansır.

Kolay gelsin...
hatice_sevim
Üye
Mesajlar: 50
Kayıt: 17 Haz 2003 09:00
Konum: İstanbul

Mesaj gönderen hatice_sevim »

Evet Fahrettin Bey, aynen söylediğiniz gibi hizalama yapamıyorum. Ki buraya yazdığım kodlardaki boşluklar tamamen bitişmiş görünüyor.

Peki Sizin söylediğinizi nasıl??? yapabilirim onu anlamadım.

Çok teşekkürler...
Hatice SEVİM / BEDAŞ
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

buradaki problem yazdığınız kısmı Code tag ları arasında yazarsanız daha okunaklı çıkabilir.

Kod: Tümünü seç

[code]  
[/code]

yukarıda kodu ve çıktısı olan dökümdeki problemi Fahrettin beyin söylediği gibi Currier font kullanarak çözebilirsin. Amaç dotmatrix bir döküm almaksa önerim zreport u kullanmandır. qreport ve report builder a benzer bir yapısı var. Ayrıca yapılmak istenen olay daha detaylı anlatılırsa daha pratik çözüm ve öneriler sunulabilir..
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Yani kodunuza

Kod: Tümünü seç

  printer.canvas.Font.Name:=TFontName('Courier New')

eklerseniz. Courier New fontu ile yazdirmis olursunuz ve de bu font ile de Delphi editorundeki yaptiginiz hizalamalar aynen yazıcıya aktarılmış olur....

Kolay gelsin...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7587
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

rsimsek yazdı:buradaki problem yazdığınız kısmı Code tag ları arasında yazarsanız daha okunaklı çıkabilir.

Kod: Tümünü seç

[code]  
[/code]
Merhaba,

abi gerekli gördüğün yerde, mesajlara faydalı müdaheleler yapabilirsin, sen bir moderatörsün :wink:

Ben de genelde mesajlara pek müdahele etmiyorum ancak uzun kod parçalarını

Kod: Tümünü seç

 [/code ] tagları içinde yazılmayınca okumak çok zor oluyor. 

Kolay gelsin.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

:wink: amaç problemin çözümüne bir katkıda bulunabilmek.

naçizane, abiyane tabirle hayattan yediğimiz kazıkların bileşkesi ile pardon tecrübelerimizle sevgili delphi dostları kardeşlerimize bir nebze de olsa merhem olabiliyorsak ne mutlu :)
hatice_sevim
Üye
Mesajlar: 50
Kayıt: 17 Haz 2003 09:00
Konum: İstanbul

Mesaj gönderen hatice_sevim »

Günaydın arkadaşlar;

Çok Teşekkürler... :D
Yapmak istediğim tarih ve No yu yazan tablo şekilinde bir çıktı almaktı. satır karakterlerinin sayısını aynı yapmama rağmen tablom düzgün çıkmıyordu. Fahrattin Bey' in söylediği font' la istediğim oldu. Allah razı olsun.
Herkese kolay gelsin....
Hatice SEVİM / BEDAŞ
Cevapla