Solved

Delphi 2007 printer setup problem

Posted on 2013-11-26
8
780 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_
  • 4
  • 4
8 Comments
 
LVL 26

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 26

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
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

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 26

Accepted Solution

by:
Sinisa Vuk earned 50 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 26

Assisted Solution

by:Sinisa Vuk
Sinisa Vuk earned 50 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
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 …

820 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