--- dao/DelphiScanner/Main.pas 2015/08/20 20:58:26 2650 +++ dao/DelphiScanner/Main.pas 2015/08/26 19:52:38 2682 @@ -8,11 +8,16 @@ IdTCPClient, IdHTTP, xmldom, XMLIntf, msxmldom, XMLDoc, IniFiles, AppEvnts, Menus, ExtCtrls, ComCtrls, StrUtils, MMSystem, DateUtils, IdExplicitTLSClientServerBase, IdFTP, pngimage, GIFImg, IdException, - Winspool, Registry, ShellApi, ClipBrd, Buttons, wininet + Winspool, Registry, ShellApi, ClipBrd, Buttons, wininet, + UITypes, + PakkeshopLabels, + StBarC, + Math, // DegToRad() bruges i PrintPakkeshopLabel + Utils + ; type - TStrArray = array of string; TMainForm = class(TForm) StregkodeST: TStaticText; RuteNummerST: TStaticText; @@ -20,7 +25,7 @@ IdHTTP1: TIdHTTP; XMLDocument1: TXMLDocument; ApplicationEvents1: TApplicationEvents; - CheckBox1: TCheckBox; + chkSporgEfterKunde: TCheckBox; KommentarST: TStaticText; MainMenu1: TMainMenu; N1: TMenuItem; @@ -36,8 +41,8 @@ Lukprogrammet1: TMenuItem; N2: TMenuItem; N3: TMenuItem; - RadioButton1: TRadioButton; - RadioButton2: TRadioButton; + radioStorPakke: TRadioButton; + radioLillePakke: TRadioButton; N4: TMenuItem; Storepakker1: TMenuItem; Smpakker1: TMenuItem; @@ -56,17 +61,17 @@ DownloadButton03: TButton; Pakkeshoplevering1: TMenuItem; PakkeshopText1: TStaticText; - PakkeshopNulstil: TButton; + btnNulstil: TButton; Returpakkerfrapakkeshop1: TMenuItem; Altidprintepakkelabel1: TMenuItem; - CheckBox2: TCheckBox; + chkAltidPrintLabel: TCheckBox; EKLoverforsel: TButton; N5: TMenuItem; Uploadlogfil1: TMenuItem; Manual1: TMenuItem; PrinterstatusStaticText1: TStaticText; Timer1: TTimer; - CheckBox3: TCheckBox; + chkScanTjekkode: TCheckBox; Scanogstjekkoden1: TMenuItem; Automatisktjekkodestyring1: TMenuItem; Automatiskvalg1: TMenuItem; @@ -77,6 +82,7 @@ PanelValg4: TPanel; PanelValg5: TPanel; PanelValg6: TPanel; + PanelValg7: TPanel; Manualgenerel1: TMenuItem; StaticTextManglendePakker: TStaticText; PanelManglendePakker1: TPanel; @@ -85,13 +91,11 @@ PanelManglendePakker4: TPanel; PanelManglendePakker5: TPanel; PanelManglendePakker6: TPanel; - PanelValg7: TPanel; + menuIndlevering: TMenuItem; + + + function Sto_GetFmtFileVersion(const FileName: String = ''): String; - function Explode(var a: TStrArray; Border, S: string): Integer; - function BarCodeValid (ACode: string): boolean; - function Sto_GetFmtFileVersion(const FileName: String = ''; const Fmt: String = '%d.%d.%d.%d'): String; - function TColorToHex(Color : TColor) : string; - function HexToTColor(sColor : string) : TColor; function getProddato() : TDate; function getProddag() : String; function retRutenummer(rutenummer : String) : String; @@ -99,7 +103,6 @@ function SavePChar(p: PChar): PChar; function AdobeReaderExists(): Boolean; function FileTime2DateTime(FileTime: TFileTime): TDateTime; - function split(input: string; schar: Char; s: Integer): string; function CheckUrl(url:string):boolean; procedure PlaySound(filename : PWideChar); @@ -113,9 +116,9 @@ procedure FormKeyPress(Sender: TObject; var Key: Char); procedure FormCreate(Sender: TObject); procedure ApplicationEvents1Idle(Sender: TObject; var Done: Boolean); - procedure RadioButton1Click(Sender: TObject); - procedure RadioButton2Click(Sender: TObject); - procedure CheckBox1Click(Sender: TObject); + procedure radioStorPakkeClick(Sender: TObject); + procedure radioLillePakkeClick(Sender: TObject); + procedure chkSporgEfterKundeClick(Sender: TObject); procedure Pakkernormal1Click(Sender: TObject); procedure Testforbindelsen1Click(Sender: TObject); procedure Testprinter1Click(Sender: TObject); @@ -143,7 +146,7 @@ procedure UploadButton01Click(Sender: TObject); procedure DownloadButton03Click(Sender: TObject); procedure Pakkeshoplevering1Click(Sender: TObject); - procedure PakkeshopNulstilClick(Sender: TObject); + procedure btnNulstilClick(Sender: TObject); procedure Returpakkerfrapakkeshop1Click(Sender: TObject); procedure InitNatxpresslevering(); procedure InitReturFraDao(); @@ -154,14 +157,13 @@ procedure InitIndleveringskode(); procedure Altidprintepakkelabel1Click(Sender: TObject); - procedure CheckBox2Click(Sender: TObject); + procedure chkAltidPrintLabelClick(Sender: TObject); procedure EKLoverforselClick(Sender: TObject); procedure Uploadlogfil1Click(Sender: TObject); procedure Manual1Click(Sender: TObject); - procedure CheckPrintQue(tjektype : string); procedure Timer1Timer(Sender: TObject); procedure Scanogstjekkoden1Click(Sender: TObject); - procedure CheckBox3Click(Sender: TObject); + procedure chkScanTjekkodeClick(Sender: TObject); procedure Automatisktjekkodestyring1Click(Sender: TObject); procedure SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String); procedure Automatiskvalg1Click(Sender: TObject); @@ -172,15 +174,18 @@ procedure PanelValg4Click(Sender: TObject); procedure PanelValg5Click(Sender: TObject); procedure PanelValg6Click(Sender: TObject); + procedure PanelValg7Click(Sender: TObject); + procedure NulstilAutomatiskValg(); procedure SletLogfiler(Path: string; FileList: TStrings); procedure Manualgenerel1Click(Sender: TObject); procedure TjekkerUrls(); -// 20150310: start - procedure RoundCornerOf(Control: TWinControl); - procedure PanelValg7Click(Sender: TObject); -// 20150310: slut + procedure menuIndleveringClick(Sender: TObject); + + procedure PrintPakkeshopLabel( PakkeshopLabel : TPakkeshopLabel); + procedure CheckPrintQue(tjektype : string); + private SpecialVersionSted, SpecialVersionScanningtype: String; // Bruges når programmet skal bruges udenfor DAO scanningssteder @@ -188,7 +193,7 @@ SkrivLog : String; Sted : String; StedNavn : String; - Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlEKLoverforsel : String; + Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,UrlEKLoverforsel : String; // 29150330: start UrlEKLoverforselPakkeshop : String; // 20150330: slut @@ -196,8 +201,8 @@ Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String; ScanTjekkode : String; ScanTjekkodeAutomatik : string; - Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop : String; - Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop : String; + Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop, FarveIndlevering : String; + Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop, TitelIndlevering : String; LabelType : integer; AlarmLyd : String; ScannetOkLyd : String; @@ -243,7 +248,8 @@ BoghandlerStregkode, BoghandlerTjekkode : String; TjekUrls : String; - function CheckSumModulo10(const data:string):string; { used for EAN 8/13 } + Barcode : TStBarcode; + procedure PrintLabel(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 = ''); @@ -255,11 +261,15 @@ procedure IndlesScanningLogFil(); procedure SkrivScanningLogFil(var tekst : string); function TjekKoreliste(var RuteNummer, Koreliste : string) : string; + procedure VisAlarmSkaerm(strMessage: string); public { Public declarations } end; + function GetPixelsPerInchX(): Integer; + function GetPixelsPerInchY(): Integer; + var MainForm: TMainForm; @@ -273,23 +283,6 @@ implementation {$R *.dfm} -function TMainForm.TColorToHex(Color : TColor) : string; -begin - Result := - IntToHex(GetRValue(Color), 2) + - IntToHex(GetGValue(Color), 2) + - IntToHex(GetBValue(Color), 2) ; -end; - -function TMainForm.HexToTColor(sColor : string) : TColor; -begin - Result := - RGB( - StrToInt('$'+Copy(sColor, 1, 2)), - StrToInt('$'+Copy(sColor, 3, 2)), - StrToInt('$'+Copy(sColor, 5, 2)) - ) ; -end; procedure TMainForm.InitForm(Farve,Titel,Url : String); begin @@ -298,6 +291,8 @@ StaticTextManglendePakker.Caption := ''; // 20150309: slut + Barcode := TStBarcode.Create(MainForm);//Dynamisk oprettelse af Barcode component + PanelValg1.Color := clBtnFace; if PanelValg1.Enabled = true then begin @@ -394,7 +389,7 @@ StartScreen(); MainForm.Caption := Titel; - MainForm.Color := HexToTColor(Farve); + MainForm.Color := TUtils.HexToTColor(Farve); MainForm.Farve := Farve; MainForm.Titel := Titel; MainForm.Url := Url; @@ -409,29 +404,29 @@ else PakkeshopText1.Visible := false; - CheckBox3.Checked := false; - CheckBox3.Enabled := false; + chkScanTjekkode.Checked := false; + chkScanTjekkode.Enabled := false; Scanogstjekkoden1.Enabled := false; if (Scanningtype = '1') or (Scanningtype = '5') then begin if (ScanTjekkode = '1') then begin - CheckBox3.Checked := true; - CheckBox3.Enabled := true; + chkScanTjekkode.Checked := true; + chkScanTjekkode.Enabled := true; Scanogstjekkoden1.Enabled := true; end else begin - CheckBox3.Checked := false; - CheckBox3.Enabled := true; // False vil forhindre indtastning af tjekkode i nat x-press scanning + chkScanTjekkode.Checked := false; + chkScanTjekkode.Enabled := true; // False vil forhindre indtastning af tjekkode i nat x-press scanning Scanogstjekkoden1.Enabled := true; // False vil forhindre indtastning af tjekkode i nat x-press scanning end; end; if Automatisktjekkodestyring1.Checked then begin - CheckBox3.Enabled := false; + chkScanTjekkode.Enabled := false; Scanogstjekkoden1.Enabled := false; end; @@ -454,13 +449,13 @@ end else begin - logTekst := 'Speciel version til: '+split(Titel, ':', 2)+' ('+Sted+')'; + logTekst := 'Speciel version til: ' + TUtils.split(Titel, ':', 2) + ' ('+Sted+')'; end; SkrivScanningLogFil(logTekst); end else begin - logTekst := 'Speciel version til: '+split(Titel, ':', 2)+' ('+SpecialVersionSted+')'; + logTekst := 'Speciel version til: ' + TUtils.split(Titel, ':', 2) + ' ('+SpecialVersionSted+')'; SkrivScanningLogFil(logTekst); end; end; @@ -472,11 +467,11 @@ if Altidprintepakkelabel1.Checked then begin - CheckBox2.Checked := true; + chkAltidPrintLabel.Checked := true; end else begin - CheckBox2.Checked := false; + chkAltidPrintLabel.Checked := false; end; end; @@ -490,12 +485,12 @@ begin if Automatisktjekkodestyring1.Checked then begin - CheckBox3.Enabled := false; + chkScanTjekkode.Enabled := false; Scanogstjekkoden1.Enabled := false; end else begin - CheckBox3.Enabled := true; + chkScanTjekkode.Enabled := true; Scanogstjekkoden1.Enabled := true; end; @@ -531,10 +526,7 @@ crlf = Chr(13) + Chr(10) ; // Carriage return & Linefeed var printerInd : integer; - i : Integer; -// 20150310: start gemScanningtype : String; -// 20150310: slut begin // Initierer nogle variabler @@ -542,17 +534,16 @@ Application.ShowHint := True; PrinterstatusStaticText1.Caption := ''; PrinterstatusStaticText1.Color := MainForm.Color; -// 20150306: start - PakkeshopNulstil.BringToFront; -// 20150306: slut -// 20150310: start - RoundCornerOf(PanelManglendePakker1); - RoundCornerOf(PanelManglendePakker2); - RoundCornerOf(PanelManglendePakker3); - RoundCornerOf(PanelManglendePakker4); - RoundCornerOf(PanelManglendePakker5); - RoundCornerOf(PanelManglendePakker6); -// 20150310: slut + + btnNulstil.BringToFront; + + TUtils.RoundCornerOf(PanelManglendePakker1); + TUtils.RoundCornerOf(PanelManglendePakker2); + TUtils.RoundCornerOf(PanelManglendePakker3); + TUtils.RoundCornerOf(PanelManglendePakker4); + TUtils.RoundCornerOf(PanelManglendePakker5); + TUtils.RoundCornerOf(PanelManglendePakker6); + // Hvis mappen Docs eksisterer kan vi vælge Manual i menuen Hjælp if DirectoryExists('Docs') then @@ -579,13 +570,17 @@ UrlBudlevering := ReadString('Settings','UrlBudlevering','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&leveringstype=%s&pakkestorrelse=%s'); UrlManglendeScanninger := ReadString('Settings','UrlManglendeScanninger','http://omdeling.info/webservices/bogpakkekontrol/bogpakkemanglendescanninger.php?sted=%s&type=%s'); UrlEKLoverforsel := ReadString('Settings','UrlEKLoverforsel','http://omdeling.info/webservices/bogpakkekontrol/bogpakkertilekl.php?sted=%s'); -// 20150330: start + UrlEKLoverforselPakkeshop := ReadString('Settings','UrlEKLoverforselPakkeshop','http://omdeling.info/webservices/pakkeshop/pakkertilekl.php?sted=%s'); -// 20150330: slut + UrlPakkeshoplevering := ReadString('Settings','UrlPakkeshoplevering','http://omdeling.info/webservices/pakkeshop/pakkekontrol.php?sted=%s&stregkode=%s&tjekkode=%s'); UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s'); UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s'); UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s'); + + UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s'); + + LabelType := ReadInteger('Settings','LabelType',1); FarveNormal := ReadString('Settings','FarveNormal','D8D8D8'); TitelNormal := ReadString('Settings','TitelNormal','Modtagelse af DAO NAT X-PRESS pakker'); @@ -597,8 +592,14 @@ TitelBudlevering := ReadString('Settings','TitelBudlevering','Modtagelse af DAO DIREKTE pakker'); FarvePakkeshoplevering := ReadString('Settings','FarvePakkeshoplevering','99FFFF'); TitelPakkeshoplevering := ReadString('Settings','TitelPakkeshoplevering','Modtagelse af DAO PAKKESHOP pakker'); + FarveReturPakkeshop := ReadString('Settings','FarveReturPakkeshop','99FFCC'); TitelReturPakkeshop := ReadString('Settings','TitelReturPakkeshop','Returforsendelse fra pakkeshop'); + + FarveIndlevering := ReadString('Settings', 'FarveIndlevering', 'E5B2CB'); + TitelIndlevering := ReadString('Settings', 'TitelIndlevering', 'Indleveringskode'); + + SporgEfterBoghandler := ReadString('Settings','SporgEfterBoghandler','0'); ScanTjekkode := ReadString('Settings','ScanTjekkode','0'); ScanTjekkodeAutomatik := ReadString('Settings','ScanTjekkodeAutomatik','1'); @@ -608,16 +609,16 @@ AlarmLyd := ReadString('Settings','AlarmLyd','Sounds\Alarm.wav'); ScannetOkLyd := ReadString('Settings','ScannetOkLyd','Sounds\Ok.wav'); ScannetOkStorLyd := ReadString('Settings','ScannetOkStorLyd','Sounds\Ok_stor.wav'); -// 20150317: start + ScannetOkTilTjekkodeLyd := ReadString('Settings','ScannetOkTilTjekkodeLyd','Sounds\Ok_til_tjekkode.wav'); -// 20150317: slut + PrinterNavn := ReadString('Settings','PrinterNavn',''); TjekPrinter := ReadString('Settings','TjekPrinter','1'); TjekUrls := ReadString('Settings','TjekUrls','2'); if (SkrivLog = '1') then begin - logTekst := 'Program start (Version: ' + Sto_GetFmtFileVersion('','') + ') Dato: ' + FormatDateTime('yyyy-mm-dd hh:nn:ss',now); + logTekst := 'Program start (Version: ' + Sto_GetFmtFileVersion('') + ') Dato: ' + FormatDateTime('yyyy-mm-dd hh:nn:ss',now); try SkrivScanningLogFil(logTekst); Uploadlogfil1.Enabled := true; @@ -711,30 +712,30 @@ if SporgEfterBoghandler = '1' then begin - CheckBox1.Checked := true; + chkSporgEfterKunde.Checked := true; Sprgefterboghandlernummer1.Checked := true; end else begin - CheckBox1.Checked := false; + chkSporgEfterKunde.Checked := false; Sprgefterboghandlernummer1.Checked := false; end; if ScanTjekkode = '1' then begin - CheckBox3.Checked := true; + chkScanTjekkode.Checked := true; Scanogstjekkoden1.Checked := true; end else begin - CheckBox3.Checked := false; + chkScanTjekkode.Checked := false; Scanogstjekkoden1.Checked := false; end; if ScanTjekkodeAutomatik = '1' then begin Automatisktjekkodestyring1.Checked := true; - CheckBox3.Enabled := false; + chkScanTjekkode.Enabled := false; Scanogstjekkoden1.Enabled := false; end; @@ -760,6 +761,20 @@ //SpecialVersionSted := 'FD'; // FD - sætter automatisk nedenstående SpecialVersionScanningtype til DIREKTE) // *************************** // +{$IfDef STED_BK} + SpecialVersionSted := 'BK'; +{$EndIf} +{$IfDef STED_DBK} + SpecialVersionSted := 'DBK'; +{$EndIf} +{$IfDef STED_FD} + SpecialVersionSted := 'FD'; +{$EndIf} +{$IfDef STED_NS} + SpecialVersionSted := 'NS'; +{$EndIf} + + //SpecialVersionSted := '01'; // NS - bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE) //SpecialVersionSted := '02'; // BK - BRUGES IKKE (brug i stedet ovenstående SpecialVersionSted BK) //SpecialVersionSted := '03'; // FD - (bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE) @@ -826,13 +841,16 @@ PanelValg5.Font.Color := clInactiveCaption; PanelValg6.Enabled := false; PanelValg6.Font.Color := clInactiveCaption; + PanelValg7.Enabled := false; + PanelValg7.Font.Color := clInactiveCaption; + // her skal vi også disable de menupunkter DBK ikke kan bruge ReturpakkerfraDAO1.Enabled := false; Returpakkerfraboghandler1.Enabled := false; -// 20150317: start + Pakkeshoplevering1.Enabled := false; Returpakkerfrapakkeshop1.Enabled := false; -// 20150317: slut + if SpecialVersionScanningtype = 'A' then begin Scanningtype := '1'; @@ -862,10 +880,12 @@ PanelValg5.Font.Color := clInactiveCaption; PanelValg6.Enabled := false; PanelValg6.Font.Color := clInactiveCaption; + PanelValg7.Enabled := false; + PanelValg7.Font.Color := clInactiveCaption; // her skal vi også disable de menupunkter Bladhusene (01, 02, 03 og 04) ikke kan bruge -// 20150317: start + Automatiskvalg1.Enabled := false; -// 20150317: slut + Pakkernormal1.Enabled := false; ReturpakkerfraDAO1.Enabled := false; Returpakkerfraboghandler1.Enabled := false; @@ -957,7 +977,7 @@ RutenummerST.Caption := ''; BoghandlerNavnST.Caption := 'Fejl i urls'; KommentarST.Caption := 'Se log vinduet'; - PakkeshopNulstil.Visible := true; + btnNulstil.Visible := true; exit; end; end @@ -1000,12 +1020,12 @@ if Pakketype = '1' then begin Storepakker1.Checked := true; - RadioButton1.Checked := true; + radioStorPakke.Checked := true; end else begin Smpakker1.Checked := true; - RadioButton2.Checked := true; + radioLillePakke.Checked := true; end; if TestFunktionen = '1' then @@ -1045,12 +1065,12 @@ ScannetOkStorLyd := ''; end; -// 20150317: start + if not FileExists(ScannetOkTilTjekkodeLyd) then begin ScannetOkTilTjekkodeLyd := ''; end; -// 20150317: slut + if (PrinterNavn <> '') then begin @@ -1083,7 +1103,7 @@ InitBladhus(); end; -// 20150310: start + // Opbygger PanelManglendePakker information gemScanningtype := Scanningtype; @@ -1124,10 +1144,9 @@ end; Scanningtype := gemScanningtype; -// 20150310: slut SendInfoTilServer(Sted, Scanningtype, 'Begin', ''); - SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', Sto_GetFmtFileVersion('','')); + SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', Sto_GetFmtFileVersion('')); end; @@ -1145,7 +1164,6 @@ BoghandlerNavn : String; Koreliste : String; PrintNyLabel : Boolean; - List1msg : String; pakkeErScannet : Integer; pakkeForkertSted : Integer; tjekkodeMangler : Integer; @@ -1170,8 +1188,8 @@ ClipboardData := Clipboard.AsText; numberString := ClipboardData; Val(numberString, float, errorPos); -// 20150311: start -// if (ClipboardData <> '') and (errorPos = 0) then + + // if (ClipboardData <> '') and (errorPos = 0) then if (ClipboardData <> '') and (errorPos = 0) or (NumberString = 'Nulstil') or (NumberString = 'Indtast kundenummer') @@ -1186,7 +1204,7 @@ or (NumberString = 'DAO DIREKTE') or (NumberString = 'DAO PAKKESHOP') or (NumberString = 'Retur fra pakkeshop') then -// 20150311: slut + begin Stregkode := Stregkode + ClipboardData; StregkodeST.Caption := StregKode; @@ -1199,67 +1217,35 @@ if Key = #13 then // Enter begin -// 20150306: start if (Length(Trim(Stregkode)) = 0) then begin - PlaySound(PWideChar(AlarmLyd)); - List1msg := 'Der skal scannes en stregkode...'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( 'Der skal scannes en stregkode...' ); + exit; end; -// 20150306: slut -// 20150311: start if StregKode = 'Nulstil' then begin - PakkeshopNulstil.Click(); + btnNulstil.Click(); exit; end; - if PakkeshopNulstil.Visible then + if btnNulstil.Visible then begin - PlaySound(PWideChar(AlarmLyd)); -// 20150312: start -// List1msg := 'HUSK at trykke Nulstil før ny scanning...'; - List1msg := 'HUSK at klikke Nulstil før ny scanning...'; -// 20150312: slut - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; - KommentarST.Caption := List1msg; -// 20150312: start - Stregkode := ''; - StregkodeST.Caption := StregKode; -// 20150312: slut + VisAlarmSkaerm( 'HUSK at klikke Nulstil før ny scanning...' ); + exit; end; if StregKode = 'Lille pakke' then begin - if RadioButton2.Enabled = true then + if radioLillePakke.Enabled = true then begin InitLillePakke(); end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1268,24 +1254,13 @@ if StregKode = 'Stor pakke' then begin - if RadioButton1.Enabled = true then + if radioStorPakke.Enabled = true then begin InitStorPakke(); end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1294,31 +1269,20 @@ if StregKode = 'Indtast kundenummer' then begin - if CheckBox1.Enabled = true then + if chkSporgEfterKunde.Enabled = true then begin - if (CheckBox1.State = cbChecked) then + if (chkSporgEfterKunde.State = cbChecked) then begin - CheckBox1.State := cbUnchecked; + chkSporgEfterKunde.State := cbUnchecked; end else begin - CheckBox1.State := cbChecked; + chkSporgEfterKunde.State := cbChecked; end; end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1327,31 +1291,20 @@ if (Stregkode = 'Scan tjekkode') or (PakkeshopStregkode = 'Scan tjekkode') or (BoghandlerStregkode = 'Scan tjekkode') then begin - if CheckBox3.Enabled = true then + if chkScanTjekkode.Enabled = true then begin - if (CheckBox3.State = cbChecked) then + if (chkScanTjekkode.State = cbChecked) then begin - CheckBox3.State := cbUnchecked; + chkScanTjekkode.State := cbUnchecked; end else begin - CheckBox3.State := cbChecked; + chkScanTjekkode.State := cbChecked; end; end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1366,28 +1319,15 @@ end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm(Stregkode + ' kan ikke vælges på dette scanningsted'); end; Stregkode := ''; StregkodeST.Caption := StregKode; exit; end; -// 20150323: start -// if StregKode = 'DAO NAT X-PRESS' then + if (StregKode = 'DAO NAT X-PRESS' ) or (StregKode = 'DAO NAT X+PRESS') then -// 20150323: slut begin if (PanelValg1.Enabled = true) then begin @@ -1395,18 +1335,7 @@ end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm(Stregkode + ' kan ikke vælges på dette scanningsted'); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1421,18 +1350,7 @@ end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1447,18 +1365,7 @@ end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1473,18 +1380,7 @@ end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1499,18 +1395,7 @@ end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; @@ -1525,24 +1410,13 @@ end else begin - //ShowMessage('Ændring ikke tilladt'); - // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); - List1msg := Stregkode + ' kan ikke vælges på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); end; Stregkode := ''; StregkodeST.Caption := StregKode; exit; end; -// 20150311: slut + if (Length(Stregkode) > 8) then begin @@ -1597,20 +1471,8 @@ or (Pakkescanningtype = '5') and (PanelValg5.Enabled = false) or (Pakkescanningtype = '6') and (PanelValg6.Enabled = false) ) then begin // Her skal komme en alarm og rød skærm - PlaySound(PWideChar(AlarmLyd)); - List1msg := 'Pakketype ' + Pakketype + ' kan ikke scannes på dette scanningsted'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; -// 20150311: start - StregKode := ''; - StregkodeST.Caption := StregKode; -// 20150311: slut + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); + exit; end; @@ -1626,24 +1488,7 @@ end; end // Retur kan ikke scannes med 'Automatisk valg' -(* - else if Pakketype = 'NatXpressReturDAO' then - begin - if Scanningtype <> '2' then - begin - Scanningtype := '2'; - InitReturFraDao(); - end; - end - else if Pakketype = 'NatXpressReturKunde' then - begin - if Scanningtype <> '3' then - begin - Scanningtype := '3'; - InitReturFraKunde(); - end; - end -*) + else if Pakketype = 'Direkte' then begin if Scanningtype <> '4' then @@ -1661,52 +1506,20 @@ end; end // Retur kan ikke scannes med 'Automatisk valg' -(* - else if Pakketype = 'PakkeshopRetur' then - begin - if Scanningtype <> '6' then - begin - Scanningtype := '6'; - InitReturFraPakkeshop(); - end; - end -*) + else - begin // Her skal komme en alarm og rød skærm - PlaySound(PWideChar(AlarmLyd)); - List1msg := 'Pakken kan ikke scannes med automatisk valg'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; -// 20150311: start - StregKode := ''; - StregkodeST.Caption := StregKode; -// 20150311: slut + begin + // Her skal komme en alarm og rød skærm + VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' ); + exit; end; Stregkode := GemStregkode; end else if Automatiskvalg1.Checked and (PakkeshopText1.Caption = 'Stregkode') then begin - PlaySound(PWideChar(AlarmLyd)); - List1msg := 'Pakkenummer ikke gyldigt (for kort)'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; -// 20150312: start - StregKode := ''; - StregkodeST.Caption := StregKode; -// 20150312: slut + VisAlarmSkaerm( 'Pakkenummer ikke gyldigt (for kort)' ); + exit; end; @@ -1714,93 +1527,23 @@ begin if ( (Pakkescanningtype <> Scanningtype) and (Scanningtype <> '2') and (Scanningtype <> '3') ) then begin - PlaySound(PWideChar(AlarmLyd)); - List1msg := 'Pakke findes som pakketype: ' + Pakketype; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; -// 20150316: start - RuteNummerST.Caption := ''; - BoghandlerNavnST.Caption := ''; -// 20150316: slut - KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; -// 20150312: start - StregKode := ''; - StregkodeST.Caption := StregKode; -// 20150312: slut - exit; - end; - end; - -// 20150311: start -(* - if StregKode = 'Nulstil' then - begin - PakkeshopNulstil.Click(); - exit; - end; - - if PakkeshopNulstil.Visible then - begin - PlaySound(PWideChar(AlarmLyd)); - List1msg := 'HUSK at trykke Nulstil før ny scanning...'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; - KommentarST.Caption := List1msg; - exit; - end; - if StregKode = 'Lille pakke' then - begin - InitLillePakke(); - exit; - end; + VisAlarmSkaerm( 'Pakke findes som pakketype: ' + Pakketype ); - if StregKode = 'Stor pakke' then - begin - InitStorPakke(); - exit; - end; - - if StregKode = 'Indtast kundenummer' then - begin - if (CheckBox1.State = cbChecked) then - begin - CheckBox1.State := cbUnchecked; - end - else - begin - CheckBox1.State := cbChecked; - end; - Stregkode := ''; - exit; + exit; + end; end; - if (Stregkode = 'Scan tjekkode') or (PakkeshopStregkode = 'Scan tjekkode') or (BoghandlerStregkode = 'Scan tjekkode') then - begin - if (CheckBox3.State = cbChecked) then - begin - CheckBox3.State := cbUnchecked; - end - else - begin - CheckBox3.State := cbChecked; - end; - Stregkode := ''; - exit; - end; -*) -// 20150311: slut if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and Automatisktjekkodestyring1.Checked then begin - CheckBox3.Checked := false; + chkScanTjekkode.Checked := false; for i := 0 to length(stregkoderMedTjekkodeArray)-1 do begin if (Stregkode=stregkoderMedTjekkodeArray[i]) then begin - CheckBox3.Checked := true; + chkScanTjekkode.Checked := true; Scanogstjekkoden1.Checked := true; end; end; @@ -1812,7 +1555,7 @@ BoghandlerStregkode := Stregkode; BoghandlerTjekkode := ''; PakkeshopText1.Caption := 'Stregkode'; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; Stregkode := ''; InitScreen(); end @@ -1824,7 +1567,7 @@ BoghandlerStregkode := Stregkode; BoghandlerTjekkode := '-1'; PakkeshopText1.Caption := 'Stregkode'; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; Stregkode := ''; InitScreen(); end @@ -1836,19 +1579,13 @@ PakkeshopStregkode := Stregkode; BoghandlerStregkode := Stregkode; PakkeshopText1.Caption := 'Tjekkode'; -// 20150317: start + PlaySound(PWideChar(ScannetOkTilTjekkodeLyd)); -// 20150317: slut + end else begin - List1msg := 'Du skal scanne en stregkode'; - ListBox1.Items.Insert(0,List1Msg); - //logTekst := RightStr(List1Msg, Length(List1Msg)-10); - //SkrivScanningLogFil(logTekst); - PlaySound(PWideChar(AlarmLyd)); - PakkeshopNulstil.Visible := true; - MainForm.Color := clRed; + VisAlarmSkaerm( 'Du skal scanne en stregkode' ); end; Stregkode := ''; InitScreen(); @@ -1861,28 +1598,21 @@ BoghandlerTjekkode := Stregkode; PakkeshopText1.Caption := 'Stregkode'; if (PakkeshopLevering1.Checked) then - MainForm.Color := HexToTColor(FarvePakkeshoplevering); + MainForm.Color := TUtils.HexToTColor(FarvePakkeshoplevering); if (Pakkernormal1.Checked) then - MainForm.Color := HexToTColor(FarveNormal); - PakkeshopNulstil.Visible := false; + MainForm.Color := TUtils.HexToTColor(FarveNormal); + btnNulstil.Visible := false; end else begin if (PakkeshopLevering1.Checked) then - List1msg := 'Du skal scanne en tjekkode til stregkode ' + PakkeshopStregkode; + VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + PakkeshopStregkode); if (Pakkernormal1.Checked) then - List1msg := 'Du skal scanne en tjekkode til stregkode ' + BoghandlerStregkode; - KommentarST.Caption := List1msg; - ListBox1.Items.Insert(0,List1Msg); - //logTekst := RightStr(List1Msg, Length(List1Msg)-10); - //SkrivScanningLogFil(logTekst); - PlaySound(PWideChar(AlarmLyd)); - PakkeshopNulstil.Visible := true; - MainForm.Color := clRed; -// 20150323: start + VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + BoghandlerStregkode); + StregKode := ''; StregkodeST.Caption := StregKode; -// 20150323: slut + exit; end; Stregkode := ''; @@ -1903,12 +1633,8 @@ // Hvis der var sql fejl i opdateringen skal dette fejlmeldes her if Rutenummer = 'sql fejl' then begin // Her skal komme en alarm og rød skærm - PlaySound(PWideChar(AlarmLyd)); - //List1msg := 'SQL fejl: ' + Kommentar; - //ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; - //KommentarST.Caption := List1msg; - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( 'SQL fejl: ' + Kommentar ); + exit; end; if (Pakkernormal1.Checked or Budlevering1.Checked or PakkeshopLevering1.Checked) then @@ -1928,13 +1654,13 @@ if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then begin PlaySound(PWideChar(AlarmLyd)); - PakkeshopNulstil.Visible := true; + btnNulstil.Visible := true; MainForm.Color := clRed; end; end; if ( Pakkernormal1.Checked and (pakkeErScannet = 0) and (pakkeForkertSted = 0) and (tjekkodemangler = 0) and (RuteNummerST.Caption <> 'Ukendt') ) or (Copy(Kommentar,1,2) = 'Ok') then begin - MainForm.Color := HexToTColor(Farve); + MainForm.Color := TUtils.HexToTColor(Farve); if Storepakker1.Checked then begin PlaySound(PWideChar(ScannetOkStorLyd)); @@ -1943,11 +1669,11 @@ begin PlaySound(PWideChar(ScannetOkLyd)); end; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; end else if (Returpakkerfradao1.Checked or Returpakkerfraboghandler1.Checked) then begin - MainForm.Color := HexToTColor(Farve); + MainForm.Color := TUtils.HexToTColor(Farve); if Storepakker1.Checked then begin PlaySound(PWideChar(ScannetOkStorLyd)); @@ -1956,30 +1682,22 @@ begin PlaySound(PWideChar(ScannetOkLyd)); end; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; end else if Copy(Kommentar,1,8) = 'OPRETTET' then begin - List1msg := 'Pakke ' + PakkeshopStregkode + ' skal gemmes på lager indtil data modtages'; - ListBox1.Items.Insert(0,List1Msg); - MainForm.Color := clRed; - PlaySound(PWideChar(AlarmLyd)); - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm( 'Pakke ' + PakkeshopStregkode + ' skal gemmes på lager indtil data modtages' ); end else if Kommentar = StregKode then // budlevering til 'Ukendt tur' begin end else begin - MainForm.Color := clRed; - PlaySound(PWideChar(AlarmLyd)); - PakkeshopNulstil.Visible := true; + VisAlarmSkaerm(''); end; - if not PakkeshopNulstil.Visible then + if not btnNulstil.Visible then begin -// 20150310: start -// SletStregkodelinieFraListboks2(StregKode); -// 20150310: slut + If (Budlevering1.Checked) then begin if Storepakker1.Checked then @@ -1993,9 +1711,9 @@ InitLillePakke(); end; end; -// 20150310: start + SletStregkodelinieFraListboks2(StregKode); -// 20150310: slut + PakkeshopStregkode := ''; PakkeshopTjekkode := ''; BoghandlerStregkode := ''; @@ -2026,7 +1744,7 @@ Key := #0; -end; +end; //End of OnKeyPress procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String); const @@ -2063,12 +1781,10 @@ procedure TMainForm.SletStregkodelinieFraListboks2(StregKode : String); var -// 20150309: start -// i:integer; i : Integer; wrkAntal : String; wrkAntalIdag, wrkAntalSenere : Integer; -// 20150309: slut + begin if Budlevering1.Checked or Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked or Pakkernormal1.Checked then @@ -2076,17 +1792,17 @@ for i := ListBox2.items.count-1 downto 0 do if pos(StregKode,ListBox2.items[i]) <> 0 then begin -// 20150309: start + // Ajourføring af tæller for manglende pakker (scanninger) wrkAntal := StaticTextManglendePakker.Caption; if (pos('/', wrkAntal) > 0) then // både pakker idag og senere begin wrkAntal := wrkAntal + '/'; // tilføjer '/' sidst i feltet af hensyn til split funktionen - wrkAntalIdag := StrToInt(split(wrkAntal, '/', 2)); + wrkAntalIdag := StrToInt( TUtils.split(wrkAntal, '/', 2)); // ShowMessage(SPLIT('data/another/yet/again/more/','/',3)); // ShowMessage(SPLIT('data/another/','/',3)); // ShowMessage(SPLIT('data/another','/',3)); - wrkAntalSenere := StrToInt(split(wrkAntal, '/', 3)); + wrkAntalSenere := StrToInt( TUtils.split(wrkAntal, '/', 3)); end else // kun idag begin @@ -2112,9 +1828,7 @@ begin StaticTextManglendePakker.Caption := IntToStr(wrkAntalIdag); end; -// 20150309: slut -// 20150310: start if (Scanningtype = '1') then begin PanelManglendePakker1.Caption := IntToStr(wrkAntalIdag + wrkAntalSenere); @@ -2219,8 +1933,6 @@ end; procedure TMainForm.InitBladhus(); -var - LogFilnavn : string; begin Altidprintepakkelabel1.Enabled := false; @@ -2297,8 +2009,8 @@ Testprinter1.Visible := true; Smpakker1.Enabled := true; Storepakker1.Enabled := true; - RadioButton1.Enabled := true; - RadioButton2.Enabled := true; + radioStorPakke.Enabled := true; + radioLillePakke.Enabled := true; DownloadButton01.Enabled := false; // kontrolfil bruges ikke her OpdaterListenButton01.Enabled := true; IdFTP1.Passive := true; @@ -2335,8 +2047,8 @@ Testprinter1.Visible := true; Smpakker1.Enabled := true; Storepakker1.Enabled := true; - RadioButton1.Enabled := true; - RadioButton2.Enabled := true; + radioStorPakke.Enabled := true; + radioLillePakke.Enabled := true; DownloadButton01.Enabled := false; // kontrolfil bruges ikke her OpdaterListenButton01.Enabled := true; IdFTP1.Passive := true; @@ -2354,15 +2066,19 @@ URLStr : String; pakkestorrelse : String; PrintNyLabelInteger : Integer; + + PakkeshopLabel: TPakkeshopLabel; begin - if RadioButton1.Checked then + if radioStorPakke.Checked then begin pakkestorrelse := 'Stor'; end; - if RadioButton2.Checked then + if radioLillePakke.Checked then begin pakkestorrelse := 'Lille'; end; + + if Pakkernormal1.Checked then begin if (BoghandlerTjekkode = '') then @@ -2391,6 +2107,10 @@ begin URLStr := Format(UrlReturPakkeshop,[Sted, PakkeNr]); end + else if menuIndlevering.Checked then + begin + URLStr := Format(UrlIndleveringsPakke,[Sted, PakkeNr]); + end else begin exit; @@ -2425,10 +2145,9 @@ BoghandlerNavn := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNr').Text; BoghandlerNavn := BoghandlerNavn + ' ' + XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNavn').Text; PrintNyLabel := False; -// 20150310: start + if Pakkeshoplevering1.Checked then begin -// 20150310: slut try PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text); except on e:exception do @@ -2438,10 +2157,27 @@ begin PrintNyLabel := True; end; -// 20150310: start end; -// 20150310: slut end + else if menuIndlevering.Checked then + begin + + + + + Kommentar := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('Stregkodematch').Text; + if (Kommentar = 'Ok') then + begin + PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label + PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc + RuteNummer := PakkeshopLabel.Koreliste; + + PrintPakkeshopLabel( PakkeshopLabel ); + + end; + + + end else begin RuteNummer := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('TurId').Text; @@ -2474,6 +2210,8 @@ PrintNyLabel := True; end; end; + + if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then begin if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then @@ -2514,11 +2252,11 @@ if Pakkeshoplevering1.Checked then List1msg := List1msg + PakkeshopStregkode + ' ' + PakkeshopTjekkode + '; ' + KommentarST.Caption + '; '; List1Pakkestorrelse := ''; - if RadioButton1.Checked then + if radioStorPakke.Checked then begin List1Pakkestorrelse := 'Stor pakke'; end; - if RadioButton2.Checked then + if radioLillePakke.Checked then begin List1Pakkestorrelse := 'Lille pakke'; end; @@ -2540,11 +2278,11 @@ if Budlevering1.Checked then begin List1msg := TimeToStr(now) + '; ' + Kommentar + '; ' + BoghandlerNavn; - if (RadioButton1.Checked) then + if (radioStorPakke.Checked) then begin List1msg := List1msg + '; Stor pakke'; end; - if (RadioButton2.Checked) then + if (radioLillePakke.Checked) then begin List1msg := List1msg + '; Lille pakke'; end; @@ -2588,7 +2326,7 @@ nytRuteNummer, nyFarve : String; begin if Budlevering1.Checked then - RuteNummerST.Color := HexToTColor(Farve); + RuteNummerST.Color := TUtils.HexToTColor(Farve); pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn); if pakkeErScannet = 0 then @@ -2601,10 +2339,9 @@ end; pakkeForkertSted := pos('burde være hos', Kommentar); -// 20150306: start -// if Sprgefterboghandlernummer1.Enabled and CheckBox1.Checked and (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) or (pakkeForkertSted > 0) then - if Sprgefterboghandlernummer1.Enabled and CheckBox1.Checked and ( (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) or (pakkeForkertSted > 0) ) then -// 20150306: slut + + if Sprgefterboghandlernummer1.Enabled and chkSporgEfterKunde.Checked and ( (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) or (pakkeForkertSted > 0) ) then + begin if (RuteNummer = 'Ukendt') then begin @@ -2631,12 +2368,11 @@ if (BoghandlerNavn = 'Ukendt pakke') then begin PrintNyLabel := false; -// 20150306: start -// PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(AlarmLyd)); MainForm.Color := clRed; - PakkeshopNulstil.Visible := true; -// 20150306: slut + btnNulstil.Visible := true; + end else begin @@ -2646,27 +2382,25 @@ PrintNyLabel := true; RuteNummerST.Caption := RuteNummer+' -> ny rute: '+nytRuteNummer; nyFarve := Farve; - RuteNummerST.Color := HexToTColor(nyFarve); + RuteNummerST.Color := TUtils.HexToTColor(nyFarve); List1msg := TimeToStr(now) + '; ' + RuteNummer+' -> ny rute: '+nytRuteNummer; RuteNummer := nytRuteNummer; ListBox1.Items.Insert(0,List1Msg); logTekst := RightStr(List1Msg, Length(List1Msg)-10); SkrivScanningLogFil(logTekst); -// 20150213: start + if (PrinterNavn = 'Ingen') then begin PrintNyLabel := false; end; -// 20150313: slut -// 20150306: start -// PlaySound(PWideChar(AlarmLyd)); + if (PrintNyLabel = false) then // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm begin PlaySound(PWideChar(AlarmLyd)); MainForm.Color := clRed; - PakkeshopNulstil.Visible := true; + btnNulstil.Visible := true; end; -// 20150306: slut + end; kontrolKoreliste := TjekKoreliste(RuteNummer, Koreliste); if (kontrolKoreliste <> RuteNummer) then @@ -2685,19 +2419,14 @@ ListBox1.Items.Insert(0,List1Msg); logTekst := RightStr(List1Msg, Length(List1Msg)-10); SkrivScanningLogFil(logTekst); -// 20150306: start -// PlaySound(PWideChar(AlarmLyd)); + if (PrintNyLabel = false) then // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm begin PlaySound(PWideChar(AlarmLyd)); MainForm.Color := clRed; - PakkeshopNulstil.Visible := true; + btnNulstil.Visible := true; end; -// 20150306: slut -// 20150306: start -// end -// else -// begin + end; end; @@ -2719,7 +2448,7 @@ end; end; 01 : begin; - if PrintNyLabel and ( (kontrolKoreliste <> '') and (kontrolKoreliste <> RuteNummer) ) or (RuteNummer = 'Rutenr') then + if PrintNyLabel or ( (kontrolKoreliste <> '') and (kontrolKoreliste <> RuteNummer) ) or (RuteNummer = 'Rutenr') then // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr') begin @@ -2733,7 +2462,7 @@ end; end; 03 : begin; - if PrintNyLabel and ( (kontrolKoreliste <> '') and (kontrolKoreliste <> RuteNummer) ) or (RuteNummer = 'Rutenr') then + if PrintNyLabel or ( (kontrolKoreliste <> '') and (kontrolKoreliste <> RuteNummer) ) or (RuteNummer = 'Rutenr') then // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr') begin @@ -2757,15 +2486,15 @@ exit; end; - if Budlevering1.Checked or ( Sprgefterboghandlernummer1.Enabled and CheckBox1.Checked and ( (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) ) and (printNyLabel = false) ) then + if Budlevering1.Checked or ( Sprgefterboghandlernummer1.Enabled and chkSporgEfterKunde.Checked and ( (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) ) and (printNyLabel = false) ) then begin end else begin - if ( (PrinterNavn <> 'Ingen') and (PrintNyLabel or CheckBox2.Checked) and (RuteNummer <> 'Ukendt') or (RuteNummer = 'Rutenr')) then + if ( (PrinterNavn <> 'Ingen') and (PrintNyLabel or chkAltidPrintLabel.Checked) and (RuteNummer <> 'Ukendt') or (RuteNummer = 'Rutenr')) then begin logTekst := 'Printer label type '; - if (CheckBox2.Checked) then + if (chkAltidPrintLabel.Checked) then begin logTekst := logTekst + 'Alle '; end @@ -2832,10 +2561,10 @@ Canvas.TextOut(XPosSorteringsfelt2,YPosSorteringsfelt2, Leveringssted); // sorteringsoplysning 2 end; Canvas.Font.Size := FontSizeKommentar; + Kommentar := StringReplace(Kommentar, #$A, ' - ', [rfReplaceAll, rfIgnoreCase]); -// 20150304: start Kommentar := StringReplace(Kommentar, 'PAKKE ER SCANNET', '', [rfReplaceAll, rfIgnoreCase]); -// 20150304: slut + Canvas.TextOut(XPosKommentar,YPosKommentar, Kommentar); // Kan ikke lave linieskift (se tidligere kommentar om samme) if SmsKode <> '' then begin @@ -2849,22 +2578,22 @@ end; -procedure TMainForm.RadioButton1Click(Sender: TObject); +procedure TMainForm.radioStorPakkeClick(Sender: TObject); begin Storepakker1.Checked := true; - RadioButton1.Checked := true; + radioStorPakke.Checked := true; end; -procedure TMainForm.RadioButton2Click(Sender: TObject); +procedure TMainForm.radioLillePakkeClick(Sender: TObject); begin Smpakker1.Checked := true; - RadioButton2.Checked := true; + radioLillePakke.Checked := true; end; -procedure TMainForm.CheckBox1Click(Sender: TObject); +procedure TMainForm.chkSporgEfterKundeClick(Sender: TObject); begin - if CheckBox1.Checked then + if chkSporgEfterKunde.Checked then begin Sprgefterboghandlernummer1.Checked := true; end @@ -2875,9 +2604,9 @@ end; -procedure TMainForm.CheckBox2Click(Sender: TObject); +procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject); begin - if CheckBox2.Checked then + if chkAltidPrintLabel.Checked then begin Altidprintepakkelabel1.Checked := true; end @@ -2888,9 +2617,9 @@ end; -procedure TMainForm.CheckBox3Click(Sender: TObject); +procedure TMainForm.chkScanTjekkodeClick(Sender: TObject); begin - if CheckBox3.Checked then + if chkScanTjekkode.Checked then begin Scanogstjekkoden1.Checked := true; end @@ -2912,11 +2641,11 @@ Automatiskvalg1.Checked := false; PanelValgA.Color := clBtnFace; PanelValgA.Font.Color := clWindowText; -// 20150317: start + if (SpecialVersionSted = '01') - or (SpecialVersionSted = '02') - or (SpecialVersionSted = '03') - or (SpecialVersionSted = '04') then + or (SpecialVersionSted = '02') + or (SpecialVersionSted = '03') + or (SpecialVersionSted = '04') then begin // her skal vi også disable knappen for 01, 02, 03 og 04 (NS, BK, FD og DBK) PanelValgA.Enabled := false; @@ -3223,7 +2952,7 @@ end; end; -// 20150330: start + // Tjekker UrlEKLoverforselPakkeshop if PanelValg5.Enabled = true then begin @@ -3251,7 +2980,7 @@ end; end; end; -// 20150330: slut + // Tjekker UrlFindPakketype if CheckUrl(UrlFindPakketype) then @@ -3342,6 +3071,7 @@ repeat if (SR.Attr <> faDirectory) then begin + dt := fileDateToDateTime(SR.Time); // finder filens timestamp for seneste ændring CreationTime := SR.FindData.ftCreationTime; // finder filens timestamp for oprettelse dtCreation := FileTime2DateTime(CreationTime); // finder filens timestamp for oprettelse @@ -3381,11 +3111,11 @@ end; end; -procedure TMainForm.PakkeshopNulstilClick(Sender: TObject); +procedure TMainForm.btnNulstilClick(Sender: TObject); begin PakkeshopStregkode := ''; PakkeshopTjekkode := ''; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; PakkeshopText1.Caption := 'Stregkode'; BoghandlerStregkode := ''; BoghandlerTjekkode := ''; @@ -3403,7 +3133,7 @@ // MainForm.Color := HexToTColor(Farve); if Farve <> '' then begin - MainForm.Color := HexToTColor(Farve); + MainForm.Color := TUtils.HexToTColor(Farve); // 20150312: start (* end @@ -3514,7 +3244,6 @@ BoghandlerNavn : String; Koreliste : String; Falsk : Boolean; - Sand : Boolean; SmsKode : String; DBKbane : String; Leveringssted : String; @@ -3536,12 +3265,12 @@ // Her kommer en alarm og rød skærm PlaySound(PWideChar(AlarmLyd)); MainForm.Color := clRed; - PakkeshopNulstil.Visible := true; + btnNulstil.Visible := true; end else begin Falsk := False; - Sand := True; + HentPakkeInfoFraServer(Sted,'111111111100000', RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk, ''); UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, ''); SmsKode := '999999'; @@ -3561,7 +3290,6 @@ BoghandlerNavn : String; Koreliste : String; Falsk : Boolean; - Sand : Boolean; SmsKode : String; DBKbane : String; Leveringssted : String; @@ -3570,7 +3298,7 @@ Kommentar := '***** Kommentar *****'; BoghandlerNavn := 'Modtagernavn'; Falsk := False; - Sand := True; + if (Printer.Printers.Count = 0) then begin @@ -3605,36 +3333,7 @@ end; end; -{ - VERY fast split function - this function returns part of a string based on - constant defineable delimiters, such as ";". So - SPLIT('this is a test ',' ',3) = 'is' or - SPLIT('data;another;yet;again;more;',';',4) = 'yet' - - Split function shifts index integer by two to - be compatible with commonly used PD split function - gpl 2004 / Juhani Suhonen -} -function TMainForm.split(input: string; schar: Char; s: Integer): string; -var - c: array of Integer; - b, t: Integer; -begin - Dec(s, 2); // for compatibility with very old & slow split function - t := 0; // variable T needs to be initialized... - setlength(c, Length(input)); - for b := 0 to pred(High(c)) do - begin - c[b + 1] := posex(schar, input, succ(c[b])); - // BREAK LOOP if posex looped (position before previous) - // or wanted position reached.. - if (c[b + 1] < c[b]) or (s < t) then break - else - Inc(t); - end; - Result := Copy(input, succ(c[s]), pred(c[s + 1] - c[s])); -end; + procedure TMainForm.Om1Click(Sender: TObject); const @@ -3643,7 +3342,7 @@ tekst, filversion : String; begin - filversion := Sto_GetFmtFileVersion('',''); + filversion := Sto_GetFmtFileVersion(''); tekst := 'Program til indscanning af pakker'+crlf+'Version '+filversion+crlf+crlf+'Udviklet af it afdelingen, DAO'; tekst := tekst+crlf+crlf; @@ -3665,12 +3364,12 @@ end else begin - tekst := tekst+crlf+crlf+'Speciel version til: '+split(Titel, ':', 2)+' ('+Sted+')'; + tekst := tekst+crlf+crlf+'Speciel version til: ' + TUtils.split(Titel, ':', 2) + ' ('+Sted+')'; end; end else begin - tekst := tekst+crlf+crlf+'Speciel version til: '+split(Titel, ':', 2)+' ('+SpecialVersionSted+')'; + tekst := tekst+crlf+crlf+'Speciel version til: ' + TUtils.split(Titel, ':', 2) + ' ('+SpecialVersionSted+')'; end; end; @@ -3778,16 +3477,23 @@ end; end; +procedure TMainForm.menuIndleveringClick(Sender: TObject); +begin + Scanningtype := '7'; + NulstilAutomatiskValg(); + InitIndleveringskode(); +end; + procedure TMainForm.Sprgefterboghandlernummer1Click(Sender: TObject); begin if Sprgefterboghandlernummer1.Checked then begin - CheckBox1.Checked := true; + chkSporgEfterKunde.Checked := true; end else begin - CheckBox1.Checked := false; + chkSporgEfterKunde.Checked := false; end; @@ -3810,23 +3516,23 @@ procedure TMainForm.InitNatxpresslevering(); begin AutomatiskTjekkodeStyring1.Enabled := true; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; Pakkernormal1.Checked := true; InitForm(FarveNormal,TitelNormal,UrlNormal); PanelValg1.Color := clGreen; PanelValg1.Font.Color := clWhite; - CheckBox1.Enabled := true; - CheckBox2.Enabled := true; + + chkAltidPrintLabel.Enabled := true; Altidprintepakkelabel1.Enabled := true; Altidprintepakkelabel1.Checked := false; - CheckBox2.Checked := false; + chkAltidPrintLabel.Checked := false; Sprgefterboghandlernummer1.Checked := false; - CheckBox1.Checked := false; + chkSporgEfterKunde.Checked := false; Sprgefterboghandlernummer1.Enabled := true; Smpakker1.Enabled := false; Storepakker1.Enabled := false; - RadioButton1.Enabled := false; - RadioButton2.Enabled := false; + radioStorPakke.Enabled := false; + radioLillePakke.Enabled := false; ListBox1.Visible := true; OpdaterListenButton01.Enabled := true; EKLoverforsel.Enabled := true; @@ -3843,22 +3549,22 @@ begin AutomatiskTjekkodeStyring1.Enabled := false; ReturpakkerfraDAO1.Checked := true; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; InitForm(FarveReturDAO,TitelReturDAO,UrlReturDAO); PanelValg2.Color := clGreen; PanelValg2.Font.Color := clWhite; - CheckBox1.Enabled := false; - CheckBox2.Enabled := false; + + chkAltidPrintLabel.Enabled := false; Altidprintepakkelabel1.Enabled := false; - CheckBox2.Checked := false; + Altidprintepakkelabel1.Checked := false; Sprgefterboghandlernummer1.Checked := false; - CheckBox1.Checked := false; + chkSporgEfterKunde.Checked := false; Sprgefterboghandlernummer1.Enabled := false; Smpakker1.Enabled := true; Storepakker1.Enabled := true; - RadioButton1.Enabled := true; - RadioButton2.Enabled := true; + radioStorPakke.Enabled := true; + radioLillePakke.Enabled := true; ListBox1.Visible := true; ListBox1.Items.Clear; ListBox2.Items.Clear; @@ -3870,22 +3576,21 @@ begin AutomatiskTjekkodeStyring1.Enabled := false; Returpakkerfraboghandler1.Checked := true; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; InitForm(FarveReturBoghandler,TitelReturBoghandler,UrlReturBoghandler); PanelValg3.Color := clGreen; PanelValg3.Font.Color := clWhite; - CheckBox1.Enabled := false; - CheckBox2.Enabled := false; + + chkAltidPrintLabel.Enabled := false; Altidprintepakkelabel1.Enabled := false; - CheckBox2.Checked := false; Altidprintepakkelabel1.Checked := false; Sprgefterboghandlernummer1.Checked := false; - CheckBox1.Checked := false; + chkSporgEfterKunde.Checked := false; Sprgefterboghandlernummer1.Enabled := false; Smpakker1.Enabled := true; Storepakker1.Enabled := true; - RadioButton1.Enabled := true; - RadioButton2.Enabled := true; + radioStorPakke.Enabled := true; + radioLillePakke.Enabled := true; ListBox1.Visible := true; ListBox1.Items.Clear; ListBox2.Items.Clear; @@ -3897,22 +3602,22 @@ begin AutomatiskTjekkodeStyring1.Enabled := false; Budlevering1.Checked := true; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; InitForm(FarveBudlevering,TitelBudlevering,UrlBudlevering); PanelValg4.Color := clGreen; PanelValg4.Font.Color := clWhite; - CheckBox1.Enabled := false; - CheckBox2.Enabled := false; + + chkAltidPrintLabel.Enabled := false; Altidprintepakkelabel1.Enabled := false; - CheckBox2.Checked := false; + Altidprintepakkelabel1.Checked := false; Sprgefterboghandlernummer1.Checked := false; - CheckBox1.Checked := false; + chkSporgEfterKunde.Checked := false; Sprgefterboghandlernummer1.Enabled := false; Smpakker1.Enabled := true; Storepakker1.Enabled := true; - RadioButton1.Enabled := true; - RadioButton2.Enabled := true; + radioStorPakke.Enabled := true; + radioLillePakke.Enabled := true; ListBox1.Visible := true; ListBox1.Items.Clear; DownloadButton01.Enabled := false; @@ -3933,30 +3638,29 @@ begin AutomatiskTjekkodeStyring1.Enabled := true; Pakkeshoplevering1.Checked := true; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; InitForm(FarvePakkeshoplevering,TitelPakkeshoplevering,UrlPakkeshoplevering); PanelValg5.Color := clGreen; PanelValg5.Font.Color := clWhite; - CheckBox1.Enabled := false; - CheckBox2.Enabled := false; + + chkAltidPrintLabel.Enabled := false; Altidprintepakkelabel1.Enabled := false; - CheckBox2.Checked := false; + Altidprintepakkelabel1.Checked := false; Sprgefterboghandlernummer1.Checked := false; - CheckBox1.Checked := false; + chkSporgEfterKunde.Checked := false; Sprgefterboghandlernummer1.Enabled := false; Smpakker1.Enabled := false; Storepakker1.Enabled := false; - RadioButton1.Enabled := false; - RadioButton2.Enabled := false; + radioStorPakke.Enabled := false; + radioLillePakke.Enabled := false; ListBox1.Visible := true; ListBox1.Items.Clear; DownloadButton01.Enabled := false; OpdaterListenButton01.Enabled := true; -// 20150330: start -// EKLoverforsel.Enabled := false; + EKLoverforsel.Enabled := true; -// 20150330: slut + InitLillePakke(); IndlesScanningLogFil(); if BladhusSted = 0 then @@ -3971,22 +3675,22 @@ begin AutomatiskTjekkodeStyring1.Enabled := false; Returpakkerfrapakkeshop1.Checked := true; - PakkeshopNulstil.Visible := false; + btnNulstil.Visible := false; InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop); PanelValg6.Color := clGreen; PanelValg6.Font.Color := clWhite; - CheckBox1.Enabled := false; - CheckBox2.Enabled := false; + + chkAltidPrintLabel.Enabled := false; Altidprintepakkelabel1.Enabled := false; - CheckBox2.Checked := false; + Altidprintepakkelabel1.Checked := false; Sprgefterboghandlernummer1.Checked := false; - CheckBox1.Checked := false; + chkSporgEfterKunde.Checked := false; Sprgefterboghandlernummer1.Enabled := false; Smpakker1.Enabled := false; Storepakker1.Enabled := false; - RadioButton1.Enabled := false; - RadioButton2.Enabled := false; + radioStorPakke.Enabled := false; + radioLillePakke.Enabled := false; ListBox1.Visible := true; ListBox1.Items.Clear; DownloadButton01.Enabled := false; @@ -4011,26 +3715,31 @@ procedure TMainForm.InitIndleveringskode(); begin + menuIndlevering.Checked := true; AutomatiskTjekkodeStyring1.Enabled := false; - Returpakkerfrapakkeshop1.Checked := true; - PakkeshopNulstil.Visible := false; - InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop); + + btnNulstil.Visible := false; + InitForm(FarveIndlevering, TitelIndlevering, UrlReturPakkeshop); PanelValg7.Color := clGreen; PanelValg7.Font.Color := clWhite; - CheckBox1.Enabled := false; - CheckBox2.Enabled := false; + + chkAltidPrintLabel.Enabled := false; Altidprintepakkelabel1.Enabled := false; - CheckBox2.Checked := false; + Altidprintepakkelabel1.Checked := false; Sprgefterboghandlernummer1.Checked := false; - CheckBox1.Checked := false; Sprgefterboghandlernummer1.Enabled := false; + chkSporgEfterKunde.Checked := false; + + + Smpakker1.Enabled := false; Storepakker1.Enabled := false; - RadioButton1.Enabled := false; - RadioButton2.Enabled := false; + radioStorPakke.Enabled := false; + radioLillePakke.Enabled := false; ListBox1.Visible := true; - ListBox1.Items.Clear; + ListBox1.Items.Clear(); + DownloadButton01.Enabled := false; OpdaterListenButton01.Enabled := true; EKLoverforsel.Enabled := false; @@ -4057,16 +3766,14 @@ procedure TMainForm.InitLillePakke(); begin - RadioButton2.Checked := true; + radioLillePakke.Checked := true; Smpakker1.Checked := true; -// 20150310: start // Stregkode := ''; -// 20150310: slut end; procedure TMainForm.InitStorPakke(); begin - RadioButton1.Checked := true; + radioStorPakke.Checked := true; Storepakker1.Checked := true; // 20150310: start // Stregkode := ''; @@ -4089,16 +3796,14 @@ /// values. /// Formatted version number of file, '' if no version /// resource found. -function TMainForm.Sto_GetFmtFileVersion(const FileName: String = ''; - const Fmt: String = '%d.%d.%d.%d'): String; +function TMainForm.Sto_GetFmtFileVersion(const FileName: String = ''): String; var sFileName: String; iBufferSize: DWORD; iDummy: DWORD; pBuffer: Pointer; pFileInfo: Pointer; - iVer: array[1..4] of Word; - S : String; + iVer: array[1..4] of Integer; begin // set default value Result := ''; @@ -4123,20 +3828,10 @@ finally FreeMem(pBuffer); end; + // format result string - Result := Format(Fmt, [iVer[1], iVer[2], iVer[3], iVer[4]]); + Result := Format('%d.%d.%d.%d', [iVer[1], iVer[2], iVer[3], iVer[4]]); - // Hvorfor virker ovenstående ikke ??? - S := ''; - Str(iVer[1],Result); - S := S+Result+'.'; - Str(iVer[2],Result); - S := S+Result+'.'; - Str(iVer[3],Result); - S := S+Result+'.'; - Str(iVer[4],Result); - S := S+Result+''; - Result := S; end; end; @@ -4163,7 +3858,6 @@ procedure TMainForm.Testlyd2Click(Sender: TObject); begin -// 20150317: start if (PakkeshopText1.Caption = 'Tjekkode') then begin if ScannetOkTilTjekkodeLyd <> '' then @@ -4176,7 +3870,6 @@ end; exit; end; -// 20150317: slut if Smpakker1.Checked then if ScannetOkLyd <> '' then @@ -4185,10 +3878,7 @@ end else begin -// 20150317: start -// MessageBox(Handle, PWideChar('Lyd fil ikke fundet (scannet)'), 'Information', MB_OK); MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK); -// 20150317: slut end; if Storepakker1.Checked then if ScannetOkStorLyd <> '' then @@ -4197,10 +3887,7 @@ end else begin -// 20150317: start -// MessageBox(Handle, PWideChar('Lyd fil ikke fundet (scannet stor)'), 'Information', MB_OK); MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkStorLyd)'), 'Information', MB_OK); -// 20150317: slut end; end; @@ -4307,7 +3994,7 @@ BoghandlerNavnST.Caption := 'Prøv venligst igen om lidt...'; end; KommentarST.Caption := Kommentar; - PakkeshopNulstil.Visible := true; + btnNulstil.Visible := true; end; end; @@ -4331,7 +4018,7 @@ else MessageBox(Handle, 'fejl', 'Stregkode', MB_OK); } - Svar := 'Beregnet: '+CheckSumModulo10(LeftStr(Barcode,Length(Barcode)-1))+', Indtastet: '+Barcode; + Svar := 'Beregnet: ' + TUtils.CheckSumModulo10(LeftStr(Barcode,Length(Barcode)-1))+', Indtastet: '+Barcode; MessageBox(Handle, PWideChar(Svar), 'Stregkode', MB_OK); CheckCode(); @@ -4339,45 +4026,6 @@ end; -function TMainForm.BarCodeValid (ACode: string): boolean; -var - I: integer; - SumOdd, SumEven: integer; - ADigit, AChecksumDigit: integer; -begin - SumOdd := 0; - SumEven := 0; - for I := 1 to (Length (ACode) - 1) do begin - ADigit := StrToIntDef (ACode [I], 0); - if (I MOD 2 = 0) then begin - SumEven := SumEven + ADigit; - end else begin - SumOdd := SumOdd + ADigit; - end; {if} - end; {for} - AChecksumDigit := StrToIntDef (ACode [Length (ACode)], 0); - Result := ((SumOdd*3 + SumEven + AChecksumDigit) MOD 10 = 0); -end; {--BarCodeValid--} - -{ used for EAN 8/13 } -function TMainForm.CheckSumModulo10(const data:string):string; - var i,fak,sum : Integer; -begin - sum := 0; - fak := Length(data); - for i:=1 to Length(data) do - begin - if (fak mod 2) = 0 then - sum := sum + (StrToInt(data[i])*1) - else - sum := sum + (StrToInt(data[i])*3); - dec(fak); - end; - if (sum mod 10) = 0 then - result := data+'0' - else - result := data+IntToStr(10-(sum mod 10)); -end; // // Bladhus *** @@ -4879,20 +4527,131 @@ ListBox1.SetFocus; // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode end; -function TMainForm.Explode(var a: TStrArray; Border, S: string): Integer; + +// ToDo: PrintPakkeshopLabel() +procedure TMainForm.PrintPakkeshopLabel( PakkeshopLabel : TPakkeshopLabel); var - S2: string; + XForm, XFormOld: TXForm; //Bruges til rotate X-formation + Angle: integer; + gMode: integer; + BarcodeArea: TRect; + Dirigering: string; + +begin + with Printer do + begin + BeginDoc(); + + + Canvas.Font.Size := 16; + Canvas.TextOut(15,10, 'Code: ' + PakkeshopLabel.Tjekkode + ' ' + PakkeshopLabel.Overskrift); + + + + Canvas.TextOut(25, 90, PakkeshopLabel.Navn ); + Canvas.TextOut(25, 135, PakkeshopLabel.Vejnavn ); + Canvas.TextOut(25, 180, PakkeshopLabel.Postnr ); + + + Canvas.Font.Size := 9; + Canvas.TextOut(110, 240, 'Pakkeshop:'); + Canvas.TextOut(110, 270, PakkeshopLabel.PakkeshopNavn); + Canvas.TextOut(110, 300, PakkeshopLabel.PakkeshopAddr); + Canvas.TextOut(110, 330, PakkeshopLabel.PakkeshopPostnr); + + Canvas.TextOut(350, 240, 'Afsender:'); + Canvas.TextOut(350, 270, PakkeshopLabel.AfsenderNavn); + Canvas.TextOut(350, 300, PakkeshopLabel.AfsenderAdresse); + Canvas.TextOut(350, 330, PakkeshopLabel.AfsenderPostnr); + + Dirigering := PakkeshopLabel.PakkeshopSted + ' | ' + PakkeshopLabel.PakkeshopTurid + ' | ' + PakkeshopLabel.PakkeshopNr; + if ( PakkeshopLabel.Koreliste <> '') then + begin + Dirigering := Dirigering + ' > ' + PakkeshopLabel.Koreliste; + end; + + + Canvas.Font.Size := 12; + Canvas.TextOut(15, 370, Dirigering); + + + + + + //Tegn adskillelses linier + Canvas.Pen.Width := 2; + //Øverste linie + Canvas.MoveTo(20,80); + Canvas.LineTo(600,80); + + // Midterste linie + Canvas.MoveTo( 20, 240); + Canvas.LineTo(600, 240); + + //Nederste linie + Canvas.MoveTo( 20, 370); + Canvas.LineTo(600, 370); + + + //Tegn skrå streger over afsender + Canvas.Pen.Width := 1; + Canvas.MoveTo(600, 250); + Canvas.LineTo(350, 360); + Canvas.MoveTo(600, 360); + Canvas.LineTo(350, 250); + + + + + // Resten af rutinen vedr genering og placering af Barcode + + BarCode.BarCodeType := bcCode128; + BarCode.Code128Subset := csCodeC; + BarCode.Code := PakkeshopLabel.Stregkode; + BarCode.Validate(True); + + //Start X-formation + //ShowMessage( Format('%d %d', [PageWidth, PageHeight]) ); + GetWorldTransform(Canvas.Handle, XFormOld); + + Angle := 270; + XForm.eM11 := Cos(DegToRad(Angle)); + XForm.eM12 := Sin(DegToRad(Angle)); + XForm.eM21 := -Sin(DegToRad(Angle)); + XForm.eM22 := Cos(DegToRad(Angle)); + XForm.eDx := 0; + XForm.eDy := 0; + + gMode := SetGraphicsMode(Canvas.Handle, GM_ADVANCED); + SetWorldTransform(Canvas.Handle, XForm); + + // PaintToCanvasSize arbejder i Inches + // Første pos argument bliver nu Y og skal være negativ for at rykke den ned + //Anden pos er X og skal være positiv for at justere ind fra venstre mod højre + + BarCode.PaintToCanvasSize(Printer.Canvas, -1.8, 3.3, 0.4); + + + SetWorldTransform(Canvas.Handle, XFormOld); + SetGraphicsMode(Canvas.Handle, gMode); + + EndDoc(); + end; + + +end; + +function GetPixelsPerInchX(): Integer; begin - Result := 0; - S2 := S + Border; - repeat - SetLength(A, Length(A) + 1); - a[Result] := Copy(S2, 0,Pos(Border, S2) - 1); - Delete(S2, 1,Length(a[Result] + Border)); - Inc(Result); - until S2 = ''; + Result := GetDeviceCaps(Printer.Handle, LOGPIXELSX) end; +function GetPixelsPerInchY(): Integer; +begin + Result := GetDeviceCaps(Printer.Handle, LOGPIXELSY) +end; + + procedure TMainForm.IndlesManglendeScanninger(); var WebSvar : String; @@ -4905,9 +4664,9 @@ pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer; pakketyper : TStrings; antlin : Integer; -// 20150306: start + antlinIdag, antlinSenere : Integer; -// 20150306: slut + XmlFelter : TStrings; begin @@ -4927,25 +4686,7 @@ StedKode := Sted; end; -// 20150310: start -(* - if Returpakkerfrapakkeshop1.Checked then - begin - URLStr := Format(UrlPakkeshopManglendeReturScanninger,[StedKode]); - end - else if Pakkeshoplevering1.Checked then - begin - URLStr := Format(UrlPakkeshopManglendeScanninger,[StedKode]); - end - else if Pakkernormal1.Checked then - begin - URLStr := Format(UrlManglendeScanninger,[StedKode,'B2']); - end - else - begin - URLStr := Format(UrlManglendeScanninger,[StedKode,'A2']); // Budleveringer - end; -*) + if (Scanningtype = '6') then begin URLStr := Format(UrlPakkeshopManglendeReturScanninger,[StedKode]); @@ -4989,12 +4730,11 @@ try XMLDocument1.LoadFromXML(WebSvar); -// 20150206: start + antlin := 0; antlinIdag := 0; antlinSenere := 0; -// 20150306: slut - antalFelterFundet := 0; + for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin Node:= XMLDocument1.DocumentElement.ChildNodes[I]; if Node.NodeType = ntElement then begin @@ -5026,15 +4766,14 @@ antalFelterFundet := 0; SetLength(stregkoderMedTjekkodeArray, 0); // reset fra tidligere brug SetLength(stregkoderMedTjekkodeArray, antlin); // sæt antal elementer i array -// 20150206: start -// logTekst := 'Der er '+IntToStr(antlin)+' pakker, der endnu ikke er modtaget.'; + logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget'; if (antlinSenere > 0) then begin logTekst := logTekst + ' (' + IntToStr(antlinIdag) + ' til i dag og ' + IntToStr(antlinSenere) + ' til senere)'; end; logTekst := logTekst + '.'; -// 20150306: slut + SkrivScanningLogFil(logTekst); for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin Node:= XMLDocument1.DocumentElement.ChildNodes[I]; @@ -5078,14 +4817,13 @@ // stregkoderMedTjekkodeArray[linienr] := stregkode; if (pos(' ', stregkode) > 0) then begin - stregkoderMedTjekkodeArray[linienr] := split(stregkode, ' ', 2); // Fjerner lige en evt. fremtidig dato fra feltet + stregkoderMedTjekkodeArray[linienr] := TUtils.split(stregkode, ' ', 2); // Fjerner lige en evt. fremtidig dato fra feltet end else begin stregkoderMedTjekkodeArray[linienr] := stregkode; end; -// 20150306: slut - linienr := linienr + 1; + linienr := linienr + 1; end; end; if antalFelterFundet = antalLiniefelter then @@ -5110,7 +4848,6 @@ // Free up the list object pakketyper.Free; -// 20150306: start // ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Der er '+IntToStr(antlin)+' pakker, der endnu ikke er modtaget.'); logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget'; if (antlinSenere > 0) then @@ -5119,8 +4856,6 @@ end; logTekst := logTekst + '.'; ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); -// 20150306: slut -// 20150309: start if (antlinSenere > 0) then begin StaticTextManglendePakker.Caption := IntToStr(antlinIdag) + '/' + IntToStr(antlinSenere); @@ -5129,9 +4864,7 @@ begin StaticTextManglendePakker.Caption := IntToStr(antlinIdag); end; -// 20150309: slut -// 20150310: start if (Scanningtype = '1') then begin //antlinIdag := 9876; // til test af boksens udseende ved stort tal @@ -5210,7 +4943,6 @@ PanelManglendePakker6.Visible := false; end; end; -// 20150310: slut except on e:exception do begin @@ -5272,12 +5004,10 @@ procedure TMainForm.SkrivScanningLogFil(var tekst : string); var SomeTxtFile : TextFile; - buffer : string; - S: string; idag, imorgen : TDateTime; imorgenYmd : string; logFilnavn : string; - error : Integer; + //error : Integer; begin if (SkrivLog = '1') then @@ -5369,10 +5099,10 @@ ReadLn(SomeTxtFile, buffer) ; S := buffer; SetLength(A,0); - Explode(A, ';', S); + TUtils.Explode(A, ';', S); if (length(A) < 2) then begin - Explode(A, ',', S); + TUtils.Explode(A, ',', S); end; if (length(A) > 1) then begin @@ -5446,10 +5176,10 @@ ReadLn(SomeTxtFile, buffer) ; S := buffer; SetLength(A,0); - Explode(A, ';', S); + TUtils.Explode(A, ';', S); if (length(A) < 3) then begin - Explode(A, ',', S); + TUtils.Explode(A, ',', S); end; if (A[0]=imorgenYmd) then begin @@ -5541,6 +5271,26 @@ result := svar; end; +procedure TMainForm.VisAlarmSkaerm(strMessage: string); +begin + //ShowMessage('Ændring ikke tilladt'); + // Her skal komme en 'rød skærm' alarm + PlaySound(PWideChar(AlarmLyd)); + MainForm.Color := clRed; + + + RuteNummerST.Caption := ''; + BoghandlerNavnST.Caption := ''; + btnNulstil.Visible := true; + + if (strMessage <> '') then + begin + ListBox1.Items.Insert(0, strMessage); + KommentarST.Caption := strMessage; + end; + +end; + function TMainForm.getProddato() : TDate; var idag, imorgen : TDateTime; @@ -5622,11 +5372,11 @@ begin if Scanogstjekkoden1.Checked then begin - CheckBox3.Checked := true; + chkScanTjekkode.Checked := true; end else begin - CheckBox3.Checked := false; + chkScanTjekkode.Checked := false; end; end; @@ -5642,6 +5392,47 @@ AReg.Free; end; + +function TMainForm.CheckUrl(url:string):boolean; +var + hSession, hfile: hInternet; + dwindex,dwcodelen :dword; + dwcode:array[1..20] of char; + res : pchar; +begin + if pos('http://',lowercase(url))=0 then + url := 'http://'+url; + Result := false; + hSession := InternetOpen('InetURL:/1.0', + INTERNET_OPEN_TYPE_PRECONFIG, + nil, + nil, + 0); + if assigned(hsession) then + begin + hfile := InternetOpenUrl(hsession, + pchar(url), + nil, + 0, + INTERNET_FLAG_RELOAD, + 0); + dwIndex := 0; + dwCodeLen := 10; + HttpQueryInfo(hfile, + HTTP_QUERY_STATUS_CODE, + @dwcode, + dwcodeLen, + dwIndex); + res := pchar(@dwcode); + result:= (res ='200') or (res ='302'); + if assigned(hfile) then + InternetCloseHandle(hfile); + InternetCloseHandle(hsession); + end; + +end; + + procedure TMainForm.CheckPrintQue(tjektype : string); type TJobs = array [0..1000] of JOB_INFO_1; @@ -5745,65 +5536,6 @@ end; end; -function TMainForm.CheckUrl(url:string):boolean; -var - hSession, hfile, hRequest: hInternet; - dwindex,dwcodelen :dword; - dwcode:array[1..20] of char; - res : pchar; -begin - if pos('http://',lowercase(url))=0 then - url := 'http://'+url; - Result := false; - hSession := InternetOpen('InetURL:/1.0', - INTERNET_OPEN_TYPE_PRECONFIG, - nil, - nil, - 0); - if assigned(hsession) then - begin - hfile := InternetOpenUrl(hsession, - pchar(url), - nil, - 0, - INTERNET_FLAG_RELOAD, - 0); - dwIndex := 0; - dwCodeLen := 10; - HttpQueryInfo(hfile, - HTTP_QUERY_STATUS_CODE, - @dwcode, - dwcodeLen, - dwIndex); - res := pchar(@dwcode); - result:= (res ='200') or (res ='302'); - if assigned(hfile) then - InternetCloseHandle(hfile); - InternetCloseHandle(hsession); - end; - -end; - -// 20150310: start -procedure TMainForm.RoundCornerOf(Control: TWinControl); -var - R: TRect; - Rgn: HRGN; -begin - with Control do - begin - R := ClientRect; -// rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 20, 20) ; - rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 25, 25) ; -// rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 30, 30) ; - Perform(EM_GETRECT, 0, lParam(@r)) ; - InflateRect(r, - 4, - 4) ; - Perform(EM_SETRECTNP, 0, lParam(@r)) ; - SetWindowRgn(Handle, rgn, True) ; - Invalidate; - end; -end; -// 20150310: slut end.