YAZICI AYARI

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
recepgalip
Üye
Mesajlar: 60
Kayıt: 12 Haz 2003 04:50
Konum: Mersin/Rize
İletişim:

YAZICI AYARI

Mesaj gönderen recepgalip »

TÜM DELPHİCİ ARKADAŞLARA SELAM . :lol:
BENİM BİRAZ YAZICIYLA BASIM BELADA. SU AN YAPMIS OLDUGUM BİR POGRAM VAR. BU PROGRAMLA HEM İCMAL HEMDE FATURA BASMAKTAYIM. KULLANDIGIM YAZICI OKI ML3321.YAZICI HIZLI OLSUN DIYE WIN98 SOSYAL/SALTMETIN DIYE BI YAZICI VAR MAKINA SADECE YAZILARI PRINT EDIYOR. KESINLIKLE GRAFIKLERI CIKARMIYOR.

FATURAMI BASMAM ICIN YAZICI SETUPUNUN REAR FEED OZELLIGININ PAGE LENGTH INI 12'' YAPMALIYIM, ICMAL ICIN ISE 11'' YAPMALIYIM.

BUNU DELPHİDE NASIL YAPABİLİRİM.YANİ DELPHİ KODLARI İLE NASIL PRINTERIN SETUP OZELLIKLERINI DEĞİŞTİREBİLİRİM .

ACIL YARDIMCI OLURSANIZ SEVINIRIM. İYİ ÇALIŞMALAR. :?
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

yazıcının kitapçığından kontrol karakterlerini bulabilirsen, ve yazılımsal olarak değiştirmeye imkan veriyorsa, uygun kontrol karakterleri ile yapabilirsin. bunun için aşağıdaki örnek koda benzer kod yazmalısın ;

var
F: TextFile;
begin
AssignFile(F, 'lpt1');
ReWrite(F);
Readln(F, chr(27)+':'); //bu kod ibm emulsayon modunda cpi12 için .
Readln(F, vs...);
.....
CloseFile(F);
end;

kolay gelsin.
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 »

Bende 3321 nin kitabı yok ama 521 de şöyle (IBM mod);

Readln(F, *);

chr(27)+chr(67)+chr(n)
n; Sayfadaki satır sayısı

chr(27)+chr(67)+chr(0)+chr(n)
n; Sayfa inç boyu

chr(27)+chr(52);
yazıcının bulunduğu satırı sayfa başı olarak değiştirir (TOF)
Kullanıcı avatarı
recepgalip
Üye
Mesajlar: 60
Kayıt: 12 Haz 2003 04:50
Konum: Mersin/Rize
İletişim:

Yazıcı setupa Devam...

Mesaj gönderen recepgalip »

Yardımlarınız için çok teşekkür ederim.

Yazıcıyı ibm propointer tanıtıp yazı fontunu kalınlaştırdım,picth ini değiştirdim ve yazının altına altına çizgi attırdım.
Bu değişiklikleri oki 521 elite microlinede denedim farklı komutlarla aynı
değişiklikleri yapabildim.
Fakat Rear Feed Seçeneğindeki Page Length ini hala değiştiremedim.
ayrıca Bu ayarları Soysal Salt Metinde Yapmam gerekiyor.Lütfen Komutları Gönderirken Soysal Salt metinin Komutlarını Gönderim.

Tüm Programcılara Başarılar.
:wink:
ALLAH NAMINA VER.. ALLAH NAMINA AL.. ALLAH NAMINA BAŞLA.. ALLAH NAMINA İŞLE VESSELAM
SAYGILARIMLA BEN...
sair
Kıdemli Üye
Mesajlar: 288
Kayıt: 16 Haz 2003 04:41
Konum: Kastamonu
İletişim:

Mesaj gönderen sair »

Recep selam
O yazılan chr kodlarının printer driveri ile ilgisi yok. Bu kodlar doğrudan yazıcının konfigurasyonunu değiştirmeye yönelik kodlardır. O yüzden doğrudan yazıcının biosu üzerinde işlem yaparlar. yani ıbm proprinter driveri olmuş, şu olmuş bu olmuş önemi yoktur. Kullandığın yazıcının kitabını bul o kitapta ESC kodları vardır. Sayfa genişliğini ayarlayan ESC kodlarını ara. Page lenght timn kodu neyse o kodu yukarda arkadaşların tarif ettiği şekilde yazıcıya gönder. Sorunsuz çalışacaktır.
Windows çocukları bunlar işte ya...
Ne anlarlar ESC kodlarından yazıcıya kod göndermekten felam..
Yuh sana yuh... :)
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 »

Hakkaten raporu neyle hazırlıyorsun? Ben direk gönderdiğini zannettim.
Kullanıcı avatarı
recepgalip
Üye
Mesajlar: 60
Kayıt: 12 Haz 2003 04:50
Konum: Mersin/Rize
İletişim:

vay vay vay....

Mesaj gönderen recepgalip »

vay metin abimde buradaymış. yine yedik metin abinin fırçasını. :oops: haklısın valla metin abi biliyon ama bilmemek ayıp degil öğrenmemek ayıptır yani. neyse insallah bi deneyecem az sonra. becerirsem donecem buraya . iyi çalışmalar. herkese selam :lol: :wink:
ALLAH NAMINA VER.. ALLAH NAMINA AL.. ALLAH NAMINA BAŞLA.. ALLAH NAMINA İŞLE VESSELAM
SAYGILARIMLA BEN...
sair
Kıdemli Üye
Mesajlar: 288
Kayıt: 16 Haz 2003 04:41
Konum: Kastamonu
İletişim:

Mesaj gönderen sair »

Recep 3321 in kitabını inceledim ama pagelenght ayarı ile ilgili hiç bir kod yazmamışlar. Her şey var bi tek o kod yok valla... :) Sayfada kaç satır yazacağına dair kod var. Ancak işini görür mü bilmem. Ama raporlamayı QuickReport la yapmışsan bu kodlar bi işine yaramaz ki senin. Windows yazıcının biosuna bakmaz ki. Bu sana yazılan kodların tümü de tamamen dos tabanlı bi çıktı gönderdiğinde işe yarar. Windows harf ve şekil göndermez yazıcıya, sadece noktalar gönderir yazıcı windows çıktılarında ne yazdığını bilmez. Sadece nokta vurur, o yüzden de CHR kodları ile hiç bir işlem yapılmaz. Ama dos çıktılarında iş değişir bilgisayar yazıcıya doğrudan harf veya sayı kodları gönderir yazıcı bu kodları kendi biosu ile karşılaştırıp hangi harfi basacağını öğrenir o harfi vurur. O yüzden Chr kodları ile işlem yapabilirsin. Ama windows çıktılarında bu işlemler çalışmayacaktır. Sen QuickReportla yazı gönderiyorsan bütün her şeyi QuickReport halleder. Yani QuickReportun ayarları neyse alacağın çıktı da o olacaktır. 12" kağıt kullanacaksan bunu QuickReportun ayarlarından halletmelisin.
Sevgiler...
Geçip gideriz bizde ağızsız,dilsiz ve sorgusuz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
Kullanıcı avatarı
recepgalip
Üye
Mesajlar: 60
Kayıt: 12 Haz 2003 04:50
Konum: Mersin/Rize
İletişim:

HALLOLDU VALLA...!

Mesaj gönderen recepgalip »

ARKADAŞLAR İLGİNİ İÇİN TEŞEKKÜR EDERİM. VALLA HALLOLDU GALİBA SORUNUM. :lol: TABİ BU KONUDA ACIKLAMA YAPMAYIDA BORÇ BİLİRİM.

ŞİMCİK METİN ABİCİM HAKLISIN BELKİ SU DOS KONUSUNDA AMA WİNDOWSTA GENERIC TEX DİYE Bİ YAZICI VAR ABİ BİDE BU YAZICI OKI SERISI ILE BIRLESINCE MANYAK BI HIZ KAZANIYOR 100 SAYFAYI 30 DAKKADA BASMA GİBİ Bİ OZELLİĞE SAHİP OLUYOR. VALLA ACAYİP HIZLI YAZIYO HA. İŞTE BNE BU YAZICI SURUCUSUNU KULLANMAKTAYIM. MECBUREN.(BELKI YAZDIRMA FONTUMU ,SHAPEİLE CIZDIGIM CIZGILARI KABUL ETMIYOR) KENDI SETUPUNDA NE VARSA ONU KABUL EDIYOR. YANI BI BAKIMA SADECE TEXT YAZICI OLARAK DAVRANMAKTA :wink:
BENIMDE 2 KAGIDIM VARDI BIRI FATURA 2140X3050(12'') BIDE KISA FATURA 2140X2800(11'') HA ONUN ICIN O INCLERI DEGISTIRMEM GEREKTI SAGOLSUN ARKADASLAR SAYESINDEDE HALLETTIK INSALLAH AHA KODLARI TEPE TEPE KULLANIN... :wink:


procedure seklinde ;

procedure Tdatabank.SayfaAyari(Inch:Byte);
var
sayfa_kodu:string;
begin
AssignFile(F, 'lpt1');
Rewrite(F);
if IOResult = 0 then
begin
sayfa_kodu:=chr(27)+chr(67)+chr(0)+chr(Inch);
Write(F, sayfa_kodu);
CloseFile(F);
end;
end;
ALLAH NAMINA VER.. ALLAH NAMINA AL.. ALLAH NAMINA BAŞLA.. ALLAH NAMINA İŞLE VESSELAM
SAYGILARIMLA BEN...
Kullanıcı avatarı
recepgalip
Üye
Mesajlar: 60
Kayıt: 12 Haz 2003 04:50
Konum: Mersin/Rize
İletişim:

TÜH Bİ SORUNUM DAHA ÇIKTI...!

Mesaj gönderen recepgalip »

YAWW KUSURA BAKMAYIN YİNE BEN .
AZ ONCEKİ KODU GONDERDİMYA HA ONU ÇALIŞTIRDIGIMDAN EĞER PRİNTER HAZIRSA Bİ SORUN OLMUYO ÇOK GUZEL DEĞİŞTİRİYO. FAKAT EGER PRİNTERİN KABLOSU TAKILI DEĞİL VEYA SEL DUGMESINE BASILI DEĞİLSE PROGRAM KİTLENİYOR.BU SORUNUMU NASIL GİDEREBİLİRİM.YARDIMLARINIZI BEKLİYOM İYİ ÇALIŞMALAR...
ALLAH NAMINA VER.. ALLAH NAMINA AL.. ALLAH NAMINA BAŞLA.. ALLAH NAMINA İŞLE VESSELAM
SAYGILARIMLA BEN...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kod: Tümünü seç

{$I-} // I/O hatalarını yakalamaya izin ver. 
         // böylece IOresult u yakalayabilirsin.
AssignFile(F, 'lpt1'); 
Rewrite(F); 
if IOResult = 0 then 
begin 
  sayfa_kodu:=chr(27)+chr(67)+chr(0)+chr(Inch); 
  Write(F, sayfa_kodu); 
  CloseFile(F); 
end; 
{$I+}

kolay gelsin.
sair
Kıdemli Üye
Mesajlar: 288
Kayıt: 16 Haz 2003 04:41
Konum: Kastamonu
İletişim:

Mesaj gönderen sair »

rsimsek bu sayfanın inch değerini ayarlıyo mu ya. Ben bunu buldum da sayfadaki satır sayısını ayarlar diye okudum yetersiz ingilizcemle :)
Geçip gideriz bizde ağızsız,dilsiz ve sorgusuz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
Cevapla