--- dao/DelphiScanner/Main.pas 2016/06/27 12:18:07 3055 +++ dao/DelphiScanner/Main.pas 2016/08/19 12:23:37 3092 @@ -26,7 +26,8 @@ LabelPrint, Configuration, Vcl.Imaging.pngimage, - Generics.Collections + Generics.Collections, + TimingHelper ; @@ -107,6 +108,7 @@ chkForstorTilDirekte: TCheckBox; chkEmballageRepareret: TCheckBox; KommentarST: TLabel; + chkUdenforSpecifikation: TCheckBox; @@ -209,31 +211,17 @@ SkrivLog : String; Sted : String; StedNavn : String; - Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, - UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke, - UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel, URLOmdirigerTilPakkeshop : String; - UrlEKLoverforselPakkeshop : String; + Scanningtype, Pakketype : String; - UrlFindPakketype, UrlSendPrograminfo: String; - Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String; - ScanTjekkode : String; - ScanTjekkodeAutomatik : string; - Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop, - FarveIndlevering : String; + Url : String; - Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop, - TitelIndlevering : String; + Farve : String; - AlarmLyd : String; - ScannetOkLyd : String; - ScannetOkStorLyd : String; + Titel : String; - ScannetOkTilTjekkodeLyd : String; - PrinterNavn : String; - TjekPrinter : String; Org_RuteNummerST, Org_BoghandlerNavnST, Org_KommentarST : String; BladhusSted : Integer; @@ -246,7 +234,7 @@ logTekst : string; PakkeshopStregkode, PakkeshopTjekkode : String; BoghandlerStregkode, BoghandlerTjekkode : String; - TjekUrls : String; + Config : TConfiguration; @@ -263,7 +251,7 @@ procedure SkrivScanningLogFil(var tekst : string); function TjekKoreliste(var RuteNummer, Koreliste : string) : string; procedure VisAlarmSkaerm(strMessage: string); - function InjectURL(Url : String) : String; + public { Public declarations } @@ -417,7 +405,7 @@ if (Scanningtype = '1') or (Scanningtype = '5') then begin - if (ScanTjekkode = '1') then + if (Config.ScanTjekkode = '1') then begin chkScanTjekkode.Checked := true; chkScanTjekkode.Enabled := true; @@ -513,15 +501,7 @@ PanelValgA.Font.Color := clWhite; end; -function TMainForm.InjectURL(Url : String) : String; -begin - Url := Url + '&ver=' + TUtils.URLEncode( TUtils.Sto_GetFmtFileVersion('')); - Url := Url + '&host=' + TUtils.URLEncode( TUtils.GetComputerNameHelper()); - Url := Url + '&user=' + TUtils.URLEncode( TUtils.GetCurrentUserName()); - - Result := Url; -end; //InitForm kaldes før FormCreate procedure TMainForm.FormCreate(Sender: TObject); @@ -558,7 +538,7 @@ // Sætter lige en default panel størrelse MainForm.ClientWidth := 1000; - MainForm.ClientHeight := 750; + MainForm.ClientHeight := 820; Config := TConfiguration.Create(); Config.ReadFromInifile( TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ); //ToDo: clean up duplicate ini ref @@ -573,89 +553,12 @@ Sted := ReadString('Settings','Sted',''); StedNavn := ReadString('Settings','Stednavn',''); - UrlFindPakketype := ReadString('Settings','UrlFindPakketype','http://omdeling.info/webservices/bogpakkekontrol/FindPakketype.php?stregkode=%s'); - UrlFindPakketype := InjectURL(UrlFindPakketype); - - UrlSendPrograminfo := ReadString('Settings','UrlSendPrograminfo','http://omdeling.info/webservices/bogpakkekontrol/SendPrograminfo.php?programnavn=%s&sted=%s&scanningtype=%s&infotype=%s&info=%s'); - UrlSendPrograminfo := InjectURL(UrlSendPrograminfo); - - UrlNormal := ReadString('Settings','UrlNormal','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&tjekkode=%s'); - UrlNormal := InjectURL(UrlNormal); - - UrlReturDAO := ReadString('Settings','UrlReturDAO','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s'); - UrlReturDAO := InjectURL(UrlReturDAO); - - UrlReturBoghandler := ReadString('Settings','UrlReturBoghandler','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s'); - UrlReturBoghandler := InjectURL(UrlReturBoghandler); - - UrlBudlevering := ReadString('Settings','UrlBudlevering','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&leveringstype=%s&pakkestorrelse=%s'); - UrlBudlevering := InjectURL(UrlBudlevering); - - UrlManglendeScanninger := ReadString('Settings','UrlManglendeScanninger','http://omdeling.info/webservices/bogpakkekontrol/bogpakkemanglendescanninger.php?sted=%s&type=%s'); - UrlManglendeScanninger := InjectURL(UrlManglendeScanninger); - - UrlEKLoverforsel := ReadString('Settings','UrlEKLoverforsel','http://omdeling.info/webservices/bogpakkekontrol/bogpakkertilekl.php?sted=%s'); - UrlEKLoverforsel := InjectURL(UrlEKLoverforsel); - - UrlEKLoverforselPakkeshop := ReadString('Settings','UrlEKLoverforselPakkeshop','http://omdeling.info/webservices/pakkeshop/pakkertilekl.php?sted=%s'); - UrlEKLoverforselPakkeshop := InjectURL(UrlEKLoverforselPakkeshop); - - UrlPakkeshoplevering := ReadString('Settings','UrlPakkeshoplevering','http://omdeling.info/webservices/pakkeshop/pakkekontrol.php?sted=%s&stregkode=%s&tjekkode=%s'); - UrlPakkeshoplevering := InjectURL(UrlPakkeshoplevering); - - UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s'); - UrlReturPakkeshop := InjectURL(UrlReturPakkeshop); - - UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s'); - UrlPakkeshopManglendeScanninger := InjectURL(UrlPakkeshopManglendeScanninger); - - UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s'); - UrlPakkeshopManglendeReturScanninger := InjectURL(UrlPakkeshopManglendeReturScanninger); - - UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s'); - UrlIndleveringsPakke := InjectURL(UrlIndleveringsPakke); - - UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s'); - UrlIndleveringsPakkeManglendeScanninger := InjectURL(UrlIndleveringsPakkeManglendeScanninger); - - URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s'); - URLOmdirigerTilPakkeshop := InjectURL(URLOmdirigerTilPakkeshop); + Scanningtype := 'A'; //hardcoded + Pakketype := '0'; - FarveNormal := ReadString('Settings','FarveNormal','D8D8D8'); - TitelNormal := ReadString('Settings','TitelNormal','Modtagelse af DAO NAT X-PRESS pakker'); - FarveReturDAO := ReadString('Settings','FarveReturDAO','A9F5A9'); - TitelReturDAO := ReadString('Settings','TitelReturDAO','Returforsendelse fra DAO'); - FarveReturBoghandler := ReadString('Settings','FarveReturBoghandler','F2F5A9'); - TitelReturBoghandler := ReadString('Settings','TitelReturBoghandler','Returforsendelse fra boghandler'); - FarveBudlevering := ReadString('Settings','FarveBudlevering','2E9AFE'); - 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'); - Scanningtype := ReadString('Settings','Scanningtype','A'); - Pakketype := ReadString('Settings','Pakketype','0'); - TestFunktionen := ReadString('Settings','TestFunktion','0'); - AlarmLyd := ReadString('Settings','AlarmLyd','Sounds\Alarm.wav'); - ScannetOkLyd := ReadString('Settings','ScannetOkLyd','Sounds\Ok.wav'); - ScannetOkStorLyd := ReadString('Settings','ScannetOkStorLyd','Sounds\Ok_stor.wav'); - - ScannetOkTilTjekkodeLyd := ReadString('Settings','ScannetOkTilTjekkodeLyd','Sounds\Ok_til_tjekkode.wav'); - - PrinterNavn := ReadString('Settings','PrinterNavn',''); - TjekPrinter := ReadString('Settings','TjekPrinter','1'); - TjekUrls := ReadString('Settings','TjekUrls','2'); if (SkrivLog = '1') then begin @@ -683,7 +586,7 @@ - if SporgEfterBoghandler = '1' then + if Config.SporgEfterBoghandler = '1' then begin chkSporgEfterKunde.Checked := true; Sprgefterboghandlernummer1.Checked := true; @@ -694,7 +597,7 @@ Sprgefterboghandlernummer1.Checked := false; end; - if ScanTjekkode = '1' then + if Config.ScanTjekkode = '1' then begin chkScanTjekkode.Checked := true; Scanogstjekkoden1.Checked := true; @@ -705,7 +608,7 @@ Scanogstjekkoden1.Checked := false; end; - if ScanTjekkodeAutomatik = '1' then + if Config.ScanTjekkodeAutomatik = '1' then begin menuAutomatiskTjekkodeStyring.Checked := true; chkScanTjekkode.Enabled := false; @@ -841,34 +744,7 @@ if SpecialVersionSted = 'DBK' then begin - //FarveNormal := 'A9F5A9'; // her kan vi evt. overrule ini fil Sted := SpecialVersionSted; - // her skal vi også disable de knapper DBK ikke kan bruge - PanelValg2.Enabled := false; - PanelValg2.Font.Color := clInactiveCaption; - PanelValg3.Enabled := false; - PanelValg3.Font.Color := clInactiveCaption; - PanelValg5.Enabled := false; - PanelValg5.Font.Color := clInactiveCaption; - PanelValg6.Enabled := false; - PanelValg6.Font.Color := clInactiveCaption; - - - // her skal vi også disable de menupunkter DBK ikke kan bruge - menuNatxpressReturDAO1.Enabled := false; - menuNatxpressReturfraKunde1.Enabled := false; - - menuPakkeshop1.Enabled := false; - menuPakkeshopRetur1.Enabled := false; - - if SpecialVersionScanningtype = 'A' then - begin - Scanningtype := '1'; - end - else - begin - Scanningtype := SpecialVersionScanningtype; - end; end; if (SpecialVersionSted = '01') @@ -977,12 +853,12 @@ Application.Terminate; end; - if TjekUrls = '1' then // Tjekker urls + if Config.TjekUrls = '1' then // Tjekker urls begin TjekkerUrls(); - if TjekUrls = '-' then // så var der fejl i url - så vi stopper her + if Config.TjekUrls = '-' then // så var der fejl i url - så vi stopper her begin - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); MainForm.Color := clRed; RutenummerST.Caption := ''; BoghandlerNavnST.Caption := 'Fejl i urls'; @@ -1038,14 +914,14 @@ radioLillePakke.Checked := true; end; - if TestFunktionen = '1' then + if Config.TestFunktionen = '1' then begin Testforbindelsen1.Visible := true; Testprinter1.Visible := true; Testlyd1.Visible := true; Testlyd2.Visible := true; end - else if TestFunktionen = '2' then + else if Config.TestFunktionen = '2' then begin Testforbindelsen1.Enabled := false; Testprinter1.Enabled := false; @@ -1060,32 +936,12 @@ Testlyd2.Visible := false; end; - if not FileExists(AlarmLyd) then - begin - AlarmLyd := ''; - end; - - if not FileExists(ScannetOkLyd) then - begin - ScannetOkLyd := ''; - end; - if not FileExists(ScannetOkStorLyd) then - begin - ScannetOkStorLyd := ''; - end; - if not FileExists(ScannetOkTilTjekkodeLyd) then - begin - ScannetOkTilTjekkodeLyd := ''; - end; - - - - LabelPrint := TLabelPrint.Create( self, Config, PrinterNavn ); - LabelPrint.CheckPrintQue('Opstart', PrinterNavn); + LabelPrint := TLabelPrint.Create( self, Config, Config.PrinterNavn ); + LabelPrint.CheckPrintQue('Opstart', Config.PrinterNavn); finally Free; @@ -1450,7 +1306,7 @@ if (Length(Stregkode) > 8) then begin // Her skal vi så forespørge pakketype på serveren udfra stregkode feltet - URLStr := Format(UrlFindPakketype,[Stregkode]); + URLStr := Format(Config.UrlFindPakketype,[Stregkode]); try //raise EIdConnClosedGracefully.Create('test'); // KUN TIL TEST WebSvar := IdHTTP1.Get(URLStr); @@ -1619,7 +1475,7 @@ BoghandlerStregkode := Stregkode; PakkeshopText1.Caption := 'Tjekkode'; - PlaySound(PWideChar(ScannetOkTilTjekkodeLyd)); + PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd)); end else @@ -1637,9 +1493,9 @@ BoghandlerTjekkode := Stregkode; PakkeshopText1.Caption := 'Stregkode'; if (menuPakkeshop1.Checked) then - MainForm.Color := TUtils.HexToTColor(FarvePakkeshoplevering); + MainForm.Color := TUtils.HexToTColor(Config.FarvePakkeshoplevering); if (menuNatXpress1.Checked) then - MainForm.Color := TUtils.HexToTColor(FarveNormal); + MainForm.Color := TUtils.HexToTColor(Config.FarveNormal); btnNulstil.Visible := false; end else @@ -1693,7 +1549,7 @@ tjekkodemangler := pos('Tjekkode mangler', Kommentar); if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then begin - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); btnNulstil.Visible := true; MainForm.Color := clRed; end; @@ -1703,11 +1559,11 @@ MainForm.Color := TUtils.HexToTColor(Farve); if menuStorePakker.Checked then begin - PlaySound(PWideChar(ScannetOkStorLyd)); + PlaySound(PWideChar(Config.ScannetOkStorLyd)); end else begin - PlaySound(PWideChar(ScannetOkLyd)); + PlaySound(PWideChar(Config.ScannetOkLyd)); end; btnNulstil.Visible := false; end @@ -1716,11 +1572,11 @@ MainForm.Color := TUtils.HexToTColor(Farve); if menuStorePakker.Checked then begin - PlaySound(PWideChar(ScannetOkStorLyd)); + PlaySound(PWideChar(Config.ScannetOkStorLyd)); end else begin - PlaySound(PWideChar(ScannetOkLyd)); + PlaySound(PWideChar(Config.ScannetOkLyd)); end; btnNulstil.Visible := false; end @@ -1743,11 +1599,11 @@ begin if menuStorePakker.Checked then begin - PlaySound(PWideChar(ScannetOkStorLyd)); + PlaySound(PWideChar(Config.ScannetOkStorLyd)); end else begin - PlaySound(PWideChar(ScannetOkLyd)); + PlaySound(PWideChar(Config.ScannetOkLyd)); end; InitLillePakke(); end; @@ -1801,9 +1657,9 @@ WebSvar : String; URLStr : String; begin - if UrlSendPrograminfo <> '' then + if Config.UrlSendPrograminfo <> '' then begin - URLStr := Format(UrlSendPrograminfo,[ExtractFileName(ParamStr(0)), Sted, Scanningtype, Infotype, Info]); + URLStr := Format(Config.UrlSendPrograminfo,[ExtractFileName(ParamStr(0)), Sted, Scanningtype, Infotype, Info]); try //raise EIdConnClosedGracefully.Create('test'); // KUN TIL TEST WebSvar := IdHTTP1.Get(URLStr); @@ -1816,7 +1672,7 @@ ShowMessage(logTekst); SkrivScanningLogFil(logTekst); // Vi nulstiller lige url feltet så rutinen ikke kaldes igen i forbindelse med lukning af programmet - UrlSendPrograminfo := ''; + Config.UrlSendPrograminfo := ''; Application.Terminate; end; end; @@ -1840,6 +1696,7 @@ for i := ListBox2.items.count-1 downto 0 do if pos(StregKode,ListBox2.items[i]) <> 0 then begin + wrkAntalSenere := 0;//initial Value // Ajourføring af tæller for manglende pakker (scanninger) wrkAntal := StaticTextManglendePakker.Caption; @@ -2093,31 +1950,31 @@ begin BoghandlerTjekkode := '-1'; end; - URLStr := Format(UrlNormal,[Sted, PakkeNr, BoghandlerNummer, BoghandlerTjekkode]); + URLStr := Format(Config.UrlNormal,[Sted, PakkeNr, BoghandlerNummer, BoghandlerTjekkode]); end else if menuNatxpressReturDAO1.Checked then begin - URLStr := Format(UrlReturDAO,[Sted, PakkeNr, BoghandlerNummer, 'DAO', pakkestorrelse]); + URLStr := Format(Config.UrlReturDAO,[Sted, PakkeNr, BoghandlerNummer, 'DAO', pakkestorrelse]); end else if menuNatxpressReturfraKunde1.Checked then begin - URLStr := Format(UrlReturBoghandler,[Sted, PakkeNr, BoghandlerNummer, 'Boghandler', pakkestorrelse]); + URLStr := Format(Config.UrlReturBoghandler,[Sted, PakkeNr, BoghandlerNummer, 'Boghandler', pakkestorrelse]); end else if menuDaoDirekte1.Checked then begin - URLStr := Format(UrlBudlevering,[Sted, PakkeNr, 'bud', pakkestorrelse]); + URLStr := Format(Config.UrlBudlevering,[Sted, PakkeNr, 'bud', pakkestorrelse]); end else if menuPakkeshop1.Checked then begin - URLStr := Format(UrlPakkeshoplevering,[Sted, PakkeNr, PakkeshopTjekkode]); + URLStr := Format(Config.UrlPakkeshoplevering,[Sted, PakkeNr, PakkeshopTjekkode]); end else if menuPakkeshopRetur1.Checked then begin - URLStr := Format(UrlReturPakkeshop,[Sted, PakkeNr]); + URLStr := Format(Config.UrlReturPakkeshop,[Sted, PakkeNr]); end else if menuIndlevering.Checked then begin - URLStr := Format(UrlIndleveringsPakke,[Sted, PakkeNr]); + URLStr := Format(Config.UrlIndleveringsPakke,[Sted, PakkeNr]); end else begin @@ -2126,7 +1983,7 @@ if chkForstorTilDirekte.Checked then // Denne skal være efter if/else kæden da den overrider de øvrige URL'er begin - URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]); + URLStr := Format(Config.URLOmdirigerTilPakkeshop,[Sted, PakkeNr]); end; try @@ -2188,7 +2045,7 @@ RuteNummer := PakkeshopLabel.Koreliste + ' -> ' + PakkeshopLabel.PakkeshopTurid; Stregkode := PakkeshopLabel.Stregkode; - LabelPrint.PrintPakkeshopLabel( PakkeshopLabel ); + LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel ); chkForstorTilDirekte.Checked := false; end; @@ -2233,21 +2090,14 @@ begin if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then begin - Kommentar := Kommentar + ' Pakke burde være hos DAO Distribution'; - PrintNyLabel := False; + Kommentar := Kommentar + 'Pakke burde være hos ' + Leveringssted; + //PrintNyLabel := False; //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel end; end - else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) then + else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then begin - if (Leveringssted = 'E') and (Sted = 'DBK') then - begin - // Det er ok at DBK scanner pakker til E (Schenker) - end - else - begin - Kommentar := Kommentar + ' Pakke burde være hos DAO Distribution'; - PrintNyLabel := False; - end; + Kommentar := Kommentar + 'Pakke burde være hos ' + Leveringssted; + //PrintNyLabel := False; //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel end; except on e:exception do raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]); @@ -2392,7 +2242,7 @@ begin PrintNyLabel := false; - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); MainForm.Color := clRed; btnNulstil.Visible := true; @@ -2412,14 +2262,14 @@ logTekst := RightStr(List1Msg, Length(List1Msg)-10); SkrivScanningLogFil(logTekst); - if (PrinterNavn = 'Ingen') then + if (Config.PrinterNavn = 'Ingen') then begin PrintNyLabel := false; end; if (PrintNyLabel = false) then // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm begin - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); MainForm.Color := clRed; btnNulstil.Visible := true; end; @@ -2445,7 +2295,7 @@ if (PrintNyLabel = false) then // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm begin - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); MainForm.Color := clRed; btnNulstil.Visible := true; end; @@ -2514,7 +2364,7 @@ end else begin - if ( (PrinterNavn <> 'Ingen') and (PrintNyLabel or chkAltidPrintLabel.Checked) and (RuteNummer <> 'Ukendt') or (RuteNummer = 'Rutenr')) then + if ( (Config.PrinterNavn <> 'Ingen') and (PrintNyLabel or chkAltidPrintLabel.Checked) and (RuteNummer <> 'Ukendt') or (RuteNummer = 'Rutenr')) then begin logTekst := 'Printer label type '; if (chkAltidPrintLabel.Checked) then @@ -2639,83 +2489,83 @@ // Tjekker UrlNormal if PanelValg1.Enabled = true then begin - TjekkerEnkeltUrl('UrlNormal', UrlNormal, urlFejl); + TjekkerEnkeltUrl('UrlNormal', Config.UrlNormal, urlFejl); end; // Tjekker UrlReturDAO if PanelValg2.Enabled = true then begin - TjekkerEnkeltUrl('UrlReturDAO', UrlReturDAO, urlFejl); + TjekkerEnkeltUrl('UrlReturDAO', Config.UrlReturDAO, urlFejl); end; // Tjekker UrlReturBoghandler if PanelValg3.Enabled = true then begin - TjekkerEnkeltUrl('UrlReturBoghandler', UrlReturBoghandler, urlFejl); + TjekkerEnkeltUrl('UrlReturBoghandler', Config.UrlReturBoghandler, urlFejl); end; // Tjekker UrlBudlevering if PanelValg4.Enabled = true then begin - TjekkerEnkeltUrl('UrlBudlevering', UrlBudlevering, urlFejl); + TjekkerEnkeltUrl('UrlBudlevering', Config.UrlBudlevering, urlFejl); end; // Tjekker UrlPakkeshoplevering if PanelValg5.Enabled = true then begin - TjekkerEnkeltUrl('UrlPakkeshoplevering', UrlPakkeshoplevering, urlFejl); + TjekkerEnkeltUrl('UrlPakkeshoplevering', Config.UrlPakkeshoplevering, urlFejl); end; // Tjekker UrlReturPakkeshop if PanelValg6.Enabled = true then begin - TjekkerEnkeltUrl('UrlReturPakkeshop', UrlReturPakkeshop, urlFejl); + TjekkerEnkeltUrl('UrlReturPakkeshop', Config.UrlReturPakkeshop, urlFejl); end; // Tjekker UrlManglendeScanninger if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then begin - TjekkerEnkeltUrl('UrlManglendeScanninger', UrlManglendeScanninger, urlFejl); + TjekkerEnkeltUrl('UrlManglendeScanninger', Config.UrlManglendeScanninger, urlFejl); end; // Tjekker UrlPakkeshopManglendeScanninger if PanelValg5.Enabled = true then begin - TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', UrlPakkeshopManglendeScanninger, urlFejl); + TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', Config.UrlPakkeshopManglendeScanninger, urlFejl); end; // Tjekker UrlPakkeshopManglendeReturScanninger if PanelValg6.Enabled = true then begin - TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', UrlPakkeshopManglendeReturScanninger, urlFejl); + TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', Config.UrlPakkeshopManglendeReturScanninger, urlFejl); end; // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger if PanelValg7.Enabled = true then begin - TjekkerEnkeltUrl('UrlIndleveringsPakke', UrlIndleveringsPakke, urlFejl); - TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', UrlIndleveringsPakkeManglendeScanninger, urlFejl); + TjekkerEnkeltUrl('UrlIndleveringsPakke', Config.UrlIndleveringsPakke, urlFejl); + TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', Config.UrlIndleveringsPakkeManglendeScanninger, urlFejl); end; // Tjekker UrlEKLoverforsel if PanelValg1.Enabled = true then begin - TjekkerEnkeltUrl('UrlEKLoverforsel', UrlEKLoverforsel, urlFejl); + TjekkerEnkeltUrl('UrlEKLoverforsel', Config.UrlEKLoverforsel, urlFejl); end; // Tjekker UrlEKLoverforselPakkeshop if PanelValg5.Enabled = true then begin - TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', UrlEKLoverforselPakkeshop, urlFejl); + TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', Config.UrlEKLoverforselPakkeshop, urlFejl); end; // Tjekker UrlFindPakketype - TjekkerEnkeltUrl('UrlFindPakketype', UrlFindPakketype, urlFejl); + TjekkerEnkeltUrl('UrlFindPakketype', Config.UrlFindPakketype, urlFejl); // Tjekker UrlSendPrograminfo - TjekkerEnkeltUrl('UrlSendPrograminfo', UrlSendPrograminfo, urlFejl); + TjekkerEnkeltUrl('UrlSendPrograminfo', Config.UrlSendPrograminfo, urlFejl); @@ -2724,7 +2574,7 @@ SkrivScanningLogFil(logTekst); Except - TjekUrls := '-'; // markerer at der var fejl + Config.TjekUrls := '-'; // markerer at der var fejl end; end; @@ -2744,17 +2594,17 @@ inc(urlFejl); // Optæller antal fejl logTekst := UrlNavn + ' svarer ikke: ' + Url; ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then + if Config.TjekUrls = '1' then begin logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; end; SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then + if Config.TjekUrls = '1' then begin ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut + Config.UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut Application.Terminate; raise Exception.Create('UrlFejl'); @@ -2835,7 +2685,7 @@ if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then begin ShowMessage('Programmet afbrydes...'); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut + Config.UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut Application.Terminate; exit; end; @@ -2937,12 +2787,12 @@ Leveringssted : String; orgTjekUrls : String; begin - orgTjekUrls := TjekUrls; - if (TjekUrls = '1') or (TjekUrls = '2') then + orgTjekUrls := Config.TjekUrls; + if (Config.TjekUrls = '1') or (Config.TjekUrls = '2') then begin TjekkerUrls(); end; - if TjekUrls = '-' then + if Config.TjekUrls = '-' then begin //ShowMessage('Der var fejl i een eller flere urls - se logvinduet'); RuteNummer := ''; @@ -2951,7 +2801,7 @@ Koreliste := ''; UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, ''); // Her kommer en alarm og rød skærm - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); MainForm.Color := clRed; btnNulstil.Visible := true; end @@ -2967,7 +2817,7 @@ PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk); FocusControl(StregkodeST); end; - TjekUrls := orgTjekUrls; + Config.TjekUrls := orgTjekUrls; end; @@ -2992,7 +2842,7 @@ begin ShowMessage('Der er ikke installeret en printer på denne PC.'); end - else if PrinterNavn = 'Ingen' then + else if Config.PrinterNavn = 'Ingen' then begin ShowMessage('Der er fravalgt printer i dette program.'); end @@ -3003,16 +2853,16 @@ DBKbane := '999'; Leveringssted := 'XXX'; PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk); - LabelPrint.CheckPrintQue('Test', PrinterNavn); + LabelPrint.CheckPrintQue('Test', Config.PrinterNavn); end; FocusControl(StregkodeST); end; procedure TMainForm.Timer1Timer(Sender: TObject); begin - if (TjekPrinter = '1') then + if (Config.TjekPrinter = '1') then begin - LabelPrint.CheckPrintQue('Timer', PrinterNavn); + LabelPrint.CheckPrintQue('Timer', Config.PrinterNavn); end else begin @@ -3066,7 +2916,7 @@ tekst := tekst+crlf+crlf; tekst := tekst+crlf+crlf+' ********** DETTE ER KUN EN TEST VERSION **********'; tekst := tekst+crlf+crlf; - tekst := tekst+crlf+crlf+'Url: '+url; + tekst := tekst+crlf+crlf+'Url: ' + Url; end; MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK); @@ -3207,7 +3057,7 @@ menuAutomatiskTjekkodeStyring.Enabled := true; btnNulstil.Visible := false; menuNatXpress1.Checked := true; - InitForm(FarveNormal,TitelNormal,UrlNormal); + InitForm(Config.FarveNormal,Config.TitelNormal,Config.UrlNormal); PanelValg1.Color := clGreen; PanelValg1.Font.Color := clWhite; @@ -3243,7 +3093,7 @@ menuAutomatiskTjekkodeStyring.Enabled := false; menuNatxpressReturDAO1.Checked := true; btnNulstil.Visible := false; - InitForm(FarveReturDAO,TitelReturDAO,UrlReturDAO); + InitForm(Config.FarveReturDAO, Config.TitelReturDAO, Config.UrlReturDAO); PanelValg2.Color := clGreen; PanelValg2.Font.Color := clWhite; @@ -3274,7 +3124,7 @@ menuAutomatiskTjekkodeStyring.Enabled := false; menuNatxpressReturfraKunde1.Checked := true; btnNulstil.Visible := false; - InitForm(FarveReturBoghandler,TitelReturBoghandler,UrlReturBoghandler); + InitForm(Config.FarveReturBoghandler, Config.TitelReturBoghandler, Config.UrlReturBoghandler); PanelValg3.Color := clGreen; PanelValg3.Font.Color := clWhite; @@ -3304,7 +3154,7 @@ menuAutomatiskTjekkodeStyring.Enabled := false; menuDaoDirekte1.Checked := true; btnNulstil.Visible := false; - InitForm(FarveBudlevering,TitelBudlevering,UrlBudlevering); + InitForm(Config.FarveBudlevering, Config.TitelBudlevering, Config.UrlBudlevering); PanelValg4.Color := clGreen; PanelValg4.Font.Color := clWhite; @@ -3344,7 +3194,7 @@ menuAutomatiskTjekkodeStyring.Enabled := true; menuPakkeshop1.Checked := true; btnNulstil.Visible := false; - InitForm(FarvePakkeshoplevering,TitelPakkeshoplevering,UrlPakkeshoplevering); + InitForm(Config.FarvePakkeshoplevering, Config.TitelPakkeshoplevering, Config.UrlPakkeshoplevering); PanelValg5.Color := clGreen; PanelValg5.Font.Color := clWhite; @@ -3384,7 +3234,7 @@ menuAutomatiskTjekkodeStyring.Enabled := false; menuPakkeshopRetur1.Checked := true; btnNulstil.Visible := false; - InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop); + InitForm(Config.FarveReturPakkeshop, Config.TitelReturPakkeshop, Config.UrlReturPakkeshop); PanelValg6.Color := clGreen; PanelValg6.Font.Color := clWhite; @@ -3432,7 +3282,7 @@ menuAutomatiskTjekkodeStyring.Enabled := false; btnNulstil.Visible := false; - InitForm(FarveIndlevering, TitelIndlevering, UrlReturPakkeshop); + InitForm(Config.FarveIndlevering, Config.TitelIndlevering, Config.UrlReturPakkeshop); PanelValg7.Color := clGreen; PanelValg7.Font.Color := clWhite; @@ -3511,9 +3361,9 @@ procedure TMainForm.Testlyd1Click(Sender: TObject); begin - if AlarmLyd <> '' then + if Config.AlarmLyd <> '' then begin - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); end else begin @@ -3525,9 +3375,9 @@ begin if (PakkeshopText1.Caption = 'Tjekkode') then begin - if ScannetOkTilTjekkodeLyd <> '' then + if Config.ScannetOkTilTjekkodeLyd <> '' then begin - PlaySound(PWideChar(ScannetOkTilTjekkodeLyd)); + PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd)); end else begin @@ -3537,18 +3387,18 @@ end; if menuSmaaPakker.Checked then - if ScannetOkLyd <> '' then + if Config.ScannetOkLyd <> '' then begin - PlaySound(PWideChar(ScannetOkLyd)); + PlaySound(PWideChar(Config.ScannetOkLyd)); end else begin MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK); end; if menuStorePakker.Checked then - if ScannetOkStorLyd <> '' then + if Config.ScannetOkStorLyd <> '' then begin - PlaySound(PWideChar(ScannetOkStorLyd)); + PlaySound(PWideChar(Config.ScannetOkStorLyd)); end else begin @@ -3585,11 +3435,11 @@ logTekst := 'Overfører de scannede pakker til EKL'; SkrivScanningLogFil(logTekst); StedKode := Sted; - URLStr := Format(UrlEKLoverforsel,[StedKode,Sted]); + URLStr := Format(Config.UrlEKLoverforsel,[StedKode,Sted]); if PanelValg5.Color = clGreen then begin - URLStr := Format(UrlEKLoverforselPakkeshop,[StedKode,Sted]); + URLStr := Format(Config.UrlEKLoverforselPakkeshop,[StedKode,Sted]); end; @@ -3649,7 +3499,7 @@ // Hvis der var fejl i overførslen skal dette fejlmeldes her if status = 'Fejl' then begin // Her skal komme en alarm og rød skærm - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); MainForm.Color := clRed; RutenummerST.Caption := 'EKL overførsel'; BoghandlerNavnST.Caption := 'Fejl:'; @@ -4203,11 +4053,12 @@ I: Integer; stregkode, modtagernavn, modtageradresse, kommentar : string; pakketype, tjekkodestatus : String; - pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer; + antalLiniefelter, antalFelterFundet, linienr : Integer; //pakketyper : TStrings; pakketyper : TDictionary; tmpAntal : Integer; + time, timeSamlet : TTimingHelper; antlin : Integer; @@ -4243,23 +4094,23 @@ if (Scanningtype = '7') then begin - URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]); + URLStr := Format(Config.UrlIndleveringsPakkeManglendeScanninger, [StedKode]); end else if (Scanningtype = '6') then begin - URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]); + URLStr := Format(Config.UrlPakkeshopManglendeReturScanninger, [StedKode]); end else if (Scanningtype = '5') then begin - URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]); + URLStr := Format(Config.UrlPakkeshopManglendeScanninger, [StedKode]); end else if (Scanningtype = '1') then begin - URLStr := Format(UrlManglendeScanninger,[StedKode,'B2']); + URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'B2']); end else if (Scanningtype = '4') then begin - URLStr := Format(UrlManglendeScanninger,[StedKode,'A2']); // Budleveringer + URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'A2']); // Budleveringer end else begin @@ -4267,6 +4118,9 @@ end; // 20150310: slut + time := TTimingHelper.create(); //DEBUG + timeSamlet := TTimingHelper.create(); //DEBUG + try //raise EIdConnClosedGracefully.Create('test'); // KUN TIL TEST // URLStr := string(Utf8Encode(URLStr)); @@ -4289,8 +4143,16 @@ end; end; try + time.stop('HTTP Load'); //DEBUG + XMLDocument1.LoadFromXML(WebSvar); + time.stop('XML Load'); //DEBUG + + + + + antlin := 0; antlinIdag := 0; @@ -4333,6 +4195,7 @@ SetLength(stregkoderMedTjekkodeArray, 0); // reset fra tidligere brug SetLength(stregkoderMedTjekkodeArray, antlin); // sæt antal elementer i array + time.stop('Antal Linier');//DEBUG Application.Processmessages; //Ugly Hack to improve User Experience when switching modes @@ -4418,6 +4281,9 @@ end; + time.stop('Fyld Listbox2');//DEBUG + + Application.Processmessages; //Ugly Hack to improve User Experience when switching modes @@ -4537,6 +4403,10 @@ end; end; + time.stop('Done');//DEBUG + timeSamlet.stop('SamletTid');//DEBUG + + end; procedure TMainForm.IndlesScanningLogFil(); @@ -4712,7 +4582,7 @@ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.'); logTekst := 'Fandt ingen linier til '+imorgenYmd+'.'; SkrivScanningLogFil(logTekst); - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); end; end; end @@ -4721,7 +4591,7 @@ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.'); logTekst := 'Ruteskift fil '+filnavn+' findes ikke.'; SkrivScanningLogFil(logTekst); - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); end; end; @@ -4792,7 +4662,7 @@ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.'); logTekst := 'Fandt ingen linier til '+imorgenYmd+'.'; SkrivScanningLogFil(logTekst); - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); end; end; end @@ -4801,7 +4671,7 @@ ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.'); logTekst := 'Kontrol fil '+filnavn+' findes ikke.'; SkrivScanningLogFil(logTekst); - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); end; end; @@ -4859,7 +4729,7 @@ begin //ShowMessage('Ændring ikke tilladt'); // Her skal komme en 'rød skærm' alarm - PlaySound(PWideChar(AlarmLyd)); + PlaySound(PWideChar(Config.AlarmLyd)); MainForm.Color := clRed;