--- dao/DelphiScanner/Main.pas 2015/08/26 19:52:38 2682 +++ dao/DelphiScanner/Main.pas 2015/09/04 09:36:19 2703 @@ -8,7 +8,7 @@ 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, ShellApi, ClipBrd, Buttons, wininet, UITypes, PakkeshopLabels, StBarC, @@ -52,20 +52,20 @@ Testlyd1: TMenuItem; ListBox1: TListBox; Budlevering1: TMenuItem; - DownloadButton01: TButton; + BtnDownloadKontrolfil: TButton; IdFTP1: TIdFTP; Image1: TImage; ListBox2: TListBox; - OpdaterListenButton01: TButton; - UploadButton01: TButton; - DownloadButton03: TButton; + BtnOpdaterListen: TButton; + BtnUploadLogfil: TButton; + BtnDownloadRuteskiftFil: TButton; Pakkeshoplevering1: TMenuItem; PakkeshopText1: TStaticText; btnNulstil: TButton; Returpakkerfrapakkeshop1: TMenuItem; Altidprintepakkelabel1: TMenuItem; chkAltidPrintLabel: TCheckBox; - EKLoverforsel: TButton; + BtnEKLoverforsel: TButton; N5: TMenuItem; Uploadlogfil1: TMenuItem; Manual1: TMenuItem; @@ -93,17 +93,11 @@ PanelManglendePakker6: TPanel; menuIndlevering: TMenuItem; - - function Sto_GetFmtFileVersion(const FileName: String = ''): String; - function getProddato() : TDate; function getProddag() : String; function retRutenummer(rutenummer : String) : String; function GetCurrentPrinterHandle() : THandle; function SavePChar(p: PChar): PChar; - function AdobeReaderExists(): Boolean; - function FileTime2DateTime(FileTime: TFileTime): TDateTime; - function CheckUrl(url:string):boolean; procedure PlaySound(filename : PWideChar); procedure StartScreen(); @@ -134,8 +128,8 @@ procedure Button1Click(Sender: TObject); procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); procedure Budlevering1Click(Sender: TObject); - procedure DownloadButton01Click(Sender: TObject); - procedure OpdaterListenButton01Click(Sender: TObject); + procedure BtnDownloadKontrolfilClick(Sender: TObject); + procedure BtnOpdaterListenClick(Sender: TObject); procedure DownloadBladhusRuteskiftfil(); procedure DownloadBladhusKontrolfil(); procedure SendFilTilDAO(fil_type, filnavn_input, filnavn_output: String); @@ -143,8 +137,8 @@ procedure UploadInifilTilDAO(); procedure SletStregkodelinieFraListboks2(StregKode : String); procedure FormDestroy(Sender: TObject); - procedure UploadButton01Click(Sender: TObject); - procedure DownloadButton03Click(Sender: TObject); + procedure BtnUploadLogfilClick(Sender: TObject); + procedure BtnDownloadRuteskiftFilClick(Sender: TObject); procedure Pakkeshoplevering1Click(Sender: TObject); procedure btnNulstilClick(Sender: TObject); procedure Returpakkerfrapakkeshop1Click(Sender: TObject); @@ -158,7 +152,7 @@ procedure Altidprintepakkelabel1Click(Sender: TObject); procedure chkAltidPrintLabelClick(Sender: TObject); - procedure EKLoverforselClick(Sender: TObject); + procedure BtnEKLoverforselClick(Sender: TObject); procedure Uploadlogfil1Click(Sender: TObject); procedure Manual1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); @@ -180,6 +174,7 @@ procedure SletLogfiler(Path: string; FileList: TStrings); procedure Manualgenerel1Click(Sender: TObject); procedure TjekkerUrls(); + procedure TjekkerEnkeltUrl(UrlNavn: String; Url: String; var urlFejl: integer); procedure menuIndleveringClick(Sender: TObject); @@ -193,7 +188,7 @@ SkrivLog : String; Sted : String; StedNavn : String; - Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,UrlEKLoverforsel : String; + Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel : String; // 29150330: start UrlEKLoverforselPakkeshop : String; // 20150330: slut @@ -207,9 +202,9 @@ AlarmLyd : String; ScannetOkLyd : String; ScannetOkStorLyd : String; -// 20150317: start + ScannetOkTilTjekkodeLyd : String; -// 20150317: slut + PrinterNavn : String; TjekPrinter : String; XPosRute : integer; @@ -335,7 +330,7 @@ PanelValg7.Font.Color := clWindowText; end; - OpdaterListenButton01.Enabled := false; + BtnOpdaterListen.Enabled := false; if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then begin @@ -498,27 +493,11 @@ procedure TMainForm.Automatiskvalg1Click(Sender: TObject); begin -// 20150317: start -(* - if Automatiskvalg1.Checked then - begin - AutomatiskValg1.Checked := true; - PanelValgA.Color := clGreen; - PanelValgA.Font.Color := clWhite; - end - else - begin - AutomatiskValg1.Checked := false; - PanelValgA.Color := clBtnFace; - PanelValgA.Font.Color := clWindowText; - end; -*) // Skal ikke toggle men bare sætte funktionen on // Fravælges ved at vælge en scanningstype AutomatiskValg1.Checked := true; PanelValgA.Color := clGreen; PanelValgA.Font.Color := clWhite; -// 20150317: slut end; procedure TMainForm.FormCreate(Sender: TObject); @@ -578,7 +557,10 @@ 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'); + UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s'); + LabelType := ReadInteger('Settings','LabelType',1); @@ -618,11 +600,11 @@ if (SkrivLog = '1') then begin - logTekst := 'Program start (Version: ' + Sto_GetFmtFileVersion('') + ') Dato: ' + FormatDateTime('yyyy-mm-dd hh:nn:ss',now); + logTekst := 'Program start (Version: ' + TUtils.Sto_GetFmtFileVersion('') + ') Dato: ' + FormatDateTime('yyyy-mm-dd hh:nn:ss',now); try SkrivScanningLogFil(logTekst); Uploadlogfil1.Enabled := true; - UploadButton01.Enabled := true; + BtnUploadLogfil.Enabled := true; logTekst := 'Programmet er installeret som: '+ParamStr(0); SkrivScanningLogFil(logTekst); // Oprydning i gamle logfiler @@ -790,7 +772,6 @@ // Hvis specialversion er valgt (SpecialVersionSted er sat til en værdi ovenfor) // ændrer vi Sted og Scanningtype her: -// 20150313: start if SpecialVersionSted = 'NS' then begin SpecialVersionSted := '01'; @@ -801,7 +782,6 @@ SpecialVersionSted := '03'; SpecialVersionScanningtype := '4'; end; -// 20150313: slut if SpecialVersionSted = 'BK' then begin @@ -1146,7 +1126,7 @@ Scanningtype := gemScanningtype; SendInfoTilServer(Sted, Scanningtype, 'Begin', ''); - SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', Sto_GetFmtFileVersion('')); + SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', TUtils.Sto_GetFmtFileVersion('')); end; @@ -1621,6 +1601,7 @@ if not PakkeshopLevering1.Checked and not Pakkernormal1.Checked or (PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '')) or (Pakkernormal1.Checked and (Scanogstjekkoden1.Checked and (BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked)) then begin + if PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '') then StregKode := PakkeshopStregkode; if Pakkernormal1.Checked and ((BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked) then @@ -1695,6 +1676,7 @@ begin VisAlarmSkaerm(''); end; + if not btnNulstil.Visible then begin @@ -1787,7 +1769,7 @@ begin - if Budlevering1.Checked or Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked or Pakkernormal1.Checked then + if Budlevering1.Checked or Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked or Pakkernormal1.Checked or menuIndlevering.Checked then begin for i := ListBox2.items.count-1 downto 0 do if pos(StregKode,ListBox2.items[i]) <> 0 then @@ -1995,8 +1977,8 @@ 01 : begin; // NS Testprinter1.Visible := true; - DownloadButton01.Enabled := true; - OpdaterListenButton01.Enabled := true; + BtnDownloadKontrolfil.Enabled := true; + BtnOpdaterListen.Enabled := true; IdFTP1.Passive := true; IdFTP1.PassiveUseControlHost := true; BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt'; @@ -2011,8 +1993,8 @@ Storepakker1.Enabled := true; radioStorPakke.Enabled := true; radioLillePakke.Enabled := true; - DownloadButton01.Enabled := false; // kontrolfil bruges ikke her - OpdaterListenButton01.Enabled := true; + BtnDownloadKontrolfil.Enabled := false; // kontrolfil bruges ikke her + BtnOpdaterListen.Enabled := true; IdFTP1.Passive := true; IdFTP1.PassiveUseControlHost := true; IndlesManglendeScanninger(); @@ -2022,14 +2004,14 @@ Testprinter1.Visible := true; if (getProddag() = 'lørdag') then begin - DownloadButton03.Visible := false; + BtnDownloadRuteskiftFil.Visible := false; end else begin - DownloadButton03.Visible := false; + BtnDownloadRuteskiftFil.Visible := false; end; - DownloadButton01.Enabled := true; - OpdaterListenButton01.Enabled := true; + BtnDownloadKontrolfil.Enabled := true; + BtnOpdaterListen.Enabled := true; IdFTP1.Passive := true; IdFTP1.PassiveUseControlHost := true; BladhusRuteskiftfil_server := 'frafd/RuteSkift.txt'; @@ -2049,8 +2031,8 @@ Storepakker1.Enabled := true; radioStorPakke.Enabled := true; radioLillePakke.Enabled := true; - DownloadButton01.Enabled := false; // kontrolfil bruges ikke her - OpdaterListenButton01.Enabled := true; + BtnDownloadKontrolfil.Enabled := false; // kontrolfil bruges ikke her + BtnOpdaterListen.Enabled := true; IdFTP1.Passive := true; IdFTP1.PassiveUseControlHost := true; end; @@ -2170,7 +2152,8 @@ begin PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc - RuteNummer := PakkeshopLabel.Koreliste; + RuteNummer := PakkeshopLabel.Koreliste + ' -> ' + PakkeshopLabel.PakkeshopTurid; + Stregkode := PakkeshopLabel.Stregkode; PrintPakkeshopLabel( PakkeshopLabel ); @@ -2304,12 +2287,18 @@ List1msg := List1msg + '; ' + Stregkode + ' (' + BoghandlerTjekkode + ')' + '; ' + Kommentar; end; end; + if menuIndlevering.Checked then + begin + List1Msg := Stregkode; + end; + + ListBox1.Items.Insert(0,List1Msg); logTekst := RightStr(List1Msg, Length(List1Msg)-10); SkrivScanningLogFil(logTekst); end; -procedure TMainForm.UploadButton01Click(Sender: TObject); +procedure TMainForm.BtnUploadLogfilClick(Sender: TObject); begin UploadLogfilTilDAO(); UploadInifilTilDAO(); @@ -2665,396 +2654,144 @@ //UpdateScreen('', '', 'Tjekker forbindelsen...', '', ''); // virker ikke ShowMessage('Tjekker data forbindelse til serveren.' + crlf + 'Det kan godt tage nogle minutter.' + crlf + 'Resultatet af testen vises i skærmbilledet...'); - // Tjekker urls - logTekst := 'Tjekker urls.'; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - SkrivScanningLogFil(logTekst); + try + // Tjekker urls + logTekst := 'Tjekker urls.'; + ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); + SkrivScanningLogFil(logTekst); - // Tjekker UrlNormal - if PanelValg1.Enabled = true then - begin - if CheckUrl(UrlNormal) then - begin - logTekst := 'UrlNormal accepteret: ' + UrlNormal; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlNormal svarer ikke: ' + UrlNormal; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - TjekUrls := '-'; // markerer at der var fejl - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; - // Tjekker UrlReturDAO - if PanelValg2.Enabled = true then - begin - if CheckUrl(UrlReturDAO) then - begin - logTekst := 'UrlReturDAO accepteret: ' + UrlReturDAO; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlReturDAO svarer ikke: ' + UrlReturDAO; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; - // Tjekker UrlReturBoghandler - if PanelValg3.Enabled = true then - begin - if CheckUrl(UrlReturBoghandler) then - begin - logTekst := 'UrlReturBoghandler accepteret: ' + UrlReturBoghandler; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlReturDAO svarer ikke: ' + UrlReturDAO; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlNormal + if PanelValg1.Enabled = true then + begin + TjekkerEnkeltUrl('UrlNormal', UrlNormal, urlFejl); + end; - // Tjekker UrlBudlevering - if PanelValg4.Enabled = true then - begin - if CheckUrl(UrlBudlevering) then - begin - logTekst := 'UrlBudlevering accepteret: ' + UrlBudlevering; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlBudlevering svarer ikke: ' + UrlBudlevering; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlReturDAO + if PanelValg2.Enabled = true then + begin + TjekkerEnkeltUrl('UrlReturDAO', UrlReturDAO, urlFejl); + end; - // Tjekker UrlPakkeshoplevering - if PanelValg5.Enabled = true then - begin - if CheckUrl(UrlPakkeshoplevering) then - begin - logTekst := 'UrlPakkeshoplevering accepteret: ' + UrlPakkeshoplevering; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlPakkeshoplevering svarer ikke: ' + UrlPakkeshoplevering; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlReturBoghandler + if PanelValg3.Enabled = true then + begin + TjekkerEnkeltUrl('UrlReturBoghandler', UrlReturBoghandler, urlFejl); + end; - // Tjekker UrlReturPakkeshop - if PanelValg6.Enabled = true then - begin - if CheckUrl(UrlReturPakkeshop) then - begin - logTekst := 'UrlReturPakkeshop accepteret: ' + UrlReturPakkeshop; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlReturPakkeshop svarer ikke: ' + UrlReturPakkeshop; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlBudlevering + if PanelValg4.Enabled = true then + begin + TjekkerEnkeltUrl('UrlBudlevering', UrlBudlevering, urlFejl); + end; - // Tjekker UrlManglendeScanninger - if (PanelValg1.Enabled = true) - or (PanelValg4.Enabled = true) then - begin - if CheckUrl(UrlManglendeScanninger) then - begin - logTekst := 'UrlManglendeScanninger accepteret: ' + UrlManglendeScanninger; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlManglendeScanninger svarer ikke: ' + UrlManglendeScanninger; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlPakkeshoplevering + if PanelValg5.Enabled = true then + begin + TjekkerEnkeltUrl('UrlPakkeshoplevering', UrlPakkeshoplevering, urlFejl); + end; - // Tjekker UrlPakkeshopManglendeScanninger - if PanelValg5.Enabled = true then - begin - if CheckUrl(UrlPakkeshopManglendeScanninger) then - begin - logTekst := 'UrlPakkeshopManglendeScanninger accepteret: ' + UrlPakkeshopManglendeScanninger; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlPakkeshopManglendeScanninger svarer ikke: ' + UrlPakkeshopManglendeScanninger; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlReturPakkeshop + if PanelValg6.Enabled = true then + begin + TjekkerEnkeltUrl('UrlReturPakkeshop', UrlReturPakkeshop, urlFejl); + end; - // Tjekker UrlPakkeshopManglendeReturScanninger - if PanelValg6.Enabled = true then - begin - if CheckUrl(UrlPakkeshopManglendeReturScanninger) then - begin - logTekst := 'UrlPakkeshopManglendeReturScanninger accepteret: ' + UrlPakkeshopManglendeReturScanninger; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlPakkeshopManglendeReturScanninger svarer ikke: ' + UrlPakkeshopManglendeReturScanninger; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlManglendeScanninger + if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then + begin + TjekkerEnkeltUrl('UrlManglendeScanninger', UrlManglendeScanninger, urlFejl); + end; - // Tjekker UrlEKLoverforsel - if PanelValg1.Enabled = true then - begin - if CheckUrl(UrlEKLoverforsel) then - begin - logTekst := 'UrlEKLoverforsel accepteret: ' + UrlEKLoverforsel; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlEKLoverforsel svarer ikke: ' + UrlEKLoverforsel; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlPakkeshopManglendeScanninger + if PanelValg5.Enabled = true then + begin + TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', UrlPakkeshopManglendeScanninger, urlFejl); + end; + // Tjekker UrlPakkeshopManglendeReturScanninger + if PanelValg6.Enabled = true then + begin + TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', UrlPakkeshopManglendeReturScanninger, urlFejl); + end; - // Tjekker UrlEKLoverforselPakkeshop - if PanelValg5.Enabled = true then - begin - if CheckUrl(UrlEKLoverforselPakkeshop) then - begin - logTekst := 'UrlEKLoverforselPakkeshop accepteret: ' + UrlEKLoverforselPakkeshop; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlEKLoverforselPakkeshop svarer ikke: ' + UrlEKLoverforselPakkeshop; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - end; + // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger + if PanelValg7.Enabled = true then + begin + TjekkerEnkeltUrl('UrlIndleveringsPakke', UrlIndleveringsPakke, urlFejl); + TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', UrlIndleveringsPakkeManglendeScanninger, urlFejl); + end; + // Tjekker UrlEKLoverforsel + if PanelValg1.Enabled = true then + begin + TjekkerEnkeltUrl('UrlEKLoverforsel', UrlEKLoverforsel, urlFejl); + end; - // Tjekker UrlFindPakketype - if CheckUrl(UrlFindPakketype) then - begin - logTekst := 'UrlFindPakketype accepteret: ' + UrlFindPakketype; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlFindPakketype svarer ikke: ' + UrlFindPakketype; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; - // Tjekker UrlSendPrograminfo - if CheckUrl(UrlSendPrograminfo) then - begin - logTekst := 'UrlSendPrograminfo accepteret: ' + UrlSendPrograminfo; - SkrivScanningLogFil(logTekst); - end - else - begin - inc(urlFejl); // Optæller antal fejl - logTekst := 'UrlSendPrograminfo svarer ikke: ' + UrlSendPrograminfo; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - if TjekUrls = '1' then - begin - logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; - end; - SkrivScanningLogFil(logTekst); - if TjekUrls = '1' then - begin - ShowMessage(logTekst); - UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut - Application.Terminate; - exit; - end; - end; + // Tjekker UrlEKLoverforselPakkeshop + if PanelValg5.Enabled = true then + begin + TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', UrlEKLoverforselPakkeshop, urlFejl); + end; + + + // Tjekker UrlFindPakketype + TjekkerEnkeltUrl('UrlFindPakketype', UrlFindPakketype, urlFejl); + + // Tjekker UrlSendPrograminfo + TjekkerEnkeltUrl('UrlSendPrograminfo', UrlSendPrograminfo, urlFejl); + - if urlFejl > 0 then - begin - TjekUrls := '-'; // markerer at der var fejl - end - else - begin - logTekst := 'urls er ok'; - ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); - SkrivScanningLogFil(logTekst); - end; + logTekst := 'urls er ok'; + ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); + SkrivScanningLogFil(logTekst); + + Except + TjekUrls := '-'; // markerer at der var fejl + + end; end; -function TMainForm.FileTime2DateTime(FileTime: TFileTime): TDateTime; -var - LocalFileTime: TFileTime; - SystemTime: TSystemTime; +procedure TMainForm.TjekkerEnkeltUrl(UrlNavn: String; Url: String; var urlFejl: integer); +const + crlf = Chr(13) + Chr(10) ; // Carriage return & Linefeed begin - FileTimeToLocalFileTime(FileTime, LocalFileTime) ; - FileTimeToSystemTime(LocalFileTime, SystemTime) ; - Result := SystemTimeToDateTime(SystemTime) ; + if TUtils.CheckUrl(Url) then + + begin + logTekst := UrlNavn + ' accepteret: ' + Url; + SkrivScanningLogFil(logTekst); + end + else + begin + inc(urlFejl); // Optæller antal fejl + logTekst := UrlNavn + ' svarer ikke: ' + Url; + ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst); + if TjekUrls = '1' then + begin + logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... '; + end; + + SkrivScanningLogFil(logTekst); + + if TjekUrls = '1' then + begin + ShowMessage(logTekst); + UrlSendPrograminfo := ''; // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut + Application.Terminate; + + raise Exception.Create('UrlFejl'); + + end; + end; + end; + + procedure TMainForm.SletLogfiler(Path: string; FileList: TStrings); var SR: TSearchRec; @@ -3074,7 +2811,7 @@ 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 + dtCreation := TUtils.FileTime2DateTime(CreationTime); // finder filens timestamp for oprettelse // Selvom creation date godt kan være forskellig fra modified date, // skal vi alligevel altid tjekke filens alder ud fra modified date // (ændring den kan ligge både før og efter oprettelse, hvis filerne er flyttet eller ændret manuelt) @@ -3207,27 +2944,14 @@ procedure TMainForm.PanelValgAClick(Sender: TObject); begin -// 20150311: start -(* - if PanelValgA.Color = clBtnFace then - begin - AutomatiskValg1.Checked := true; - PanelValgA.Color := clGreen; - PanelValgA.Font.Color := clWhite; - end - else - begin - AutomatiskValg1.Checked := false; - PanelValgA.Color := clBtnFace; - PanelValgA.Font.Color := clWindowText; - end; -*) // Skal ikke toggle men bare sætte funktionen on // Fravælges ved at vælge en scanningstype - AutomatiskValg1.Checked := true; - PanelValgA.Color := clGreen; - PanelValgA.Font.Color := clWhite; -// 20150311: slut + AutomatiskValg1.Checked := true; + PanelValgA.Color := clGreen; + PanelValgA.Font.Color := clWhite; + + + end; procedure TMainForm.Pakkernormal1Click(Sender: TObject); @@ -3342,7 +3066,7 @@ tekst, filversion : String; begin - filversion := Sto_GetFmtFileVersion(''); + filversion := TUtils.Sto_GetFmtFileVersion(''); tekst := 'Program til indscanning af pakker'+crlf+'Version '+filversion+crlf+crlf+'Udviklet af it afdelingen, DAO'; tekst := tekst+crlf+crlf; @@ -3437,7 +3161,7 @@ if FileExists(fileName) then begin - if AdobeReaderExists then + if TUtils.AdobeReaderExists then begin //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL); ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL); @@ -3461,14 +3185,14 @@ if FileExists(fileName) then begin - if AdobeReaderExists then + if TUtils.AdobeReaderExists then begin //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL); ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL); end else begin - ShowMessage('Acrobat Reader er ikke installeret!'); + ShowMessage('Adobe Reader er ikke installeret!'); end; end else @@ -3534,8 +3258,8 @@ radioStorPakke.Enabled := false; radioLillePakke.Enabled := false; ListBox1.Visible := true; - OpdaterListenButton01.Enabled := true; - EKLoverforsel.Enabled := true; + BtnOpdaterListen.Enabled := true; + BtnEKLoverforsel.Enabled := true; InitLillePakke(); ListBox1.Items.Clear; if BladhusSted = 0 then @@ -3568,7 +3292,7 @@ ListBox1.Visible := true; ListBox1.Items.Clear; ListBox2.Items.Clear; - EKLoverforsel.Enabled := false; + BtnEKLoverforsel.Enabled := false; InitLillePakke(); end; @@ -3594,7 +3318,7 @@ ListBox1.Visible := true; ListBox1.Items.Clear; ListBox2.Items.Clear; - EKLoverforsel.Enabled := false; + BtnEKLoverforsel.Enabled := false; InitLillePakke(); end; @@ -3620,10 +3344,10 @@ radioLillePakke.Enabled := true; ListBox1.Visible := true; ListBox1.Items.Clear; - DownloadButton01.Enabled := false; - OpdaterListenButton01.Enabled := true; - DownloadButton03.Visible := false; - EKLoverforsel.Enabled := false; + BtnDownloadKontrolfil.Enabled := false; + BtnOpdaterListen.Enabled := true; + BtnDownloadRuteskiftFil.Visible := false; + BtnEKLoverforsel.Enabled := false; IdFTP1.Passive := true; IdFTP1.PassiveUseControlHost := true; if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then @@ -3656,10 +3380,10 @@ radioLillePakke.Enabled := false; ListBox1.Visible := true; ListBox1.Items.Clear; - DownloadButton01.Enabled := false; - OpdaterListenButton01.Enabled := true; + BtnDownloadKontrolfil.Enabled := false; + BtnOpdaterListen.Enabled := true; - EKLoverforsel.Enabled := true; + BtnEKLoverforsel.Enabled := true; InitLillePakke(); IndlesScanningLogFil(); @@ -3693,9 +3417,9 @@ radioLillePakke.Enabled := false; ListBox1.Visible := true; ListBox1.Items.Clear; - DownloadButton01.Enabled := false; - OpdaterListenButton01.Enabled := true; - EKLoverforsel.Enabled := false; + BtnDownloadKontrolfil.Enabled := false; + BtnOpdaterListen.Enabled := true; + BtnEKLoverforsel.Enabled := false; InitLillePakke(); IndlesScanningLogFil(); if BladhusSted = 0 then @@ -3740,9 +3464,9 @@ ListBox1.Visible := true; ListBox1.Items.Clear(); - DownloadButton01.Enabled := false; - OpdaterListenButton01.Enabled := true; - EKLoverforsel.Enabled := false; + BtnDownloadKontrolfil.Enabled := false; + BtnOpdaterListen.Enabled := true; + BtnEKLoverforsel.Enabled := false; InitLillePakke(); IndlesScanningLogFil(); if BladhusSted = 0 then @@ -3780,60 +3504,7 @@ // 20150310: slut end; -/// -/// This function reads the file resource of "FileName" and returns -/// the version number as formatted text. -/// -/// Sto_GetFmtFileVersion() = '4.13.128.0' -/// Sto_GetFmtFileVersion('', '%.2d-%.2d-%.2d') = '04-13-128' -/// -/// If "Fmt" is invalid, the function may raise an -/// EConvertError exception. -/// Full path to exe or dll. If an empty -/// string is passed, the function uses the filename of the -/// running exe or dll. -/// Format string, you can use at most four integer -/// values. -/// Formatted version number of file, '' if no version -/// resource found. -function TMainForm.Sto_GetFmtFileVersion(const FileName: String = ''): String; -var - sFileName: String; - iBufferSize: DWORD; - iDummy: DWORD; - pBuffer: Pointer; - pFileInfo: Pointer; - iVer: array[1..4] of Integer; -begin - // set default value - Result := ''; - // get filename of exe/dll if no filename is specified - sFileName := Trim(FileName); - if (sFileName = '') then - sFileName := GetModuleName(HInstance); - // get size of version info (0 if no version info exists) - iBufferSize := GetFileVersionInfoSize(PChar(sFileName), iDummy); - if (iBufferSize > 0) then - begin - GetMem(pBuffer, iBufferSize); - try - // get fixed file info (language independent) - GetFileVersionInfo(PChar(sFileName), 0, iBufferSize, pBuffer); - VerQueryValue(pBuffer, '\', pFileInfo, iDummy); - // read version blocks - iVer[1] := HiWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionMS); - iVer[2] := LoWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionMS); - iVer[3] := HiWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionLS); - iVer[4] := LoWord(PVSFixedFileInfo(pFileInfo)^.dwFileVersionLS); - finally - FreeMem(pBuffer); - end; - - // format result string - Result := Format('%d.%d.%d.%d', [iVer[1], iVer[2], iVer[3], iVer[4]]); - end; -end; procedure TMainForm.PlaySound(filename : PWideChar); begin @@ -3904,7 +3575,7 @@ CheckCode(); end; -procedure TMainForm.EKLoverforselClick(Sender: TObject); +procedure TMainForm.BtnEKLoverforselClick(Sender: TObject); var WebSvar : String; URLStr : String; @@ -3914,7 +3585,7 @@ status, kommentar : String; begin - EKLoverforsel.Enabled := false; + BtnEKLoverforsel.Enabled := false; ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Overfører de scannede pakker til EKL'); logTekst := 'Overfører de scannede pakker til EKL'; @@ -3977,7 +3648,7 @@ end; end; - EKLoverforsel.Enabled := true; + BtnEKLoverforsel.Enabled := true; ListBox1.SetFocus; // for at flytte fokus væk fra knappen så denne ikke aktiveres ved scanning / indtastning af stregkode @@ -4503,13 +4174,13 @@ ListBox1.SetFocus; // for at flytte fokus væk fra upload knappen så denne ikke aktiveres ved scanning / indtastning af stregkode end; -procedure TMainForm.DownloadButton01Click(Sender: TObject); +procedure TMainForm.BtnDownloadKontrolfilClick(Sender: TObject); begin DownloadBladhusKontrolfil(); ListBox1.SetFocus; // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode end; -procedure TMainForm.OpdaterListenButton01Click(Sender: TObject); +procedure TMainForm.BtnOpdaterListenClick(Sender: TObject); const crlf = Chr(13) + Chr(10) ; // Carriage return & Linefeed @@ -4518,7 +4189,7 @@ ListBox1.SetFocus; // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode end; -procedure TMainForm.DownloadButton03Click(Sender: TObject); +procedure TMainForm.BtnDownloadRuteskiftFilClick(Sender: TObject); begin if (getProddag() = 'lørdag') then begin @@ -4534,7 +4205,6 @@ XForm, XFormOld: TXForm; //Bruges til rotate X-formation Angle: integer; gMode: integer; - BarcodeArea: TRect; Dirigering: string; begin @@ -4687,13 +4357,18 @@ end; - if (Scanningtype = '6') then + + if (Scanningtype = '7') then + begin + URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]); + end + else if (Scanningtype = '6') then begin - URLStr := Format(UrlPakkeshopManglendeReturScanninger,[StedKode]); + URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]); end else if (Scanningtype = '5') then begin - URLStr := Format(UrlPakkeshopManglendeScanninger,[StedKode]); + URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]); end else if (Scanningtype = '1') then begin @@ -5380,57 +5055,10 @@ end; end; -function TMainForm.AdobeReaderExists: Boolean; -var - AReg: TRegistry; -begin - result:= false; - AReg := TRegistry.Create; - AReg.RootKey := HKEY_LOCAL_MACHINE; - if AReg.KeyExists('\SOFTWARE\Adobe\Acrobat Reader') then - result:= True; - 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);