/[projects]/dao/DelphiScanner/LabelPrint.pas
ViewVC logotype

Diff of /dao/DelphiScanner/LabelPrint.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3088 by torben, Mon Aug 15 15:56:50 2016 UTC revision 3123 by torben, Tue Oct 18 13:57:46 2016 UTC
# Line 4  interface Line 4  interface
4    
5  uses  uses
6    ParentForm,    ParentForm,
7    PakkeshopLabels,    LabelData,
8    Configuration,    Configuration,
9    StBarc;    StBarc;
10    
# Line 17  type Line 17  type
17      procedure CheckPrintQue(tjektype : string; PrinterNavn : String);      procedure CheckPrintQue(tjektype : string; PrinterNavn : String);
18    
19      procedure PrintLabel( Stregkode : String);      procedure PrintLabel( Stregkode : String);
20        procedure PrintLabelData( LabelData : TLabelData);
21    
22      procedure SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : string = '');      procedure SendTilPrinter_old(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : string = '');
23    
24      procedure PrintFuldPakkeLabel( PakkeshopLabel : TPakkeshopLabel);      procedure PrintSimpelLabel( LabelData : TLabelData) ;
     procedure PrintFuldPakkeLabelLille( PakkeshopLabel : TPakkeshopLabel);  
     procedure PrintFuldPakkeLabelStor( PakkeshopLabel : TPakkeshopLabel);  
25    
26    
27      procedure PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn : String) ;      procedure PrintFuldPakkeLabel( PakkeshopLabel : TLabelData);
28    
29    
30        procedure PrintDaodirekteLabel_old( RuteNummer, Kommentar, BoghandlerNavn : String) ;
31    
     procedure TestZpl();  
     procedure PrintZPL( ZplData : string);  
32    
33      function GetPrinterCount() : Integer;      function GetPrinterCount() : Integer;
34    
# Line 38  type Line 38  type
38      var Config: TConfiguration;      var Config: TConfiguration;
39    
40    
41        procedure PrintZPL( ZplData : string);
42    
43        procedure PrintFuldPakkeLabelLille( PakkeshopLabel : TLabelData);
44        procedure PrintFuldPakkeLabelStor( PakkeshopLabel : TLabelData);
45    
46    
47      function SavePChar(p: PChar): PChar;      function SavePChar(p: PChar): PChar;
48      function GetCurrentPrinterHandle(): THandle;      function GetCurrentPrinterHandle(): THandle;
49    
# Line 52  uses Line 58  uses
58    WinSpool,    WinSpool,
59    Windows,    Windows,
60    SysUtils, //Format    SysUtils, //Format
61    Math, // DegToRad() bruges i PrintPakkeshopLabel    Math, // DegToRad() bruges i PrinTLabelData
62    Forms,    Forms,
63    IdHTTP,    IdHTTP,
64    Graphics    Graphics,
65      XMLDoc
66    ;    ;
67    
68    
# Line 112  begin Line 119  begin
119  end;  end;
120    
121    
122  procedure TLabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn : String) ;  procedure TLabelPrint.PrintDaodirekteLabel_old( RuteNummer, Kommentar, BoghandlerNavn : String) ;
123  begin  begin
124    with Printer do    with Printer do
125        begin        begin
# Line 163  begin Line 170  begin
170  //            'Test'  skal vise alarmlinie, samt opdatere listbox1  //            'Test'  skal vise alarmlinie, samt opdatere listbox1
171  //            'Timer' skal kun vise alarmlinie  //            'Timer' skal kun vise alarmlinie
172    
173    if (PrinterNavn = 'Ingen') and ( (tjektype = 'Opstart') or (tjektype = 'Test') ) then  //  if (PrinterNavn = 'Ingen') and ( (tjektype = 'Opstart') or (tjektype = 'Test') ) then
174    begin  //  begin
175    //
176      parentForm.LogMessage( 'Der er fravalgt printer i dette program' );  //    parentForm.LogMessage( 'Der er fravalgt printer i dette program' );
177    end  //  end
178    else if (Printer.Printers.Count = 0) and ( (tjektype = 'Opstart') or (tjektype = 'Test') ) then  //  else
179      if (Printer.Printers.Count = 0) and ( (tjektype = 'Opstart') or (tjektype = 'Test') ) then
180    begin    begin
181      parentForm.LogMessage( 'Der er ikke installeret en printer på denne PC' );      parentForm.LogMessage( 'Der er ikke installeret en printer på denne PC' );
182    end    end
# Line 249  var Line 257  var
257    
258    httpClient: TIdHTTP;    httpClient: TIdHTTP;
259    
260      XMLDocument1: TXMLDocument;
261    
262      LabelData: TLabelData;
263    
264    
265  begin  begin
# Line 263  begin Line 274  begin
274    httpClient.Free();    httpClient.Free();
275    
276    
277      XMLDocument1 := parentForm.GetXMLDocument();
278    
279      XMLDocument1.LoadFromXML(response);
280    
281      LabelData := TLabelData.Create(XMLDocument1);
282      PrintLabelData(LabelData);
283      LabelData.Free();
284    
285    
286  end;  end;
287    
288  procedure TLabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : string = '');  procedure TLabelPrint.PrintLabelData( LabelData : TLabelData);
289    begin
290      if LabelData.LabelType = 'zpl' then
291      begin
292        PrintZPL(LabelData.ZPL);
293      end
294      else if (LabelData.LabelType = 'simpel') then
295      begin
296        PrintSimpelLabel(LabelData);
297      end
298      else
299      begin
300        PrintFuldPakkeLabel(LabelData);
301      end;
302    end;
303    
304    
305    
306    procedure TLabelPrint.SendTilPrinter_old(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : string = '');
307  begin  begin
308      with Printer do      with Printer do
309      begin      begin
# Line 314  begin Line 350  begin
350  end;  end;
351    
352    
353  procedure TLabelPrint.PrintFuldPakkeLabel( PakkeshopLabel : TPakkeshopLabel);  procedure TLabelPrint.PrintFuldPakkeLabel( PakkeshopLabel : TLabelData);
354  begin  begin
355    PrintFuldPakkeLabelStor(  PakkeshopLabel );    if (Config.LabelStor = 1) then
356      begin
357        PrintFuldPakkeLabelStor(  PakkeshopLabel );
358    
359      end
360      else
361      begin
362        PrintFuldPakkeLabelLille(  PakkeshopLabel );
363    
364      end;
365    
366  end;  end;
367    
368  // Bruges til label der passer til 60x100  // Bruges til label der passer til 60x100
369  procedure TLabelPrint.PrintFuldPakkeLabelLille( PakkeshopLabel : TPakkeshopLabel);  procedure TLabelPrint.PrintFuldPakkeLabelLille( PakkeshopLabel : TLabelData);
370  var  var
371    XForm, XFormOld: TXForm; //Bruges til rotate X-formation    XForm, XFormOld: TXForm; //Bruges til rotate X-formation
372    Angle: integer;    Angle: integer;
# Line 334  begin Line 379  begin
379        BeginDoc();        BeginDoc();
380    
381    
382        Canvas.Font.Size := 16;        Canvas.Font.Size := 15;
383        Canvas.TextOut(15,10, 'Code: ' + PakkeshopLabel.Tjekkode + '     '  + PakkeshopLabel.Overskrift);        Canvas.TextOut(15,10, 'Code: ' + PakkeshopLabel.Tjekkode + '     '  + PakkeshopLabel.Overskrift);
384    
385    
386    
387        Canvas.TextOut(25, 90, PakkeshopLabel.Navn );        Canvas.TextOut(25, 90, PakkeshopLabel.Navn );
388        Canvas.TextOut(25, 135, PakkeshopLabel.Vejnavn );        Canvas.TextOut(25, 140, PakkeshopLabel.Vejnavn );
389        Canvas.TextOut(25, 180, PakkeshopLabel.Postnr );        Canvas.TextOut(25, 190, PakkeshopLabel.Postnr );
390    
391    
392        Canvas.Font.Size := 9;        Canvas.Font.Size := 9;
# Line 445  end; Line 490  end;
490    
491    
492  // Bruges til label der passer til 100x150  // Bruges til label der passer til 100x150
493  procedure TLabelPrint.PrintFuldPakkeLabelStor( PakkeshopLabel : TPakkeshopLabel);  procedure TLabelPrint.PrintFuldPakkeLabelStor( PakkeshopLabel : TLabelData);
494  var  var
495    XForm, XFormOld: TXForm; //Bruges til rotate X-formation    XForm, XFormOld: TXForm; //Bruges til rotate X-formation
496    Angle: integer;    Angle: integer;
# Line 592  begin Line 637  begin
637  end;  end;
638    
639  // Online zpl viewer  // Online zpl viewer
 // http://labelary.com/viewer.html  
 procedure TLabelPrint.TestZpl();  
 var  
   zpl: string;  
 begin  
   zpl :=  
 '^XA'#13#10 +  
 '^PON'#13#10 +  
 '^FWN'#13#10 +  
   
 '^FX Top section with company logo, name and address.'#13#10 +  
 '^CF0,60'#13#10 +  
 '^FO50,50^GB100,100,100^FS'#13#10+  
 '^FO75,75^FR^GB100,100,100^FS'#13#10+  
 '^FO88,88^GB50,50,50^FS'#13#10+  
 '^FO220,50^FDInternational Shipping, Inc.^FS'#13#10+  
 '^CF0,40'#13#10+  
 '^FO220,100^FD1000 Shipping Lane^FS'#13#10+  
 '^FO220,135^FDShelbyville TN 38102^FS'#13#10+  
 '^FO220,170^FDUnited States (USA)^FS'#13#10+  
 '^FO50,250^GB700,1,3^FS'#13#10 +  
 '^XZ'#13#10  
   ;  
640    
   PrintZpl(zpl);  
 end;  
641    
642  procedure TLabelPrint.PrintZPL( ZplData : string);  procedure TLabelPrint.PrintZPL( ZplData : string);
643  var  var
# Line 690  begin Line 710  begin
710    
711  end;  end;
712    
713    procedure TLabelPrint.PrintSimpelLabel( LabelData : TLabelData) ;
714    begin
715      with Printer do
716          begin
717            BeginDoc;
718    
719            Canvas.Font.Size := 20;
720            Canvas.TextOut(10, 20, LabelData.SimpelLinie1);
721            Canvas.TextOut(10, 120, LabelData.SimpelLinie2);
722            Canvas.TextOut(10, 220, LabelData.SimpelLinie3);
723    
724            EndDoc;
725          end;
726    
727    
728    
729      Printers.SetPrinter( TPrinter.Create() ).Free();//Work around for KB3177725
730    
731    end;
732    
733    
734    
735  function TLabelPrint.GetPrinterCount() : Integer;  function TLabelPrint.GetPrinterCount() : Integer;
736  begin  begin

Legend:
Removed from v.3088  
changed lines
  Added in v.3123

  ViewVC Help
Powered by ViewVC 1.1.20