varsayılan yazıcıyı değiştirmek veya belli yazıcılara gönder

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kamuran48
Üye
Mesajlar: 284
Kayıt: 29 Eyl 2003 09:27
Konum: muğla

varsayılan yazıcıyı değiştirmek veya belli yazıcılara gönder

Mesaj gönderen kamuran48 »

selam,
bir bilgisayardan hem barcod hemde hemde normal yazıların çıktısını almak istiyorum.barcod gönderdiğim zaman barkod yazıcı diğer çıktılarda da diğer yazıcı yazdırsın istiyorum. veya direkt yazıcının ismine çıktı göndermem mümkünmü.
iyi çalışmalar.
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Mesaj gönderen m_ekici »

mümkün, ama yazdırma için ne kullanıyorsun?

Fast Report için aşağıdaki kodu kullanabilirsin;

Kod: Tümünü seç

   begin
   Report:=frReport1;
   Report.ChangePrinter(-1,YIND);
   Report.LoadFromFile('BarcodeYaz.frf');
   Report.OnObjectClick  :=nil;
   Report.OnmouseOverObject :=nil;
   Report.Preview := Form30.frPreview1;
   If Report.PrepareReport Then
      begin
      .....
YIND'e yazdırmak istediğin yazıcının numarası aktarırsan o yazıcıya gider. (Printer.Printers)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
printers unitinde
printer nesnesi ile yapabilirsin sanırım.

Kod: Tümünü seç

printer.SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle)
metodu ile değiştirebilmen lazım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
turkcanfidan
Üye
Mesajlar: 380
Kayıt: 31 Eki 2005 03:26

Mesaj gönderen turkcanfidan »

Merhaba Kamuran,

Ben onu şu şekilde çözmüştüm;
yazıcıların ismini BARKOD, NORMAL, DOTMATRIX olarak her bilgisayarda standart yaptım.

borkod bastıracağım yerde SetDefaultPrinter('BARKOD');

sürekli form kağıda bastırmak için SetDefaultPrinter('DOTMATRIX');

normal windows grafik çıktılar için SetDefaultPrinter('NORMAL');

yapıyorum. preview yapmadan print yaptırıyorum. yalnız bir sorunum var, XP de ağ üzerinde bir yazıcı tanımladığın zaman yazıcı bağlı bulunduğu bilgisayarda adı değiştirilebiliyor. ağ üzerinde ise 'TERMINALxx üzerinde HP' gibi bir isim çıkıyor ve bunu değiştiremiyorsun. Bir zaman sonra 'TERMINALxx üzerinde HP otomatik' gibi bir yazıcı daha geliyor. aynı yazıcı otomatik yükleniyor. bunun adını değiştirebiliyorsun. kendi yüklediğinin adını değiştirtmiyor. Bunun sebebini bilen varsa ve anlatırsa sevinirim.

iyi çalışmalar.
Cevapla