iyi çalışmalar...
freereport ile fatura tasarımını yaptım fakat (fatura sürekli form ve A5 yani A4 kağıdın yarısı kadar) faturayı yazmaya bir fatura atladıktan sonra başlıyor dos bir programla printer sürücüsünde bazı değişiklikler yapmaya çalıştım kağıdın boyutlarıyla ilgili ama hiç bir değişiklik olmadı bu arada yazıcı panasonic KX-1150 nedir ne değildir bi bilgi verebilecek varmı arkadaşlar...
Yarım fatura yazdırma sorunu.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Yarım fatura yazdırma sorunu.
merhaba
bu tip yazıcılar için ben bir text dosyaya yazarmış gibi writeln komutu ile yazdırıyorum eğer formunuz
tam bir sayfa olsaydı sayfa başı için #12 komutunu göndermeniz sayfa başı yapması için yeterli olurdu
yarım kağıt için yazdırma işleminden sonra writeln komutu ile 3-5 satır boşluk yazdırmanız gerekli.
var
PrintTextF: System.TextFile;
begin
AssignFile(PrintTextF, 'LPT1);
Rewrite(PrintTextF);
Write(PrintTextF, #15 ); // 17 pic de yazdırır yazıyı kücültür istenirse kullanılabilir
WriteLn(PrintTextF,'1');
WriteLn(PrintTextF,'2);
WriteLn(PrintTextF,'3');
WriteLn(PrintTextF,'4');
WriteLn(PrintTextF,'5');
WriteLn(PrintTextF,'6');
WriteLn(PrintTextF,'7');
WriteLn(PrintTextF,'8');
WriteLn(PrintTextF,turkcew('çşğüöi')); // Türkçe karekterleri yazması için
WriteLn(PrintTextF, FillCh('-', 40));
Write(PrintTextF, #18); // Yazıyı 10 pic e ayarla
Write(PrintTextF, #12); // sayfa başı
closefile(printtextf); // yazdırma işlemini bitir.
function TurkceW(s1: ansistring): ansistring;
var
s : ansistring;
i : integer;
begin
s := s1;
for i := 1 to length(s) do
begin
case ord(s) of
199 : s := chr(128); // Ç
208 : s := chr(166); // Ğ
214 : s := chr(153); // Ö
220 : s := chr(154); // Ü
221 : s := chr(152); // İ
222 : s := chr(158); // S
231 : s := chr(135); // ç
240 : s := chr(167); // ğ
246 : s := chr(148); // ö
252 : s[i] := chr(129); // ü
253 : s[i] := chr(141); // i
254 : s[i] := chr(159); // ş
end; { case }
end;
Result := s;
end;
umarım faydalı olur.
saygılar.
bu tip yazıcılar için ben bir text dosyaya yazarmış gibi writeln komutu ile yazdırıyorum eğer formunuz
tam bir sayfa olsaydı sayfa başı için #12 komutunu göndermeniz sayfa başı yapması için yeterli olurdu
yarım kağıt için yazdırma işleminden sonra writeln komutu ile 3-5 satır boşluk yazdırmanız gerekli.
var
PrintTextF: System.TextFile;
begin
AssignFile(PrintTextF, 'LPT1);
Rewrite(PrintTextF);
Write(PrintTextF, #15 ); // 17 pic de yazdırır yazıyı kücültür istenirse kullanılabilir
WriteLn(PrintTextF,'1');
WriteLn(PrintTextF,'2);
WriteLn(PrintTextF,'3');
WriteLn(PrintTextF,'4');
WriteLn(PrintTextF,'5');
WriteLn(PrintTextF,'6');
WriteLn(PrintTextF,'7');
WriteLn(PrintTextF,'8');
WriteLn(PrintTextF,turkcew('çşğüöi')); // Türkçe karekterleri yazması için
WriteLn(PrintTextF, FillCh('-', 40));
Write(PrintTextF, #18); // Yazıyı 10 pic e ayarla
Write(PrintTextF, #12); // sayfa başı
closefile(printtextf); // yazdırma işlemini bitir.
function TurkceW(s1: ansistring): ansistring;
var
s : ansistring;
i : integer;
begin
s := s1;
for i := 1 to length(s) do
begin
case ord(s) of
199 : s := chr(128); // Ç
208 : s := chr(166); // Ğ
214 : s := chr(153); // Ö
220 : s := chr(154); // Ü
221 : s := chr(152); // İ
222 : s := chr(158); // S
231 : s := chr(135); // ç
240 : s := chr(167); // ğ
246 : s := chr(148); // ö
252 : s[i] := chr(129); // ü
253 : s[i] := chr(141); // i
254 : s[i] := chr(159); // ş
end; { case }
end;
Result := s;
end;
umarım faydalı olur.
saygılar.
Bilgi Paylaştıkça Çoğalır
Re: Yarım fatura yazdırma sorunu.
teşekkür ederim ilgin için bu kod işimi görür tabikide fakat benim anlamadığım bu olay neden bir raporlama arcıyla olmuyor. Bu gün de başka bir sorun çıktı şimdi daha önceden hazırladığım raporda reporttitle band, masterheader band, masterdata band, masterfooter band var ürünlerin dökümü tabiki masterdata bandın üzerinde ve raporun ortasında ama önizleme yapınca ürünler enüsstte bilgiler ondan sonra çıkıyor anlamadım gitti...