/[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 2683 by torben, Wed Aug 26 19:56:26 2015 UTC revision 2700 by torben, Thu Sep 3 14:53:37 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 193  type Line 187  type
187      SkrivLog : String;      SkrivLog : String;
188      Sted : String;      Sted : String;
189      StedNavn : String;      StedNavn : String;
190      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;
191  // 29150330: start  // 29150330: start
192      UrlEKLoverforselPakkeshop : String;      UrlEKLoverforselPakkeshop : String;
193  // 20150330: slut  // 20150330: slut
# Line 335  begin Line 329  begin
329        PanelValg7.Font.Color := clWindowText;        PanelValg7.Font.Color := clWindowText;
330      end;      end;
331    
332      OpdaterListenButton01.Enabled := false;      BtnOpdaterListen.Enabled := false;
333    
334      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
335      begin      begin
# Line 562  begin Line 556  begin
556      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');
557      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');
558    
559    
560      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');
561        UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');
562    
563    
564    
565      LabelType := ReadInteger('Settings','LabelType',1);      LabelType := ReadInteger('Settings','LabelType',1);
# Line 602  begin Line 599  begin
599    
600      if (SkrivLog = '1') then      if (SkrivLog = '1') then
601      begin      begin
602        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);
603        try        try
604          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
605          Uploadlogfil1.Enabled := true;          Uploadlogfil1.Enabled := true;
606          UploadButton01.Enabled := true;          BtnUploadLogfil.Enabled := true;
607          logTekst := 'Programmet er installeret som: '+ParamStr(0);          logTekst := 'Programmet er installeret som: '+ParamStr(0);
608          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
609          // Oprydning i gamle logfiler          // Oprydning i gamle logfiler
# Line 1128  begin Line 1125  begin
1125      Scanningtype := gemScanningtype;      Scanningtype := gemScanningtype;
1126    
1127      SendInfoTilServer(Sted, Scanningtype, 'Begin', '');      SendInfoTilServer(Sted, Scanningtype, 'Begin', '');
1128      SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', Sto_GetFmtFileVersion(''));      SendInfoTilServer(Sted, Scanningtype, 'ProgramVersion', TUtils.Sto_GetFmtFileVersion(''));
1129    
1130  end;  end;
1131    
# Line 1977  begin Line 1974  begin
1974      01 :      01 :
1975            begin;      // NS            begin;      // NS
1976              Testprinter1.Visible := true;              Testprinter1.Visible := true;
1977              DownloadButton01.Enabled := true;              BtnDownloadKontrolfil.Enabled := true;
1978              OpdaterListenButton01.Enabled := true;              BtnOpdaterListen.Enabled := true;
1979              IdFTP1.Passive := true;              IdFTP1.Passive := true;
1980              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
1981              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';
# Line 1993  begin Line 1990  begin
1990              Storepakker1.Enabled := true;              Storepakker1.Enabled := true;
1991              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
1992              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
1993              DownloadButton01.Enabled := false;     // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;     // kontrolfil bruges ikke her
1994              OpdaterListenButton01.Enabled := true;              BtnOpdaterListen.Enabled := true;
1995              IdFTP1.Passive := true;              IdFTP1.Passive := true;
1996              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
1997              IndlesManglendeScanninger();              IndlesManglendeScanninger();
# Line 2004  begin Line 2001  begin
2001              Testprinter1.Visible := true;              Testprinter1.Visible := true;
2002             if (getProddag() = 'lørdag') then             if (getProddag() = 'lørdag') then
2003              begin              begin
2004                DownloadButton03.Visible := false;                BtnDownloadRuteskiftFil.Visible := false;
2005              end              end
2006              else              else
2007              begin              begin
2008                DownloadButton03.Visible := false;                BtnDownloadRuteskiftFil.Visible := false;
2009              end;              end;
2010              DownloadButton01.Enabled := true;              BtnDownloadKontrolfil.Enabled := true;
2011              OpdaterListenButton01.Enabled := true;              BtnOpdaterListen.Enabled := true;
2012              IdFTP1.Passive := true;              IdFTP1.Passive := true;
2013              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
2014              BladhusRuteskiftfil_server := 'frafd/RuteSkift.txt';              BladhusRuteskiftfil_server := 'frafd/RuteSkift.txt';
# Line 2031  begin Line 2028  begin
2028              Storepakker1.Enabled := true;              Storepakker1.Enabled := true;
2029              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
2030              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
2031              DownloadButton01.Enabled := false;    // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;    // kontrolfil bruges ikke her
2032              OpdaterListenButton01.Enabled := true;              BtnOpdaterListen.Enabled := true;
2033              IdFTP1.Passive := true;              IdFTP1.Passive := true;
2034              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
2035            end;            end;
# Line 2291  begin Line 2288  begin
2288    SkrivScanningLogFil(logTekst);    SkrivScanningLogFil(logTekst);
2289  end;  end;
2290    
2291  procedure TMainForm.UploadButton01Click(Sender: TObject);  procedure TMainForm.BtnUploadLogfilClick(Sender: TObject);
2292  begin  begin
2293    UploadLogfilTilDAO();    UploadLogfilTilDAO();
2294    UploadInifilTilDAO();    UploadInifilTilDAO();
# Line 2655  begin Line 2652  begin
2652          // Tjekker UrlNormal          // Tjekker UrlNormal
2653          if PanelValg1.Enabled = true then          if PanelValg1.Enabled = true then
2654          begin          begin
2655            if CheckUrl(UrlNormal) then            if TUtils.CheckUrl(UrlNormal) then
2656            begin            begin
2657              logTekst := 'UrlNormal accepteret: ' + UrlNormal;              logTekst := 'UrlNormal accepteret: ' + UrlNormal;
2658              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2684  begin Line 2681  begin
2681          // Tjekker UrlReturDAO          // Tjekker UrlReturDAO
2682          if PanelValg2.Enabled = true then          if PanelValg2.Enabled = true then
2683          begin          begin
2684            if CheckUrl(UrlReturDAO) then            if TUtils.CheckUrl(UrlReturDAO) then
2685            begin            begin
2686              logTekst := 'UrlReturDAO accepteret: ' + UrlReturDAO;              logTekst := 'UrlReturDAO accepteret: ' + UrlReturDAO;
2687              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2712  begin Line 2709  begin
2709          // Tjekker UrlReturBoghandler          // Tjekker UrlReturBoghandler
2710          if PanelValg3.Enabled = true then          if PanelValg3.Enabled = true then
2711          begin          begin
2712            if CheckUrl(UrlReturBoghandler) then            if TUtils.CheckUrl(UrlReturBoghandler) then
2713            begin            begin
2714              logTekst := 'UrlReturBoghandler accepteret: ' + UrlReturBoghandler;              logTekst := 'UrlReturBoghandler accepteret: ' + UrlReturBoghandler;
2715              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2740  begin Line 2737  begin
2737          // Tjekker UrlBudlevering          // Tjekker UrlBudlevering
2738          if PanelValg4.Enabled = true then          if PanelValg4.Enabled = true then
2739          begin          begin
2740            if CheckUrl(UrlBudlevering) then            if TUtils.CheckUrl(UrlBudlevering) then
2741            begin            begin
2742              logTekst := 'UrlBudlevering accepteret: ' + UrlBudlevering;              logTekst := 'UrlBudlevering accepteret: ' + UrlBudlevering;
2743              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2768  begin Line 2765  begin
2765          // Tjekker UrlPakkeshoplevering          // Tjekker UrlPakkeshoplevering
2766          if PanelValg5.Enabled = true then          if PanelValg5.Enabled = true then
2767          begin          begin
2768            if CheckUrl(UrlPakkeshoplevering) then            if TUtils.CheckUrl(UrlPakkeshoplevering) then
2769            begin            begin
2770              logTekst := 'UrlPakkeshoplevering accepteret: ' + UrlPakkeshoplevering;              logTekst := 'UrlPakkeshoplevering accepteret: ' + UrlPakkeshoplevering;
2771              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2796  begin Line 2793  begin
2793          // Tjekker UrlReturPakkeshop          // Tjekker UrlReturPakkeshop
2794          if PanelValg6.Enabled = true then          if PanelValg6.Enabled = true then
2795          begin          begin
2796            if CheckUrl(UrlReturPakkeshop) then            if TUtils.CheckUrl(UrlReturPakkeshop) then
2797            begin            begin
2798              logTekst := 'UrlReturPakkeshop accepteret: ' + UrlReturPakkeshop;              logTekst := 'UrlReturPakkeshop accepteret: ' + UrlReturPakkeshop;
2799              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2825  begin Line 2822  begin
2822          if (PanelValg1.Enabled = true)          if (PanelValg1.Enabled = true)
2823          or (PanelValg4.Enabled = true) then          or (PanelValg4.Enabled = true) then
2824          begin          begin
2825            if CheckUrl(UrlManglendeScanninger) then            if TUtils.CheckUrl(UrlManglendeScanninger) then
2826            begin            begin
2827              logTekst := 'UrlManglendeScanninger accepteret: ' + UrlManglendeScanninger;              logTekst := 'UrlManglendeScanninger accepteret: ' + UrlManglendeScanninger;
2828              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2853  begin Line 2850  begin
2850          // Tjekker UrlPakkeshopManglendeScanninger          // Tjekker UrlPakkeshopManglendeScanninger
2851          if PanelValg5.Enabled = true then          if PanelValg5.Enabled = true then
2852          begin          begin
2853            if CheckUrl(UrlPakkeshopManglendeScanninger) then            if TUtils.CheckUrl(UrlPakkeshopManglendeScanninger) then
2854            begin            begin
2855              logTekst := 'UrlPakkeshopManglendeScanninger accepteret: ' + UrlPakkeshopManglendeScanninger;              logTekst := 'UrlPakkeshopManglendeScanninger accepteret: ' + UrlPakkeshopManglendeScanninger;
2856              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2881  begin Line 2878  begin
2878          // Tjekker UrlPakkeshopManglendeReturScanninger          // Tjekker UrlPakkeshopManglendeReturScanninger
2879          if PanelValg6.Enabled = true then          if PanelValg6.Enabled = true then
2880          begin          begin
2881            if CheckUrl(UrlPakkeshopManglendeReturScanninger) then            if TUtils.CheckUrl(UrlPakkeshopManglendeReturScanninger) then
2882            begin            begin
2883              logTekst := 'UrlPakkeshopManglendeReturScanninger accepteret: ' + UrlPakkeshopManglendeReturScanninger;              logTekst := 'UrlPakkeshopManglendeReturScanninger accepteret: ' + UrlPakkeshopManglendeReturScanninger;
2884              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2906  begin Line 2903  begin
2903            end;            end;
2904          end;          end;
2905    
2906           // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger
2907            if PanelValg7.Enabled = true then
2908            begin
2909              if TUtils.CheckUrl(UrlIndleveringsPakke) then
2910              begin
2911                logTekst := 'UrlIndleveringsPakke accepteret: ' + UrlIndleveringsPakke;
2912                SkrivScanningLogFil(logTekst);
2913              end
2914              else
2915              begin
2916                inc(urlFejl);   // Optæller antal fejl
2917                logTekst := 'UrlIndleveringsPakke svarer ikke: ' + UrlIndleveringsPakke;
2918                ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2919                if TjekUrls = '1' then
2920                begin
2921                  logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
2922                end;
2923                SkrivScanningLogFil(logTekst);
2924                if TjekUrls = '1' then
2925                begin
2926                  ShowMessage(logTekst);
2927                  UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
2928                  Application.Terminate;
2929                  exit;
2930                end;
2931              end;
2932    
2933              if TUtils.CheckUrl(UrlIndleveringsPakkeManglendeScanninger) then
2934              begin
2935                logTekst := 'UrlIndleveringsPakkeManglendeScanninger accepteret: ' + UrlIndleveringsPakkeManglendeScanninger;
2936                SkrivScanningLogFil(logTekst);
2937              end
2938              else
2939              begin
2940                inc(urlFejl);   // Optæller antal fejl
2941                logTekst := 'UrlIndleveringsPakkeManglendeScanninger svarer ikke: ' + UrlIndleveringsPakkeManglendeScanninger;
2942                ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2943                if TjekUrls = '1' then
2944                begin
2945                  logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
2946                end;
2947                SkrivScanningLogFil(logTekst);
2948                if TjekUrls = '1' then
2949                begin
2950                  ShowMessage(logTekst);
2951                  UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
2952                  Application.Terminate;
2953                  exit;
2954                end;
2955              end;
2956            end;
2957    
2958          // Tjekker UrlEKLoverforsel          // Tjekker UrlEKLoverforsel
2959          if PanelValg1.Enabled = true then          if PanelValg1.Enabled = true then
2960          begin          begin
2961            if CheckUrl(UrlEKLoverforsel) then            if TUtils.CheckUrl(UrlEKLoverforsel) then
2962            begin            begin
2963              logTekst := 'UrlEKLoverforsel accepteret: ' + UrlEKLoverforsel;              logTekst := 'UrlEKLoverforsel accepteret: ' + UrlEKLoverforsel;
2964              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2938  begin Line 2987  begin
2987          // Tjekker UrlEKLoverforselPakkeshop          // Tjekker UrlEKLoverforselPakkeshop
2988          if PanelValg5.Enabled = true then          if PanelValg5.Enabled = true then
2989          begin          begin
2990            if CheckUrl(UrlEKLoverforselPakkeshop) then            if TUtils.CheckUrl(UrlEKLoverforselPakkeshop) then
2991            begin            begin
2992              logTekst := 'UrlEKLoverforselPakkeshop accepteret: ' + UrlEKLoverforselPakkeshop;              logTekst := 'UrlEKLoverforselPakkeshop accepteret: ' + UrlEKLoverforselPakkeshop;
2993              SkrivScanningLogFil(logTekst);              SkrivScanningLogFil(logTekst);
# Line 2965  begin Line 3014  begin
3014    
3015    
3016          // Tjekker UrlFindPakketype          // Tjekker UrlFindPakketype
3017          if CheckUrl(UrlFindPakketype) then          if TUtils.CheckUrl(UrlFindPakketype) then
3018          begin          begin
3019            logTekst := 'UrlFindPakketype accepteret: ' + UrlFindPakketype;            logTekst := 'UrlFindPakketype accepteret: ' + UrlFindPakketype;
3020            SkrivScanningLogFil(logTekst);            SkrivScanningLogFil(logTekst);
# Line 2990  begin Line 3039  begin
3039          end;          end;
3040    
3041          // Tjekker UrlSendPrograminfo          // Tjekker UrlSendPrograminfo
3042          if CheckUrl(UrlSendPrograminfo) then          if TUtils.CheckUrl(UrlSendPrograminfo) then
3043          begin          begin
3044            logTekst := 'UrlSendPrograminfo accepteret: ' + UrlSendPrograminfo;            logTekst := 'UrlSendPrograminfo accepteret: ' + UrlSendPrograminfo;
3045            SkrivScanningLogFil(logTekst);            SkrivScanningLogFil(logTekst);
# Line 3027  begin Line 3076  begin
3076    
3077  end;  end;
3078    
 function TMainForm.FileTime2DateTime(FileTime: TFileTime): TDateTime;  
 var  
    LocalFileTime: TFileTime;  
    SystemTime: TSystemTime;  
 begin  
    FileTimeToLocalFileTime(FileTime, LocalFileTime) ;  
    FileTimeToSystemTime(LocalFileTime, SystemTime) ;  
    Result := SystemTimeToDateTime(SystemTime) ;  
 end;  
   
3079  procedure TMainForm.SletLogfiler(Path: string; FileList: TStrings);  procedure TMainForm.SletLogfiler(Path: string; FileList: TStrings);
3080  var  var
3081    SR: TSearchRec;    SR: TSearchRec;
# Line 3056  begin Line 3095  begin
3095    
3096          dt := fileDateToDateTime(SR.Time);  // finder filens timestamp for seneste ændring          dt := fileDateToDateTime(SR.Time);  // finder filens timestamp for seneste ændring
3097          CreationTime := SR.FindData.ftCreationTime;  // finder filens timestamp for oprettelse          CreationTime := SR.FindData.ftCreationTime;  // finder filens timestamp for oprettelse
3098          dtCreation := FileTime2DateTime(CreationTime);   // finder filens timestamp for oprettelse          dtCreation := TUtils.FileTime2DateTime(CreationTime);   // finder filens timestamp for oprettelse
3099          // Selvom creation date godt kan være forskellig fra modified date,          // Selvom creation date godt kan være forskellig fra modified date,
3100          // skal vi alligevel altid tjekke filens alder ud fra modified date          // skal vi alligevel altid tjekke filens alder ud fra modified date
3101          // (æ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 3189  end; Line 3228  end;
3228    
3229  procedure TMainForm.PanelValgAClick(Sender: TObject);  procedure TMainForm.PanelValgAClick(Sender: TObject);
3230  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;  
 *)  
3231  // Skal ikke toggle men bare sætte funktionen on  // Skal ikke toggle men bare sætte funktionen on
3232  // Fravælges ved at vælge en scanningstype  // Fravælges ved at vælge en scanningstype
3233       AutomatiskValg1.Checked := true;    AutomatiskValg1.Checked := true;
3234       PanelValgA.Color := clGreen;    PanelValgA.Color := clGreen;
3235       PanelValgA.Font.Color := clWhite;    PanelValgA.Font.Color := clWhite;
3236  // 20150311: slut  
3237    
3238    
3239  end;  end;
3240    
3241  procedure TMainForm.Pakkernormal1Click(Sender: TObject);  procedure TMainForm.Pakkernormal1Click(Sender: TObject);
# Line 3324  var Line 3350  var
3350   tekst, filversion : String;   tekst, filversion : String;
3351  begin  begin
3352    
3353    filversion := Sto_GetFmtFileVersion('');    filversion := TUtils.Sto_GetFmtFileVersion('');
3354    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';
3355    
3356    tekst := tekst+crlf+crlf;    tekst := tekst+crlf+crlf;
# Line 3419  begin Line 3445  begin
3445    
3446    if FileExists(fileName) then    if FileExists(fileName) then
3447    begin    begin
3448      if AdobeReaderExists then      if TUtils.AdobeReaderExists then
3449      begin      begin
3450        //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);        //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);
3451        ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);        ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);
# Line 3443  begin Line 3469  begin
3469    
3470    if FileExists(fileName) then    if FileExists(fileName) then
3471    begin    begin
3472      if AdobeReaderExists then      if TUtils.AdobeReaderExists then
3473      begin      begin
3474        //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);        //ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL);
3475        ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);        ShellExecute(Handle,'open',PChar(fileName), nil, nil, SW_SHOWNORMAL);
3476      end      end
3477      else      else
3478      begin      begin
3479        ShowMessage('Acrobat Reader er ikke installeret!');        ShowMessage('Adobe Reader er ikke installeret!');
3480      end;      end;
3481    end    end
3482    else    else
# Line 3516  begin Line 3542  begin
3542        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3543        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3544        ListBox1.Visible := true;        ListBox1.Visible := true;
3545        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3546        EKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3547        InitLillePakke();        InitLillePakke();
3548        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3549        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3550  begin Line 3576  begin
3576        ListBox1.Visible := true;        ListBox1.Visible := true;
3577        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3578        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3579        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3580        InitLillePakke();        InitLillePakke();
3581  end;  end;
3582    
# Line 3576  begin Line 3602  begin
3602        ListBox1.Visible := true;        ListBox1.Visible := true;
3603        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3604        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3605        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3606        InitLillePakke();        InitLillePakke();
3607  end;  end;
3608    
# Line 3602  begin Line 3628  begin
3628        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3629        ListBox1.Visible := true;        ListBox1.Visible := true;
3630        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3631        DownloadButton01.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3632        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3633        DownloadButton03.Visible := false;        BtnDownloadRuteskiftFil.Visible := false;
3634        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3635        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3636        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3637        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
# Line 3638  begin Line 3664  begin
3664        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3665        ListBox1.Visible := true;        ListBox1.Visible := true;
3666        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3667        DownloadButton01.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3668        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3669    
3670        EKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3671    
3672        InitLillePakke();        InitLillePakke();
3673        IndlesScanningLogFil();        IndlesScanningLogFil();
# Line 3675  begin Line 3701  begin
3701        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3702        ListBox1.Visible := true;        ListBox1.Visible := true;
3703        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3704        DownloadButton01.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3705        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3706        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3707        InitLillePakke();        InitLillePakke();
3708        IndlesScanningLogFil();        IndlesScanningLogFil();
3709        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3722  begin Line 3748  begin
3748        ListBox1.Visible := true;        ListBox1.Visible := true;
3749        ListBox1.Items.Clear();        ListBox1.Items.Clear();
3750    
3751        DownloadButton01.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3752        OpdaterListenButton01.Enabled := true;        BtnOpdaterListen.Enabled := true;
3753        EKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3754        InitLillePakke();        InitLillePakke();
3755        IndlesScanningLogFil();        IndlesScanningLogFil();
3756        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3762  begin Line 3788  begin
3788  // 20150310: slut  // 20150310: slut
3789  end;  end;
3790    
 /// <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]]);  
3791    
   end;  
 end;  
3792    
3793  procedure TMainForm.PlaySound(filename : PWideChar);  procedure TMainForm.PlaySound(filename : PWideChar);
3794  begin  begin
# Line 3886  begin; Line 3859  begin;
3859    CheckCode();    CheckCode();
3860  end;  end;
3861    
3862  procedure TMainForm.EKLoverforselClick(Sender: TObject);  procedure TMainForm.BtnEKLoverforselClick(Sender: TObject);
3863  var  var
3864    WebSvar : String;    WebSvar : String;
3865    URLStr : String;    URLStr : String;
# Line 3896  var Line 3869  var
3869    status, kommentar : String;    status, kommentar : String;
3870    
3871  begin  begin
3872      EKLoverforsel.Enabled := false;      BtnEKLoverforsel.Enabled := false;
3873    
3874      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');
3875      logTekst := 'Overfører de scannede pakker til EKL';      logTekst := 'Overfører de scannede pakker til EKL';
# Line 3959  begin Line 3932  begin
3932        end;        end;
3933      end;      end;
3934    
3935      EKLoverforsel.Enabled := true;      BtnEKLoverforsel.Enabled := true;
3936    
3937      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
3938    
# Line 4485  begin Line 4458  begin
4458    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
4459  end;  end;
4460    
4461  procedure TMainForm.DownloadButton01Click(Sender: TObject);  procedure TMainForm.BtnDownloadKontrolfilClick(Sender: TObject);
4462  begin  begin
4463      DownloadBladhusKontrolfil();      DownloadBladhusKontrolfil();
4464      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
4465  end;  end;
4466    
4467  procedure TMainForm.OpdaterListenButton01Click(Sender: TObject);  procedure TMainForm.BtnOpdaterListenClick(Sender: TObject);
4468  const  const
4469    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
4470    
# Line 4500  begin Line 4473  begin
4473      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
4474  end;  end;
4475    
4476  procedure TMainForm.DownloadButton03Click(Sender: TObject);  procedure TMainForm.BtnDownloadRuteskiftFilClick(Sender: TObject);
4477  begin  begin
4478      if (getProddag() = 'lørdag') then      if (getProddag() = 'lørdag') then
4479      begin      begin
# Line 4516  var Line 4489  var
4489    XForm, XFormOld: TXForm; //Bruges til rotate X-formation    XForm, XFormOld: TXForm; //Bruges til rotate X-formation
4490    Angle: integer;    Angle: integer;
4491    gMode: integer;    gMode: integer;
   BarcodeArea: TRect;  
4492    Dirigering: string;    Dirigering: string;
4493    
4494  begin  begin
# Line 4669  var Line 4641  var
4641        end;        end;
4642    
4643    
4644      if (Scanningtype = '6') then  
4645        if (Scanningtype = '7') then
4646         begin
4647          URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]);
4648         end
4649        else if (Scanningtype = '6') then
4650       begin       begin
4651        URLStr := Format(UrlPakkeshopManglendeReturScanninger,[StedKode]);        URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]);
4652       end       end
4653      else if (Scanningtype = '5') then      else if (Scanningtype = '5') then
4654       begin       begin
4655        URLStr := Format(UrlPakkeshopManglendeScanninger,[StedKode]);        URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]);
4656       end       end
4657      else if (Scanningtype = '1') then      else if (Scanningtype = '1') then
4658       begin       begin
# Line 5362  begin Line 5339  begin
5339    end;    end;
5340  end;  end;
5341    
 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;  
5342    
5343    
 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;  
5344    
5345  end;  
5346    
5347    
5348  procedure TMainForm.CheckPrintQue(tjektype : string);  procedure TMainForm.CheckPrintQue(tjektype : string);

Legend:
Removed from v.2683  
changed lines
  Added in v.2700

  ViewVC Help
Powered by ViewVC 1.1.20