Fast Raport Sorunu

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
function
Üye
Mesajlar: 22
Kayıt: 03 Tem 2007 03:27

Fast Raport Sorunu

Mesaj gönderen function »

Merhabalar,
Fast Raport ta A4'ün yarısı büyüklüğünde sürekli forma yazdırmak istiyorum. Tüm Page ayarlarını yapmama rağmen yazdıktan sonra kafa sanki kağıt A4 müş gibi sonuna kadar gidiyor. Halbuki kafanın benim istediğim yerde durup ikinci sayfadan tekrar baslayıp yazması gerekiyor.Bu arada baskı aldığım Printer Oki. Bilmediğim başka bir ayar mı var? Yardımcı olursanız sevinirim.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Fast Raport Sorunu

Mesaj gönderen csunguray »

Denetim masası >Yazıcı ve Fakslar dan yazıcının sayfa ayarını A5'e getirin.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
function
Üye
Mesajlar: 22
Kayıt: 03 Tem 2007 03:27

Re: Fast Raport Sorunu

Mesaj gönderen function »

Merhaba,
Henüz denemedim ama aklıma geldi. Aynı printerden A4 formatında başka bir evrak daha basılıyor. Bu durumda sıkıntı yaşar mıyım?
Teşekkürler..
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Fast Raport Sorunu

Mesaj gönderen Battosai »

Yazıcıdan çıktı almadan önce printerdialog'u kullanıp sayfa boyutunu ayarlayabilirsin...Yok dialog falan açılmasın direk ayarlasın dersen yine kod ile Kağıt boyutu ayarlanabilir...Yazdırma işleminden önce kağıt boyutunu ayarlayan bir kod ile duruma göre A4 veya A5 yazdırabilirsin....Aşağıdaki kodu kullanabilirsin...

Kod: Tümünü seç

procedure SetPrinterSettings(FPrinter: TPrinter);
var
  FDevice: PChar;
  FDriver: PChar;
  FPort: PChar;
  DeviceMode: THandle;
  DevMode: PDeviceMode;
begin
  {to get a current printer settings}
  FPrinter.GetPrinter(FDevice, FDriver, FPort, DeviceMode);
  {lock a printer device}
  DevMode := GlobalLock(DeviceMode);

  {set a paper size as A4-Transverse}
  if ((DevMode^.dmFields and DM_PAPERSIZE) = DM_PAPERSIZE) then
  begin
    DevMode^.dmFields := DevMode^.dmFields or DM_PAPERSIZE;
    DevMode^.dmPaperSize := DMPAPER_A4_TRANSVERSE;
  end;

  {set a paper source as Tractor bin}
  if  ((DevMode^.dmFields and DM_DEFAULTSOURCE) = DM_DEFAULTSOURCE) then
  begin
    DevMode^.dmFields := DevMode^.dmFields or DM_DEFAULTSOURCE;
    DevMode^.dmDefaultSource := DMBIN_TRACTOR;
  end;

  {set a Landscape orientation}
  if  ((DevMode^.dmFields and DM_ORIENTATION) = DM_ORIENTATION) then
  begin
    DevMode^.dmFields := DevMode^.dmFields or DM_ORIENTATION;
    DevMode^.dmOrientation := DMORIENT_LANDSCAPE;
  end;

  {set a printer settings}
  FPrinter.SetPrinter(FDevice, FDriver, FPort, DeviceMode);

  {unlock a device}
  GlobalUnlock(DeviceMode);
end;
Cevapla