Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Delphi 2007 printer setup problem

Posted on 2013-11-26
8
Medium Priority
?
863 Views
Last Modified: 2013-12-01
Hi All,

i am using delphi 2007 and try to print barcodes and A4 pages on tlp2844 zebra and hp 1020.
My problem is, when i switch the printerindex to the 1020 from the 2844, then the printed a4 page is OK, but when i switch back to the 2844, the barcode is faulty, because the page size remains the A4.

I have tried some workarounds, but can't resolve it.

need help
thank you
0
Comment
Question by:RT_
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
8 Comments
 
LVL 28

Expert Comment

by:Sinisa Vuk
ID: 39677236
how you print barcode? using quickreport?
0
 

Author Comment

by:RT_
ID: 39677258
nope
here is the code


Printer.BeginDoc;
Printer.Canvas.TextOut(0,128,leftstr(VarToStr(DBGrid3.DataSource.DataSet.FieldByName('NAME').Value),25));
Printer.Canvas.TextOut(0,155,'www.microstore.hu/'+DBtext4.Caption);

Barcode1D_Code1281.Barcode := VarToStr(DBGrid3.DataSource.DataSet.FieldByName('VONALKOD_SN').Value);
Barcode1D_Code1281.Print(2,-3,1,30,17,0);
Printer.EndDoc;
0
 
LVL 28

Expert Comment

by:Sinisa Vuk
ID: 39677339
This component (Barcode1D_Code1281 - any link to this?) seems to be not getting information of printer change. Try to do this:

Printer.BeginDoc;
Printer.Canvas.TextOut(0,128,leftstr(VarToStr(DBGrid3.DataSource.DataSet.FieldByName('NAME').Value),25));
Printer.Canvas.TextOut(0,155,'www.microstore.hu/'+DBtext4.Caption);

Barcode1D_Code1281 := <create component here>
try
  Barcode1D_Code1281.Barcode :=   VarToStr(DBGrid3.DataSource.DataSet.FieldByName('VONALKOD_SN').Value);
  Barcode1D_Code1281.Print(2,-3,1,30,17,0);
finally
  <destroy component Barcode1D_Code1281 here>
end;

Printer.EndDoc; 

Open in new window

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:RT_
ID: 39677604
not working, i think the problem is with the printer component, i have writed out the page parameters to the screen and see that the dimensions not changing.

showmessage(vartostr(printer.PageHeight));
showmessage(vartostr(printer.Pagewidth));

when i'll start the program with default set to tpl2844, they are working, but when i set the default printer to the 2020 or another A4 printer, the settings going to a4 size, but when i am setting the printerindex back to tlp2844, the width and height are not changing back.

starting :
200,320
changing the def printer to the a4:
2374,831
after set the printer. printerindex back to tlp2844
Printer.PrinterIndex := g_barcode_prn_idx;
remains to 2374,831

so that is the problem
0
 
LVL 28

Accepted Solution

by:
Sinisa Vuk earned 200 total points
ID: 39677948
Try set printer index using this function:
http://delphi.cjcsoft.net/viewthread.php?tid=49172
...printing parameters are not set ....
0
 

Author Comment

by:RT_
ID: 39680136
now i am trying to modify the printers.pas, maked a local copy to the project dir, but doesn't work , giving some erros :

http://www.rekettyei.hu/files/printerpas/printer.png
0
 
LVL 28

Assisted Solution

by:Sinisa Vuk
Sinisa Vuk earned 200 total points
ID: 39680191
If you want to modified Printers.pas, please copy .pas into project folder first - then do modify. This issue is described here (so you can use this tips):
http://qc.embarcadero.com/wc/qcmain.aspx?d=33676
0
 

Author Closing Comment

by:RT_
ID: 39688263
Thank you, those 2 was ok
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
What do responsible coders do? They don't take detrimental shortcuts. They do take reasonable security precautions, create important automation, implement sufficient logging, fix things they break, and care about users.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
Suggested Courses

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question