/[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 3087 by torben, Mon Aug 15 12:44:21 2016 UTC revision 3088 by torben, Mon Aug 15 15:56:50 2016 UTC
# Line 21  type Line 21  type
21      procedure SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : string = '');      procedure SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel : Boolean; BoghandlerNummer : string = '');
22    
23      procedure PrintFuldPakkeLabel( PakkeshopLabel : TPakkeshopLabel);      procedure PrintFuldPakkeLabel( PakkeshopLabel : TPakkeshopLabel);
24        procedure PrintFuldPakkeLabelLille( PakkeshopLabel : TPakkeshopLabel);
25        procedure PrintFuldPakkeLabelStor( PakkeshopLabel : TPakkeshopLabel);
26    
27    
28      procedure PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn : String) ;      procedure PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn : String) ;
# Line 52  uses Line 54  uses
54    SysUtils, //Format    SysUtils, //Format
55    Math, // DegToRad() bruges i PrintPakkeshopLabel    Math, // DegToRad() bruges i PrintPakkeshopLabel
56    Forms,    Forms,
57    IdHTTP    IdHTTP,
58      Graphics
59    ;    ;
60    
61    
# Line 249  var Line 252  var
252    
253    
254  begin  begin
255    url := Config.BaseURL + '/BogpakkeKontrol/PrintLabel.php?stregkode=' + Trim(Stregkode);  
256      url := Format(Config.URLPrintLabel, [Stregkode] );
257    
258    httpClient := TIdHTTP.Create();    httpClient := TIdHTTP.Create();
259    httpClient.ReadTimeout := 1000;//max 1 secound    httpClient.ReadTimeout := 1000;//max 1 secound
# Line 310  begin Line 314  begin
314  end;  end;
315    
316    
   
 // ToDo: PrintPakkeshopLabel()  
317  procedure TLabelPrint.PrintFuldPakkeLabel( PakkeshopLabel : TPakkeshopLabel);  procedure TLabelPrint.PrintFuldPakkeLabel( PakkeshopLabel : TPakkeshopLabel);
318    begin
319      PrintFuldPakkeLabelStor(  PakkeshopLabel );
320    
321    end;
322    
323    // Bruges til label der passer til 60x100
324    procedure TLabelPrint.PrintFuldPakkeLabelLille( PakkeshopLabel : TPakkeshopLabel);
325  var  var
326    XForm, XFormOld: TXForm; //Bruges til rotate X-formation    XForm, XFormOld: TXForm; //Bruges til rotate X-formation
327    Angle: integer;    Angle: integer;
# Line 435  begin Line 444  begin
444  end;  end;
445    
446    
447    // Bruges til label der passer til 100x150
448    procedure TLabelPrint.PrintFuldPakkeLabelStor( PakkeshopLabel : TPakkeshopLabel);
449    var
450      XForm, XFormOld: TXForm; //Bruges til rotate X-formation
451      Angle: integer;
452      gMode: integer;
453      Dirigering: string;
454      BarcodeRect : TRect;
455    
456    begin
457        with Printer do
458        begin
459          BeginDoc();
460    
461    
462    
463          Canvas.Font.Style := [TFontStyle.fsBold];
464          Canvas.Font.Size := 16;
465          Canvas.TextOut(25,25, 'Code: ' + PakkeshopLabel.Tjekkode + '           '  + PakkeshopLabel.Overskrift);
466    
467    
468    
469          Canvas.TextOut(80, 220, PakkeshopLabel.Navn );
470          Canvas.TextOut(80, 270, PakkeshopLabel.Vejnavn );
471          Canvas.TextOut(80, 320, PakkeshopLabel.Postnr );
472    
473    
474          Canvas.Font.Size := 9;
475    
476    
477          // Skriv ikke 'Pakkeshop' overskrift hvis det er en shop2direkte
478          if (  PakkeshopLabel.PakkeshopNavn <> ''  ) then
479          begin
480            Canvas.TextOut(170, 460, 'Pakkeshop:');
481            Canvas.TextOut(170, 490, PakkeshopLabel.PakkeshopNavn);
482            Canvas.TextOut(170, 520, PakkeshopLabel.PakkeshopAddr);
483            Canvas.TextOut(170, 550, PakkeshopLabel.PakkeshopPostnr);
484    
485          end;
486    
487    
488    
489          Canvas.TextOut(550, 460, 'Afsender:');
490          Canvas.TextOut(550, 490, PakkeshopLabel.AfsenderNavn);
491          Canvas.TextOut(550, 520, PakkeshopLabel.AfsenderAdresse);
492          Canvas.TextOut(550, 550, PakkeshopLabel.AfsenderPostnr);
493    
494          Dirigering := PakkeshopLabel.PakkeshopSted + ' | ' + PakkeshopLabel.PakkeshopTurid + ' | ' + PakkeshopLabel.PakkeshopNr;
495          if ( PakkeshopLabel.Koreliste <> '') then
496          begin
497            Dirigering := Dirigering + ' > ' + PakkeshopLabel.Koreliste;
498          end;
499    
500    
501          Canvas.Font.Size := 12;
502          Canvas.TextOut(40, 680, Dirigering);
503    
504    
505    
506    
507    
508          //Tegn adskillelses linier
509          Canvas.Pen.Width := 2;
510          //Øverste linie
511          Canvas.MoveTo( 40, 180);
512          Canvas.LineTo(900, 180);
513    
514          // Midterste linie
515          Canvas.MoveTo( 40, 440);
516          Canvas.LineTo(900, 440);
517    
518          //Nederste linie
519          Canvas.MoveTo( 40, 640);
520          Canvas.LineTo(900, 640);
521    
522    
523          //Tegn skrå streger over afsender
524          Canvas.Pen.Width := 1;
525          Canvas.MoveTo(840, 450);
526          Canvas.LineTo(540, 590);
527          Canvas.MoveTo(840, 590);
528          Canvas.LineTo(540, 450);
529    
530    
531    
532          // Resten af rutinen vedr genering og placering af Barcode
533    
534          Barcode.Font.Size := 9;
535          Barcode.BarToSpaceRatio := 0.9;
536    
537    
538          BarCode.BarCodeType := bcCode128;
539          BarCode.Code128Subset := csCodeC;
540          BarCode.Code := PakkeshopLabel.Stregkode;
541          BarCode.Validate(True);
542    
543    
544    //      parentForm.Msg(       inttostr(            Barcode.Font.Size) );//Default 8
545    //      parentForm.Msg(       Double.ToString(      Barcode.BarNarrowToWideRatio) );//Default 2
546    //      parentForm.Msg(       Double.ToString(      Barcode.BarToSpaceRatio) );//Default 1
547    //      parentForm.Msg(  Double.ToString(BarCode.Width ) );//default 200
548    
549    
550          //Start X-formation
551          //ShowMessage( Format('%d %d', [PageWidth, PageHeight]) );
552          GetWorldTransform(Canvas.Handle, XFormOld);
553    
554          Angle := 270;
555          XForm.eM11 := Cos(DegToRad(Angle));
556          XForm.eM12 := Sin(DegToRad(Angle));
557          XForm.eM21 := -Sin(DegToRad(Angle));
558          XForm.eM22 := Cos(DegToRad(Angle));
559          XForm.eDx := 0;
560          XForm.eDy := 0;
561    
562          gMode := SetGraphicsMode(Canvas.Handle, GM_ADVANCED);
563          SetWorldTransform(Canvas.Handle, XForm);
564    
565          // PaintToCanvasSize arbejder i Inches
566          // Første pos argument bliver nu Y og skal være negativ for at rykke den ned
567          //Anden pos er X og skal være positiv for at justere ind fra venstre mod højre
568    
569          BarCode.PaintToCanvasSize(Printer.Canvas, -2.7, 4.8, 0.5);
570    
571    
572    
573    
574          SetWorldTransform(Canvas.Handle, XFormOld);
575          SetGraphicsMode(Canvas.Handle, gMode);
576    
577          EndDoc();
578        end;
579    
580    
581      Printers.SetPrinter( TPrinter.Create() ).Free();//Work around for KB3177725
582    end;
583    
584  function TLabelPrint.SavePChar(p: PChar): PChar;  function TLabelPrint.SavePChar(p: PChar): PChar;
585  const  const
586    error: PChar = 'Nil';    error: PChar = 'Nil';

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

  ViewVC Help
Powered by ViewVC 1.1.20