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

Diff of /dao/DelphiScanner/Main.pas

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

revision 2682 by torben, Wed Aug 26 19:52:38 2015 UTC revision 2703 by torben, Fri Sep 4 09:36:19 2015 UTC
# Line 8  uses Line 8  uses
8    IdTCPClient, IdHTTP, xmldom, XMLIntf, msxmldom, XMLDoc, IniFiles, AppEvnts,    IdTCPClient, IdHTTP, xmldom, XMLIntf, msxmldom, XMLDoc, IniFiles, AppEvnts,
9    Menus, ExtCtrls, ComCtrls, StrUtils, MMSystem, DateUtils,    Menus, ExtCtrls, ComCtrls, StrUtils, MMSystem, DateUtils,
10    IdExplicitTLSClientServerBase, IdFTP, pngimage, GIFImg, IdException,    IdExplicitTLSClientServerBase, IdFTP, pngimage, GIFImg, IdException,
11    Winspool, Registry, ShellApi, ClipBrd, Buttons, wininet,    Winspool, ShellApi, ClipBrd, Buttons, wininet,
12    UITypes,    UITypes,
13    PakkeshopLabels,    PakkeshopLabels,
14    StBarC,    StBarC,
# Line 52  type Line 52  type
52      Testlyd1: TMenuItem;      Testlyd1: TMenuItem;
53      ListBox1: TListBox;      ListBox1: TListBox;
54      Budlevering1: TMenuItem;      Budlevering1: TMenuItem;
55      DownloadButton01: TButton;      BtnDownloadKontrolfil: TButton;
56      IdFTP1: TIdFTP;      IdFTP1: TIdFTP;
57      Image1: TImage;      Image1: TImage;
58      ListBox2: TListBox;      ListBox2: TListBox;
59      OpdaterListenButton01: TButton;      BtnOpdaterListen: TButton;
60      UploadButton01: TButton;      BtnUploadLogfil: TButton;
61      DownloadButton03: TButton;      BtnDownloadRuteskiftFil: TButton;
62      Pakkeshoplevering1: TMenuItem;      Pakkeshoplevering1: TMenuItem;
63      PakkeshopText1: TStaticText;      PakkeshopText1: TStaticText;
64      btnNulstil: TButton;      btnNulstil: TButton;
65      Returpakkerfrapakkeshop1: TMenuItem;      Returpakkerfrapakkeshop1: TMenuItem;
66      Altidprintepakkelabel1: TMenuItem;      Altidprintepakkelabel1: TMenuItem;
67      chkAltidPrintLabel: TCheckBox;      chkAltidPrintLabel: TCheckBox;
68      EKLoverforsel: TButton;      BtnEKLoverforsel: TButton;
69      N5: TMenuItem;      N5: TMenuItem;
70      Uploadlogfil1: TMenuItem;      Uploadlogfil1: TMenuItem;
71      Manual1: TMenuItem;      Manual1: TMenuItem;
# Line 93  type Line 93  type
93      PanelManglendePakker6: TPanel;      PanelManglendePakker6: TPanel;
94      menuIndlevering: TMenuItem;      menuIndlevering: TMenuItem;
95    
   
   function Sto_GetFmtFileVersion(const FileName: String = ''): String;  
   
96    function getProddato() : TDate;    function getProddato() : TDate;
97    function getProddag() : String;    function getProddag() : String;
98    function retRutenummer(rutenummer : String) : String;    function retRutenummer(rutenummer : String) : String;
99    function GetCurrentPrinterHandle() : THandle;    function GetCurrentPrinterHandle() : THandle;
100    function SavePChar(p: PChar): PChar;    function SavePChar(p: PChar): PChar;
   function AdobeReaderExists(): Boolean;  
   function FileTime2DateTime(FileTime: TFileTime): TDateTime;  
   function CheckUrl(url:string):boolean;  
101    
102    procedure PlaySound(filename : PWideChar);    procedure PlaySound(filename : PWideChar);
103    procedure StartScreen();    procedure StartScreen();
# Line 134  type Line 128  type
128    procedure Button1Click(Sender: TObject);    procedure Button1Click(Sender: TObject);
129    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
130    procedure Budlevering1Click(Sender: TObject);    procedure Budlevering1Click(Sender: TObject);
131    procedure DownloadButton01Click(Sender: TObject);    procedure BtnDownloadKontrolfilClick(Sender: TObject);
132    procedure OpdaterListenButton01Click(Sender: TObject);    procedure BtnOpdaterListenClick(Sender: TObject);
133    procedure DownloadBladhusRuteskiftfil();    procedure DownloadBladhusRuteskiftfil();
134    procedure DownloadBladhusKontrolfil();    procedure DownloadBladhusKontrolfil();
135    procedure SendFilTilDAO(fil_type, filnavn_input, filnavn_output: String);    procedure SendFilTilDAO(fil_type, filnavn_input, filnavn_output: String);
# Line 143  type Line 137  type
137    procedure UploadInifilTilDAO();    procedure UploadInifilTilDAO();
138    procedure SletStregkodelinieFraListboks2(StregKode : String);    procedure SletStregkodelinieFraListboks2(StregKode : String);
139    procedure FormDestroy(Sender: TObject);    procedure FormDestroy(Sender: TObject);
140    procedure UploadButton01Click(Sender: TObject);    procedure BtnUploadLogfilClick(Sender: TObject);
141    procedure DownloadButton03Click(Sender: TObject);    procedure BtnDownloadRuteskiftFilClick(Sender: TObject);
142    procedure Pakkeshoplevering1Click(Sender: TObject);    procedure Pakkeshoplevering1Click(Sender: TObject);
143    procedure btnNulstilClick(Sender: TObject);    procedure btnNulstilClick(Sender: TObject);
144    procedure Returpakkerfrapakkeshop1Click(Sender: TObject);    procedure Returpakkerfrapakkeshop1Click(Sender: TObject);
# Line 158  type Line 152  type
152    
153    procedure Altidprintepakkelabel1Click(Sender: TObject);    procedure Altidprintepakkelabel1Click(Sender: TObject);
154    procedure chkAltidPrintLabelClick(Sender: TObject);    procedure chkAltidPrintLabelClick(Sender: TObject);
155    procedure EKLoverforselClick(Sender: TObject);    procedure BtnEKLoverforselClick(Sender: TObject);
156    procedure Uploadlogfil1Click(Sender: TObject);    procedure Uploadlogfil1Click(Sender: TObject);
157    procedure Manual1Click(Sender: TObject);    procedure Manual1Click(Sender: TObject);
158    procedure Timer1Timer(Sender: TObject);    procedure Timer1Timer(Sender: TObject);
# Line 180  type Line 174  type
174    procedure SletLogfiler(Path: string; FileList: TStrings);    procedure SletLogfiler(Path: string; FileList: TStrings);
175    procedure Manualgenerel1Click(Sender: TObject);    procedure Manualgenerel1Click(Sender: TObject);
176    procedure TjekkerUrls();    procedure TjekkerUrls();
177      procedure TjekkerEnkeltUrl(UrlNavn: String; Url: String; var urlFejl: integer);
178    
179    procedure menuIndleveringClick(Sender: TObject);    procedure menuIndleveringClick(Sender: TObject);
180    
# Line 193  type Line 188  type
188      SkrivLog : String;      SkrivLog : String;
189      Sted : String;      Sted : String;
190      StedNavn : String;      StedNavn : String;
191      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;
192  // 29150330: start  // 29150330: start
193      UrlEKLoverforselPakkeshop : String;      UrlEKLoverforselPakkeshop : String;
194  // 20150330: slut  // 20150330: slut
# Line 207  type Line 202  type
202      AlarmLyd : String;      AlarmLyd : String;
203      ScannetOkLyd : String;      ScannetOkLyd : String;
204      ScannetOkStorLyd : String;      ScannetOkStorLyd : String;
205  // 20150317: start  
206      ScannetOkTilTjekkodeLyd : String;      ScannetOkTilTjekkodeLyd : String;
207  // 20150317: slut  
208      PrinterNavn : String;      PrinterNavn : String;
209      TjekPrinter : String;      TjekPrinter : String;
210      XPosRute : integer;      XPosRute : integer;
# Line 335  begin Line 330  begin
330        PanelValg7.Font.Color := clWindowText;        PanelValg7.Font.Color := clWindowText;
331      end;      end;
332    
333      OpdaterListenButton01.Enabled := false;      BtnOpdaterListen.Enabled := false;
334    
335      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
336      begin      begin
# Line 498  end; Line 493  end;
493    
494  procedure TMainForm.Automatiskvalg1Click(Sender: TObject);  procedure TMainForm.Automatiskvalg1Click(Sender: TObject);
495  begin  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;  
 *)  
496  // Skal ikke toggle men bare sætte funktionen on  // Skal ikke toggle men bare sætte funktionen on
497  // Fravælges ved at vælge en scanningstype  // Fravælges ved at vælge en scanningstype
498       AutomatiskValg1.Checked := true;       AutomatiskValg1.Checked := true;
499       PanelValgA.Color := clGreen;       PanelValgA.Color := clGreen;
500       PanelValgA.Font.Color := clWhite;       PanelValgA.Font.Color := clWhite;
 // 20150317: slut  
501  end;  end;
502    
503  procedure TMainForm.FormCreate(Sender: TObject);  procedure TMainForm.FormCreate(Sender: TObject);
# Line 578  begin Line 557  begin
557      UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');      UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');
558      UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');      UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');
559    
560    
561      UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');      UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');
562        UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');
563    
564    
565    
566      LabelType := ReadInteger('Settings','LabelType',1);      LabelType := ReadInteger('Settings','LabelType',1);
# Line 618  begin Line 600  begin
600    
601      if (SkrivLog = '1') then      if (SkrivLog = '1') then
602      begin      begin
603        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);
604        try        try
605          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
606          Uploadlogfil1.Enabled := true;          Uploadlogfil1.Enabled := true;
607          UploadButton01.Enabled := true;          BtnUploadLogfil.Enabled := true;
608          logTekst := 'Programmet er installeret som: '+ParamStr(0);          logTekst := 'Programmet er installeret som: '+ParamStr(0);
609          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
610          // Oprydning i gamle logfiler          // Oprydning i gamle logfiler
# Line 790  begin Line 772  begin
772      // Hvis specialversion er valgt (SpecialVersionSted er sat til en værdi ovenfor)      // Hvis specialversion er valgt (SpecialVersionSted er sat til en værdi ovenfor)
773      // ændrer vi Sted og Scanningtype her:      // ændrer vi Sted og Scanningtype her:
774    
 // 20150313: start  
775      if SpecialVersionSted = 'NS' then      if SpecialVersionSted = 'NS' then
776      begin      begin
777         SpecialVersionSted := '01';         SpecialVersionSted := '01';
# Line 801  begin Line 782  begin
782         SpecialVersionSted := '03';         SpecialVersionSted := '03';
783         SpecialVersionScanningtype := '4';         SpecialVersionScanningtype := '4';
784      end;      end;
 // 20150313: slut  
785    
786      if SpecialVersionSted = 'BK' then      if SpecialVersionSted = 'BK' then
787      begin      begin
# Line 1146  begin Line 1126  begin
1126      Scanningtype := gemScanningtype;      Scanningtype := gemScanningtype;
1127    
1128      SendInfoTilServer(Sted, Scanningtype, 'Begin', '');      SendInfoTilServer(Sted, Scanningtype, 'Begin', '');
1129      SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', Sto_GetFmtFileVersion(''));      SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', TUtils.Sto_GetFmtFileVersion(''));
1130    
1131  end;  end;
1132    
# Line 1621  begin Line 1601  begin
1601    
1602      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      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
1603      begin      begin
1604    
1605         if PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '') then         if PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '') then
1606            StregKode := PakkeshopStregkode;            StregKode := PakkeshopStregkode;
1607         if Pakkernormal1.Checked and ((BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked) then         if Pakkernormal1.Checked and ((BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked) then
# Line 1695  begin Line 1676  begin
1676            begin            begin
1677              VisAlarmSkaerm('');              VisAlarmSkaerm('');
1678            end;            end;
1679    
1680           if not btnNulstil.Visible then           if not btnNulstil.Visible then
1681            begin            begin
1682    
# Line 1787  var Line 1769  var
1769    
1770    
1771  begin  begin
1772      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
1773      begin      begin
1774        for i := ListBox2.items.count-1 downto 0 do        for i := ListBox2.items.count-1 downto 0 do
1775          if pos(StregKode,ListBox2.items[i]) <> 0 then          if pos(StregKode,ListBox2.items[i]) <> 0 then
# Line 1995  begin Line 1977  begin
1977      01 :      01 :
1978            begin;      // NS            begin;      // NS
1979              Testprinter1.Visible := true;              Testprinter1.Visible := true;
1980              DownloadButton01.Enabled := true;              BtnDownloadKontrolfil.Enabled := true;
1981              OpdaterListenButton01.Enabled := true;              BtnOpdaterListen.Enabled := true;
1982              IdFTP1.Passive := true;              IdFTP1.Passive := true;
1983              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
1984              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';
# Line 2011  begin Line 1993  begin
1993              Storepakker1.Enabled := true;              Storepakker1.Enabled := true;
1994              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
1995              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
1996              DownloadButton01.Enabled := false;     // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;     // kontrolfil bruges ikke her
1997              OpdaterListenButton01.Enabled := true;              BtnOpdaterListen.Enabled := true;
1998              IdFTP1.Passive := true;              IdFTP1.Passive := true;
1999              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
2000              IndlesManglendeScanninger();              IndlesManglendeScanninger();
# Line 2022  begin Line 2004  begin
2004              Testprinter1.Visible := true;              Testprinter1.Visible := true;
2005             if (getProddag() = 'lørdag') then             if (getProddag() = 'lørdag') then
2006              begin              begin
2007                DownloadButton03.Visible := false;                BtnDownloadRuteskiftFil.Visible := false;
2008              end              end
2009              else              else
2010              begin              begin
2011                DownloadButton03.Visible := false;                BtnDownloadRuteskiftFil.Visible := false;
2012              end;              end;
2013              DownloadButton01.Enabled := true;              BtnDownloadKontrolfil.Enabled := true;
2014              OpdaterListenButton01.Enabled := true;              BtnOpdaterListen.Enabled := true;
2015              IdFTP1.Passive := true;              IdFTP1.Passive := true;
2016              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
2017              BladhusRuteskiftfil_server := 'frafd/RuteSkift.txt';              BladhusRuteskiftfil_server := 'frafd/RuteSkift.txt';
# Line 2049  begin Line 2031  begin
2031              Storepakker1.Enabled := true;              Storepakker1.Enabled := true;
2032              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
2033              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
2034              DownloadButton01.Enabled := false;    // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;    // kontrolfil bruges ikke her
2035              OpdaterListenButton01.Enabled := true;              BtnOpdaterListen.Enabled := true;
2036              IdFTP1.Passive := true;              IdFTP1.Passive := true;
2037              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
2038            end;            end;
# Line 2170  begin Line 2152  begin
2152       begin       begin
2153         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label
2154         PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc         PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc
2155         RuteNummer := PakkeshopLabel.Koreliste;         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;
2156           Stregkode := PakkeshopLabel.Stregkode;
2157    
2158         PrintPakkeshopLabel( PakkeshopLabel );         PrintPakkeshopLabel( PakkeshopLabel );
2159    
# Line 2304  begin Line 2287  begin
2287        List1msg := List1msg + '; ' + Stregkode + ' (' + BoghandlerTjekkode + ')' + '; ' + Kommentar;        List1msg := List1msg + '; ' + Stregkode + ' (' + BoghandlerTjekkode + ')' + '; ' + Kommentar;
2288      end;      end;
2289    end;    end;
2290      if menuIndlevering.Checked then
2291      begin
2292        List1Msg := Stregkode;
2293      end;
2294    
2295    
2296    ListBox1.Items.Insert(0,List1Msg);    ListBox1.Items.Insert(0,List1Msg);
2297    logTekst := RightStr(List1Msg, Length(List1Msg)-10);    logTekst := RightStr(List1Msg, Length(List1Msg)-10);
2298    SkrivScanningLogFil(logTekst);    SkrivScanningLogFil(logTekst);
2299  end;  end;
2300    
2301  procedure TMainForm.UploadButton01Click(Sender: TObject);  procedure TMainForm.BtnUploadLogfilClick(Sender: TObject);
2302  begin  begin
2303    UploadLogfilTilDAO();    UploadLogfilTilDAO();
2304    UploadInifilTilDAO();    UploadInifilTilDAO();
# Line 2665  begin Line 2654  begin
2654    //UpdateScreen('', '', 'Tjekker forbindelsen...', '', '');    // virker ikke    //UpdateScreen('', '', 'Tjekker forbindelsen...', '', '');    // virker ikke
2655    ShowMessage('Tjekker data forbindelse til serveren.' + crlf + 'Det kan godt tage nogle minutter.' + crlf + 'Resultatet af testen vises i skærmbilledet...');    ShowMessage('Tjekker data forbindelse til serveren.' + crlf + 'Det kan godt tage nogle minutter.' + crlf + 'Resultatet af testen vises i skærmbilledet...');
2656    
2657          // Tjekker urls    try
2658          logTekst := 'Tjekker urls.';      // Tjekker urls
2659          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);      logTekst := 'Tjekker urls.';
2660          SkrivScanningLogFil(logTekst);      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2661        SkrivScanningLogFil(logTekst);
2662    
         // 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;  
2663    
         // 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;  
2664    
2665          // Tjekker UrlReturBoghandler      // Tjekker UrlNormal
2666          if PanelValg3.Enabled = true then      if PanelValg1.Enabled = true then
2667          begin      begin
2668            if CheckUrl(UrlReturBoghandler) then        TjekkerEnkeltUrl('UrlNormal', UrlNormal, urlFejl);
2669            begin      end;
             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;  
2670    
2671          // Tjekker UrlBudlevering      // Tjekker UrlReturDAO
2672          if PanelValg4.Enabled = true then      if PanelValg2.Enabled = true then
2673          begin      begin
2674            if CheckUrl(UrlBudlevering) then        TjekkerEnkeltUrl('UrlReturDAO', UrlReturDAO, urlFejl);
2675            begin      end;
             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;  
2676    
2677          // Tjekker UrlPakkeshoplevering      // Tjekker UrlReturBoghandler
2678          if PanelValg5.Enabled = true then      if PanelValg3.Enabled = true then
2679          begin      begin
2680            if CheckUrl(UrlPakkeshoplevering) then        TjekkerEnkeltUrl('UrlReturBoghandler', UrlReturBoghandler, urlFejl);
2681            begin      end;
             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;  
2682    
2683          // Tjekker UrlReturPakkeshop      // Tjekker UrlBudlevering
2684          if PanelValg6.Enabled = true then      if PanelValg4.Enabled = true then
2685          begin      begin
2686            if CheckUrl(UrlReturPakkeshop) then        TjekkerEnkeltUrl('UrlBudlevering', UrlBudlevering, urlFejl);
2687            begin      end;
             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;  
2688    
2689          // Tjekker UrlManglendeScanninger      // Tjekker UrlPakkeshoplevering
2690          if (PanelValg1.Enabled = true)      if PanelValg5.Enabled = true then
2691          or (PanelValg4.Enabled = true) then      begin
2692          begin        TjekkerEnkeltUrl('UrlPakkeshoplevering', UrlPakkeshoplevering, urlFejl);
2693            if CheckUrl(UrlManglendeScanninger) then      end;
           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;  
2694    
2695          // Tjekker UrlPakkeshopManglendeScanninger      // Tjekker UrlReturPakkeshop
2696          if PanelValg5.Enabled = true then      if PanelValg6.Enabled = true then
2697          begin      begin
2698            if CheckUrl(UrlPakkeshopManglendeScanninger) then        TjekkerEnkeltUrl('UrlReturPakkeshop', UrlReturPakkeshop, urlFejl);
2699            begin      end;
             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;  
2700    
2701          // Tjekker UrlPakkeshopManglendeReturScanninger      // Tjekker UrlManglendeScanninger
2702          if PanelValg6.Enabled = true then      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then
2703          begin      begin
2704            if CheckUrl(UrlPakkeshopManglendeReturScanninger) then        TjekkerEnkeltUrl('UrlManglendeScanninger', UrlManglendeScanninger, urlFejl);
2705            begin      end;
             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;  
2706    
2707          // Tjekker UrlEKLoverforsel      // Tjekker UrlPakkeshopManglendeScanninger
2708          if PanelValg1.Enabled = true then      if PanelValg5.Enabled = true then
2709          begin      begin
2710            if CheckUrl(UrlEKLoverforsel) then        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', UrlPakkeshopManglendeScanninger, urlFejl);
2711            begin      end;
             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;  
2712    
2713        // Tjekker UrlPakkeshopManglendeReturScanninger
2714        if PanelValg6.Enabled = true then
2715        begin
2716          TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', UrlPakkeshopManglendeReturScanninger, urlFejl);
2717        end;
2718    
2719          // Tjekker UrlEKLoverforselPakkeshop     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger
2720          if PanelValg5.Enabled = true then      if PanelValg7.Enabled = true then
2721          begin      begin
2722            if CheckUrl(UrlEKLoverforselPakkeshop) then        TjekkerEnkeltUrl('UrlIndleveringsPakke', UrlIndleveringsPakke, urlFejl);
2723            begin        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', UrlIndleveringsPakkeManglendeScanninger, urlFejl);
2724              logTekst := 'UrlEKLoverforselPakkeshop accepteret: ' + UrlEKLoverforselPakkeshop;      end;
             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;  
2725    
2726        // Tjekker UrlEKLoverforsel
2727        if PanelValg1.Enabled = true then
2728        begin
2729          TjekkerEnkeltUrl('UrlEKLoverforsel', UrlEKLoverforsel, urlFejl);
2730        end;
2731    
         // 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;  
2732    
2733          // Tjekker UrlSendPrograminfo      // Tjekker UrlEKLoverforselPakkeshop
2734          if CheckUrl(UrlSendPrograminfo) then      if PanelValg5.Enabled = true then
2735          begin      begin
2736            logTekst := 'UrlSendPrograminfo accepteret: ' + UrlSendPrograminfo;        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', UrlEKLoverforselPakkeshop, urlFejl);
2737            SkrivScanningLogFil(logTekst);      end;
2738          end  
2739          else  
2740          begin      // Tjekker UrlFindPakketype
2741              inc(urlFejl);   // Optæller antal fejl      TjekkerEnkeltUrl('UrlFindPakketype', UrlFindPakketype, urlFejl);
2742              logTekst := 'UrlSendPrograminfo svarer ikke: ' + UrlSendPrograminfo;  
2743              ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);      // Tjekker UrlSendPrograminfo
2744              if TjekUrls = '1' then      TjekkerEnkeltUrl('UrlSendPrograminfo', UrlSendPrograminfo, urlFejl);
2745              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;  
2746    
         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;  
2747    
2748        logTekst := 'urls er ok';
2749        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2750        SkrivScanningLogFil(logTekst);
2751    
2752      Except
2753        TjekUrls := '-';   // markerer at der var fejl
2754    
2755      end;
2756  end;  end;
2757    
2758  function TMainForm.FileTime2DateTime(FileTime: TFileTime): TDateTime;  procedure TMainForm.TjekkerEnkeltUrl(UrlNavn: String; Url: String; var urlFejl: integer);
2759  var  const
2760     LocalFileTime: TFileTime;    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
    SystemTime: TSystemTime;  
2761  begin  begin
2762     FileTimeToLocalFileTime(FileTime, LocalFileTime) ;    if TUtils.CheckUrl(Url) then
2763     FileTimeToSystemTime(LocalFileTime, SystemTime) ;  
2764     Result := SystemTimeToDateTime(SystemTime) ;    begin
2765        logTekst := UrlNavn + ' accepteret: ' + Url;
2766        SkrivScanningLogFil(logTekst);
2767      end
2768      else
2769      begin
2770        inc(urlFejl);   // Optæller antal fejl
2771        logTekst := UrlNavn + ' svarer ikke: ' + Url;
2772        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2773        if TjekUrls = '1' then
2774        begin
2775          logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
2776        end;
2777    
2778        SkrivScanningLogFil(logTekst);
2779    
2780        if TjekUrls = '1' then
2781        begin
2782          ShowMessage(logTekst);
2783          UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
2784          Application.Terminate;
2785    
2786          raise Exception.Create('UrlFejl');
2787    
2788        end;
2789      end;
2790    
2791  end;  end;
2792    
2793    
2794    
2795  procedure TMainForm.SletLogfiler(Path: string; FileList: TStrings);  procedure TMainForm.SletLogfiler(Path: string; FileList: TStrings);
2796  var  var
2797    SR: TSearchRec;    SR: TSearchRec;
# Line 3074  begin Line 2811  begin
2811    
2812          dt := fileDateToDateTime(SR.Time);  // finder filens timestamp for seneste ændring          dt := fileDateToDateTime(SR.Time);  // finder filens timestamp for seneste ændring
2813          CreationTime := SR.FindData.ftCreationTime;  // finder filens timestamp for oprettelse          CreationTime := SR.FindData.ftCreationTime;  // finder filens timestamp for oprettelse
2814          dtCreation := FileTime2DateTime(CreationTime);   // finder filens timestamp for oprettelse          dtCreation := TUtils.FileTime2DateTime(CreationTime);   // finder filens timestamp for oprettelse
2815          // Selvom creation date godt kan være forskellig fra modified date,          // Selvom creation date godt kan være forskellig fra modified date,
2816          // skal vi alligevel altid tjekke filens alder ud fra modified date          // skal vi alligevel altid tjekke filens alder ud fra modified date
2817          // (ændring den kan ligge både før og efter oprettelse, hvis filerne er flyttet eller ændret manuelt)          // (ændring den kan ligge både før og efter oprettelse, hvis filerne er flyttet eller ændret manuelt)
# Line 3207  end; Line 2944  end;
2944    
2945  procedure TMainForm.PanelValgAClick(Sender: TObject);  procedure TMainForm.PanelValgAClick(Sender: TObject);
2946  begin  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;  
 *)  
2947  // Skal ikke toggle men bare sætte funktionen on  // Skal ikke toggle men bare sætte funktionen on
2948  // Fravælges ved at vælge en scanningstype  // Fravælges ved at vælge en scanningstype
2949       AutomatiskValg1.Checked := true;    AutomatiskValg1.Checked := true;
2950       PanelValgA.Color := clGreen;    PanelValgA.Color := clGreen;
2951       PanelValgA.Font.Color := clWhite;    PanelValgA.Font.Color := clWhite;
2952  // 20150311: slut  
2953    
2954    
2955  end;  end;
2956    
2957  procedure TMainForm.Pakkernormal1Click(Sender: TObject);  procedure TMainForm.Pakkernormal1Click(Sender: TObject);
# Line 3342  var Line 3066  var
3066   tekst, filversion : String;   tekst, filversion : String;
3067  begin  begin
3068    
3069    filversion := Sto_GetFmtFileVersion('');    filversion := TUtils.Sto_GetFmtFileVersion('');
3070    tekst := 'Program til indscanning af pakker'+crlf+'Version '+filversion+crlf+crlf+'Udviklet af it afdelingen, DAO';    tekst := 'Program til indscanning af pakker'+crlf+'Version '+filversion+crlf+crlf+'Udviklet af it afdelingen, DAO';
3071    
3072    tekst := tekst+crlf+crlf;    tekst := tekst+crlf+crlf;
# Line 3437  begin Line 3161  begin
3161    
3162    if FileExists(fileName) then    if FileExists(fileName) then
3163    begin    begin
3164      if AdobeReaderExists then      if TUtils.AdobeReaderExists then
3165      begin      begin
3166        //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);        //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);
3167        ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);        ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);
# Line 3461  begin Line 3185  begin
3185    
3186    if FileExists(fileName) then    if FileExists(fileName) then
3187    begin    begin
3188      if AdobeReaderExists then      if TUtils.AdobeReaderExists then
3189      begin      begin
3190        //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);        //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);
3191        ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);        ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);
3192      end      end
3193      else      else
3194      begin      begin
3195        ShowMessage('Acrobat Reader er ikke installeret!');        ShowMessage('Adobe Reader er ikke installeret!');
3196      end;      end;
3197    end    end
3198    else    else
# Line 3534  begin Line 3258  begin
3258        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3259        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3260        ListBox1.Visible := true;        ListBox1.Visible := true;
3261        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3262        EKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3263        InitLillePakke();        InitLillePakke();
3264        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3265        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3568  begin Line 3292  begin
3292        ListBox1.Visible := true;        ListBox1.Visible := true;
3293        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3294        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3295        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3296        InitLillePakke();        InitLillePakke();
3297  end;  end;
3298    
# Line 3594  begin Line 3318  begin
3318        ListBox1.Visible := true;        ListBox1.Visible := true;
3319        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3320        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3321        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3322        InitLillePakke();        InitLillePakke();
3323  end;  end;
3324    
# Line 3620  begin Line 3344  begin
3344        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3345        ListBox1.Visible := true;        ListBox1.Visible := true;
3346        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3347        DownloadButton01.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3348        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3349        DownloadButton03.Visible := false;        BtnDownloadRuteskiftFil.Visible := false;
3350        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3351        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3352        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3353        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
# Line 3656  begin Line 3380  begin
3380        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3381        ListBox1.Visible := true;        ListBox1.Visible := true;
3382        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3383        DownloadButton01.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3384        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3385    
3386        EKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3387    
3388        InitLillePakke();        InitLillePakke();
3389        IndlesScanningLogFil();        IndlesScanningLogFil();
# Line 3693  begin Line 3417  begin
3417        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3418        ListBox1.Visible := true;        ListBox1.Visible := true;
3419        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3420        DownloadButton01.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3421        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3422        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3423        InitLillePakke();        InitLillePakke();
3424        IndlesScanningLogFil();        IndlesScanningLogFil();
3425        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3740  begin Line 3464  begin
3464        ListBox1.Visible := true;        ListBox1.Visible := true;
3465        ListBox1.Items.Clear();        ListBox1.Items.Clear();
3466    
3467        DownloadButton01.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3468        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3469        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3470        InitLillePakke();        InitLillePakke();
3471        IndlesScanningLogFil();        IndlesScanningLogFil();
3472        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3780  begin Line 3504  begin
3504  // 20150310: slut  // 20150310: slut
3505  end;  end;
3506    
 /// <summary>  
 ///   This function reads the file resource of "FileName" and returns  
 ///   the version number as formatted text.</summary>  
 /// <example>  
 ///   Sto_GetFmtFileVersion() = '4.13.128.0'  
 ///   Sto_GetFmtFileVersion('', '%.2d-%.2d-%.2d') = '04-13-128'  
 /// </example>  
 /// <remarks>If "Fmt" is invalid, the function may raise an  
 ///   EConvertError exception.</remarks>  
 /// <param name="FileName">Full path to exe or dll. If an empty  
 ///   string is passed, the function uses the filename of the  
 ///   running exe or dll.</param>  
 /// <param name="Fmt">Format string, you can use at most four integer  
 ///   values.</param>  
 /// <returns>Formatted version number of file, '' if no version  
 ///   resource found.</returns>  
 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]]);  
3507    
   end;  
 end;  
3508    
3509  procedure TMainForm.PlaySound(filename : PWideChar);  procedure TMainForm.PlaySound(filename : PWideChar);
3510  begin  begin
# Line 3904  begin; Line 3575  begin;
3575    CheckCode();    CheckCode();
3576  end;  end;
3577    
3578  procedure TMainForm.EKLoverforselClick(Sender: TObject);  procedure TMainForm.BtnEKLoverforselClick(Sender: TObject);
3579  var  var
3580    WebSvar : String;    WebSvar : String;
3581    URLStr : String;    URLStr : String;
# Line 3914  var Line 3585  var
3585    status, kommentar : String;    status, kommentar : String;
3586    
3587  begin  begin
3588      EKLoverforsel.Enabled := false;      BtnEKLoverforsel.Enabled := false;
3589    
3590      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Overfører de scannede pakker til EKL');      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Overfører de scannede pakker til EKL');
3591      logTekst := 'Overfører de scannede pakker til EKL';      logTekst := 'Overfører de scannede pakker til EKL';
# Line 3977  begin Line 3648  begin
3648        end;        end;
3649      end;      end;
3650    
3651      EKLoverforsel.Enabled := true;      BtnEKLoverforsel.Enabled := true;
3652    
3653      ListBox1.SetFocus;  // for at flytte fokus væk fra knappen så denne ikke aktiveres ved scanning / indtastning af stregkode      ListBox1.SetFocus;  // for at flytte fokus væk fra knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
3654    
# Line 4503  begin Line 4174  begin
4174    ListBox1.SetFocus;  // for at flytte fokus væk fra upload knappen så denne ikke aktiveres ved scanning / indtastning af stregkode    ListBox1.SetFocus;  // for at flytte fokus væk fra upload knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
4175  end;  end;
4176    
4177  procedure TMainForm.DownloadButton01Click(Sender: TObject);  procedure TMainForm.BtnDownloadKontrolfilClick(Sender: TObject);
4178  begin  begin
4179      DownloadBladhusKontrolfil();      DownloadBladhusKontrolfil();
4180      ListBox1.SetFocus;  // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode      ListBox1.SetFocus;  // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
4181  end;  end;
4182    
4183  procedure TMainForm.OpdaterListenButton01Click(Sender: TObject);  procedure TMainForm.BtnOpdaterListenClick(Sender: TObject);
4184  const  const
4185    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
4186    
# Line 4518  begin Line 4189  begin
4189      ListBox1.SetFocus;  // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode      ListBox1.SetFocus;  // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
4190  end;  end;
4191    
4192  procedure TMainForm.DownloadButton03Click(Sender: TObject);  procedure TMainForm.BtnDownloadRuteskiftFilClick(Sender: TObject);
4193  begin  begin
4194      if (getProddag() = 'lørdag') then      if (getProddag() = 'lørdag') then
4195      begin      begin
# Line 4534  var Line 4205  var
4205    XForm, XFormOld: TXForm; //Bruges til rotate X-formation    XForm, XFormOld: TXForm; //Bruges til rotate X-formation
4206    Angle: integer;    Angle: integer;
4207    gMode: integer;    gMode: integer;
   BarcodeArea: TRect;  
4208    Dirigering: string;    Dirigering: string;
4209    
4210  begin  begin
# Line 4687  var Line 4357  var
4357        end;        end;
4358    
4359    
4360      if (Scanningtype = '6') then  
4361        if (Scanningtype = '7') then
4362         begin
4363          URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]);
4364         end
4365        else if (Scanningtype = '6') then
4366       begin       begin
4367        URLStr := Format(UrlPakkeshopManglendeReturScanninger,[StedKode]);        URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]);
4368       end       end
4369      else if (Scanningtype = '5') then      else if (Scanningtype = '5') then
4370       begin       begin
4371        URLStr := Format(UrlPakkeshopManglendeScanninger,[StedKode]);        URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]);
4372       end       end
4373      else if (Scanningtype = '1') then      else if (Scanningtype = '1') then
4374       begin       begin
# Line 5380  begin Line 5055  begin
5055    end;    end;
5056  end;  end;
5057    
 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;  
5058    
5059    
 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;  
5060    
5061  end;  
5062    
5063    
5064  procedure TMainForm.CheckPrintQue(tjektype : string);  procedure TMainForm.CheckPrintQue(tjektype : string);

Legend:
Removed from v.2682  
changed lines
  Added in v.2703

  ViewVC Help
Powered by ViewVC 1.1.20