/[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 3054 by torben, Mon Jun 27 11:53:04 2016 UTC revision 3125 by torben, Wed Oct 19 08:39:31 2016 UTC
# Line 20  uses Line 20  uses
20    IdExplicitTLSClientServerBase, IdFTP, IdException,    IdExplicitTLSClientServerBase, IdFTP, IdException,
21    ShellApi, ClipBrd, Buttons, wininet,    ShellApi, ClipBrd, Buttons, wininet,
22    UITypes,    UITypes,
23    PakkeshopLabels,    LabelData,
24    Utils,    Utils,
25    ParentForm,    ParentForm,
26    LabelPrint,    LabelPrint,
27    Configuration,    Configuration,
28    Vcl.Imaging.pngimage,    Vcl.Imaging.pngimage,
29    Generics.Collections    Generics.Collections,
30      TimingHelper
31    
32    ;    ;
33    
# Line 56  type Line 57  type
57      radioStorPakke: TRadioButton;      radioStorPakke: TRadioButton;
58      radioLillePakke: TRadioButton;      radioLillePakke: TRadioButton;
59      N4: TMenuItem;      N4: TMenuItem;
60      Storepakker1: TMenuItem;      menuStorePakker: TMenuItem;
61      Smpakker1: TMenuItem;      menuSmaaPakker: TMenuItem;
62      Panel1: TPanel;      Panel1: TPanel;
63      Testlyd2: TMenuItem;      Testlyd2: TMenuItem;
64      Button1: TButton;      Button1: TButton;
# Line 85  type Line 86  type
86      Timer1: TTimer;      Timer1: TTimer;
87      chkScanTjekkode: TCheckBox;      chkScanTjekkode: TCheckBox;
88      Scanogstjekkoden1: TMenuItem;      Scanogstjekkoden1: TMenuItem;
89      Automatisktjekkodestyring1: TMenuItem;      menuAutomatiskTjekkodeStyring: TMenuItem;
90      menuAutomatiskvalg1: TMenuItem;      menuAutomatiskvalg1: TMenuItem;
91      PanelValgA: TPanel;      PanelValgA: TPanel;
92      PanelValg1: TPanel;      PanelValg1: TPanel;
# Line 107  type Line 108  type
108      chkForstorTilDirekte: TCheckBox;      chkForstorTilDirekte: TCheckBox;
109      chkEmballageRepareret: TCheckBox;      chkEmballageRepareret: TCheckBox;
110      KommentarST: TLabel;      KommentarST: TLabel;
111        chkUdenforSpecifikation: TCheckBox;
112    
113    
114    
# Line 136  type Line 138  type
138    procedure Sprgefterboghandlernummer1Click(Sender: TObject);    procedure Sprgefterboghandlernummer1Click(Sender: TObject);
139    procedure menuNatxpressReturDAO1Click(Sender: TObject);    procedure menuNatxpressReturDAO1Click(Sender: TObject);
140    procedure menuNatxpressReturfraKunde1Click(Sender: TObject);    procedure menuNatxpressReturfraKunde1Click(Sender: TObject);
141    procedure Storepakker1Click(Sender: TObject);    procedure menuStorePakkerClick(Sender: TObject);
142    procedure Smpakker1Click(Sender: TObject);    procedure menuSmaaPakkerClick(Sender: TObject);
143    procedure Testlyd1Click(Sender: TObject);    procedure Testlyd1Click(Sender: TObject);
144    procedure Testlyd2Click(Sender: TObject);    procedure Testlyd2Click(Sender: TObject);
145    procedure Button1Click(Sender: TObject);    procedure Button1Click(Sender: TObject);
# Line 173  type Line 175  type
175    procedure Timer1Timer(Sender: TObject);    procedure Timer1Timer(Sender: TObject);
176    procedure Scanogstjekkoden1Click(Sender: TObject);    procedure Scanogstjekkoden1Click(Sender: TObject);
177    procedure chkScanTjekkodeClick(Sender: TObject);    procedure chkScanTjekkodeClick(Sender: TObject);
178    procedure Automatisktjekkodestyring1Click(Sender: TObject);    procedure menuAutomatiskTjekkodeStyringClick(Sender: TObject);
179    procedure SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);    procedure SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);
180    procedure menuAutomatiskvalg1Click(Sender: TObject);    procedure menuAutomatiskvalg1Click(Sender: TObject);
181    procedure PanelValgAClick(Sender: TObject);    procedure PanelValgAClick(Sender: TObject);
# Line 200  type Line 202  type
202    procedure LogMessage( msg : string);    procedure LogMessage( msg : string);
203    procedure SetPrinterstatusText( txt: string; alert: boolean);    procedure SetPrinterstatusText( txt: string; alert: boolean);
204    function GetFormObject() : TForm;    function GetFormObject() : TForm;
205      function GetXMLDocument() : TXMLDocument;
206        procedure chkEmballageRepareretClick(Sender: TObject);
207        procedure chkUdenforSpecifikationClick(Sender: TObject);
208    
209    
210    
# Line 209  type Line 214  type
214      SkrivLog : String;      SkrivLog : String;
215      Sted : String;      Sted : String;
216      StedNavn : String;      StedNavn : String;
     Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering,  
             UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,  
             UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel, URLOmdirigerTilPakkeshop : String;  
217    
218      UrlEKLoverforselPakkeshop : String;      Scanningtype,  Pakketype : String;
219    
     UrlFindPakketype, UrlSendPrograminfo: String;  
     Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;  
     ScanTjekkode : String;  
     ScanTjekkodeAutomatik : string;  
220    
221      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop,      Url : String;
           FarveIndlevering : String;  
222    
223      Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop,      Farve : String;
           TitelIndlevering : String;  
224    
225      AlarmLyd : String;      Titel : String;
     ScannetOkLyd : String;  
     ScannetOkStorLyd : String;  
226    
     ScannetOkTilTjekkodeLyd : String;  
227    
     PrinterNavn : String;  
     TjekPrinter : String;  
228    
229      Org_RuteNummerST, Org_BoghandlerNavnST, Org_KommentarST : String;      Org_RuteNummerST, Org_BoghandlerNavnST, Org_KommentarST : String;
230      BladhusSted : Integer;      BladhusSted : Integer;
# Line 246  type Line 237  type
237      logTekst : string;      logTekst : string;
238      PakkeshopStregkode, PakkeshopTjekkode : String;      PakkeshopStregkode, PakkeshopTjekkode : String;
239      BoghandlerStregkode, BoghandlerTjekkode : String;      BoghandlerStregkode, BoghandlerTjekkode : String;
240      TjekUrls : String;  
241      Config : TConfiguration;      Config : TConfiguration;
242    
243    
# Line 256  type Line 247  type
247    
248      procedure HentPakkeInfoFraServer(const Sted, PakkeNr : String; var RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel: Boolean; BoghandlerNummer : String = '');      procedure HentPakkeInfoFraServer(const Sted, PakkeNr : String; var RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel: Boolean; BoghandlerNummer : String = '');
249      procedure CheckCode();      procedure CheckCode();
250      procedure IndlesManglendeScanninger();      procedure IndlesManglendeScanningerAntal();
251        procedure IndlesManglendeScanningerListe();
252      procedure IndlesRuteskiftFil(var filnavn : string);      procedure IndlesRuteskiftFil(var filnavn : string);
253      procedure IndlesKontrolFil(var filnavn : string);      procedure IndlesKontrolFil(var filnavn : string);
254      procedure IndlesScanningLogFil();      procedure IndlesScanningLogFil();
255      procedure SkrivScanningLogFil(var tekst : string);      procedure SkrivScanningLogFil(var tekst : string);
256      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;
257      procedure VisAlarmSkaerm(strMessage: string);      procedure VisAlarmSkaerm(strMessage: string);
258      function InjectURL(Url : String) : String;  
259    
260    public    public
261      { Public declarations }      { Public declarations }
# Line 417  begin Line 409  begin
409    
410      if (Scanningtype = '1') or (Scanningtype = '5') then      if (Scanningtype = '1') or (Scanningtype = '5') then
411      begin      begin
412        if (ScanTjekkode = '1') then        if (Config.ScanTjekkode = '1') then
413        begin        begin
414          chkScanTjekkode.Checked := true;          chkScanTjekkode.Checked := true;
415          chkScanTjekkode.Enabled := true;          chkScanTjekkode.Enabled := true;
# Line 431  begin Line 423  begin
423        end;        end;
424      end;      end;
425    
426      if Automatisktjekkodestyring1.Checked then      if menuAutomatiskTjekkodeStyring.Checked then
427      begin      begin
428        chkScanTjekkode.Enabled := false;        chkScanTjekkode.Enabled := false;
429        Scanogstjekkoden1.Enabled := false;        Scanogstjekkoden1.Enabled := false;
# Line 489  begin Line 481  begin
481    StregkodeST.Caption := Stregkode;    StregkodeST.Caption := Stregkode;
482  end;  end;
483    
484  procedure TMainForm.Automatisktjekkodestyring1Click(Sender: TObject);  procedure TMainForm.menuAutomatiskTjekkodeStyringClick(Sender: TObject);
485  begin  begin
486    if Automatisktjekkodestyring1.Checked then    if menuAutomatiskTjekkodeStyring.Checked then
487    begin    begin
488       chkScanTjekkode.Enabled := false;       chkScanTjekkode.Enabled := false;
489       Scanogstjekkoden1.Enabled := false;       Scanogstjekkoden1.Enabled := false;
# Line 513  begin Line 505  begin
505       PanelValgA.Font.Color := clWhite;       PanelValgA.Font.Color := clWhite;
506  end;  end;
507    
 function TMainForm.InjectURL(Url : String) : String;  
 begin  
   
   Url := Url + '&ver=' + TUtils.URLEncode( TUtils.Sto_GetFmtFileVersion(''));  
   Url := Url + '&host=' + TUtils.URLEncode( TUtils.GetComputerNameHelper());  
   Url := Url + '&user=' + TUtils.URLEncode( TUtils.GetCurrentUserName());  
508    
   Result := Url;  
 end;  
509    
510  //InitForm kaldes før FormCreate  //InitForm kaldes før FormCreate
511  procedure TMainForm.FormCreate(Sender: TObject);  procedure TMainForm.FormCreate(Sender: TObject);
# Line 558  begin Line 542  begin
542    
543  // Sætter lige en default panel størrelse  // Sætter lige en default panel størrelse
544    MainForm.ClientWidth := 1000;    MainForm.ClientWidth := 1000;
545    MainForm.ClientHeight := 750;    MainForm.ClientHeight := 920;
546    
547    Config := TConfiguration.Create();    Config := TConfiguration.Create();
548    Config.ReadFromInifile( TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) );    //ToDo: clean up duplicate ini ref    Config.ReadFromInifile( TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) );    //ToDo: clean up duplicate ini ref
# Line 573  begin Line 557  begin
557      Sted := ReadString('Settings','Sted','');      Sted := ReadString('Settings','Sted','');
558      StedNavn := ReadString('Settings','Stednavn','');      StedNavn := ReadString('Settings','Stednavn','');
559    
560      UrlFindPakketype := ReadString('Settings','UrlFindPakketype','http://omdeling.info/webservices/bogpakkekontrol/FindPakketype.php?stregkode=%s');      Scanningtype := 'A'; //hardcoded
561      UrlFindPakketype := InjectURL(UrlFindPakketype);      Pakketype := '0';
   
     UrlSendPrograminfo := ReadString('Settings','UrlSendPrograminfo','http://omdeling.info/webservices/bogpakkekontrol/SendPrograminfo.php?programnavn=%s&sted=%s&scanningtype=%s&infotype=%s&info=%s');  
     UrlSendPrograminfo := InjectURL(UrlSendPrograminfo);  
   
     UrlNormal := ReadString('Settings','UrlNormal','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&tjekkode=%s');  
     UrlNormal := InjectURL(UrlNormal);  
   
     UrlReturDAO := ReadString('Settings','UrlReturDAO','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');  
     UrlReturDAO := InjectURL(UrlReturDAO);  
   
     UrlReturBoghandler := ReadString('Settings','UrlReturBoghandler','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');  
     UrlReturBoghandler := InjectURL(UrlReturBoghandler);  
   
     UrlBudlevering := ReadString('Settings','UrlBudlevering','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&leveringstype=%s&pakkestorrelse=%s');  
     UrlBudlevering := InjectURL(UrlBudlevering);  
   
     UrlManglendeScanninger := ReadString('Settings','UrlManglendeScanninger','http://omdeling.info/webservices/bogpakkekontrol/bogpakkemanglendescanninger.php?sted=%s&type=%s');  
     UrlManglendeScanninger := InjectURL(UrlManglendeScanninger);  
   
     UrlEKLoverforsel := ReadString('Settings','UrlEKLoverforsel','http://omdeling.info/webservices/bogpakkekontrol/bogpakkertilekl.php?sted=%s');  
     UrlEKLoverforsel := InjectURL(UrlEKLoverforsel);  
   
     UrlEKLoverforselPakkeshop := ReadString('Settings','UrlEKLoverforselPakkeshop','http://omdeling.info/webservices/pakkeshop/pakkertilekl.php?sted=%s');  
     UrlEKLoverforselPakkeshop := InjectURL(UrlEKLoverforselPakkeshop);  
   
     UrlPakkeshoplevering := ReadString('Settings','UrlPakkeshoplevering','http://omdeling.info/webservices/pakkeshop/pakkekontrol.php?sted=%s&stregkode=%s&tjekkode=%s');  
     UrlPakkeshoplevering := InjectURL(UrlPakkeshoplevering);  
   
     UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s');  
     UrlReturPakkeshop := InjectURL(UrlReturPakkeshop);  
562    
     UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');  
     UrlPakkeshopManglendeScanninger := InjectURL(UrlPakkeshopManglendeScanninger);  
563    
     UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');  
     UrlPakkeshopManglendeReturScanninger := InjectURL(UrlPakkeshopManglendeReturScanninger);  
564    
     UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');  
     UrlIndleveringsPakke := InjectURL(UrlIndleveringsPakke);  
565    
     UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');  
     UrlIndleveringsPakkeManglendeScanninger := InjectURL(UrlIndleveringsPakkeManglendeScanninger);  
   
     URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');  
     URLOmdirigerTilPakkeshop := InjectURL(URLOmdirigerTilPakkeshop);  
   
   
   
     FarveNormal := ReadString('Settings','FarveNormal','D8D8D8');  
     TitelNormal := ReadString('Settings','TitelNormal','Modtagelse af DAO NAT X-PRESS pakker');  
     FarveReturDAO := ReadString('Settings','FarveReturDAO','A9F5A9');  
     TitelReturDAO := ReadString('Settings','TitelReturDAO','Returforsendelse fra DAO');  
     FarveReturBoghandler := ReadString('Settings','FarveReturBoghandler','F2F5A9');  
     TitelReturBoghandler := ReadString('Settings','TitelReturBoghandler','Returforsendelse fra boghandler');  
     FarveBudlevering := ReadString('Settings','FarveBudlevering','2E9AFE');  
     TitelBudlevering := ReadString('Settings','TitelBudlevering','Modtagelse af DAO DIREKTE pakker');  
     FarvePakkeshoplevering := ReadString('Settings','FarvePakkeshoplevering','99FFFF');  
     TitelPakkeshoplevering := ReadString('Settings','TitelPakkeshoplevering','Modtagelse af DAO PAKKESHOP pakker');  
   
     FarveReturPakkeshop := ReadString('Settings','FarveReturPakkeshop','99FFCC');  
     TitelReturPakkeshop := ReadString('Settings','TitelReturPakkeshop','Returforsendelse fra pakkeshop');  
   
     FarveIndlevering := ReadString('Settings', 'FarveIndlevering', 'E5B2CB');  
     TitelIndlevering := ReadString('Settings', 'TitelIndlevering', 'Indleveringskode');  
   
   
     SporgEfterBoghandler := ReadString('Settings','SporgEfterBoghandler','0');  
     ScanTjekkode := ReadString('Settings','ScanTjekkode','0');  
     ScanTjekkodeAutomatik := ReadString('Settings','ScanTjekkodeAutomatik','1');  
     Scanningtype := ReadString('Settings','Scanningtype','A');  
     Pakketype := ReadString('Settings','Pakketype','0');  
     TestFunktionen := ReadString('Settings','TestFunktion','0');  
     AlarmLyd := ReadString('Settings','AlarmLyd','Sounds\Alarm.wav');  
     ScannetOkLyd := ReadString('Settings','ScannetOkLyd','Sounds\Ok.wav');  
     ScannetOkStorLyd := ReadString('Settings','ScannetOkStorLyd','Sounds\Ok_stor.wav');  
   
     ScannetOkTilTjekkodeLyd := ReadString('Settings','ScannetOkTilTjekkodeLyd','Sounds\Ok_til_tjekkode.wav');  
   
     PrinterNavn := ReadString('Settings','PrinterNavn','');  
     TjekPrinter := ReadString('Settings','TjekPrinter','1');  
     TjekUrls := ReadString('Settings','TjekUrls','2');  
566    
567      if (SkrivLog = '1') then      if (SkrivLog = '1') then
568      begin      begin
# Line 683  begin Line 590  begin
590    
591    
592    
593      if SporgEfterBoghandler = '1' then      if Config.SporgEfterBoghandler = '1' then
594      begin      begin
595        chkSporgEfterKunde.Checked := true;        chkSporgEfterKunde.Checked := true;
596        Sprgefterboghandlernummer1.Checked := true;        Sprgefterboghandlernummer1.Checked := true;
# Line 694  begin Line 601  begin
601        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
602      end;      end;
603    
604      if ScanTjekkode = '1' then      if Config.ScanTjekkode = '1' then
605      begin      begin
606        chkScanTjekkode.Checked := true;        chkScanTjekkode.Checked := true;
607        Scanogstjekkoden1.Checked := true;        Scanogstjekkoden1.Checked := true;
# Line 705  begin Line 612  begin
612        Scanogstjekkoden1.Checked := false;        Scanogstjekkoden1.Checked := false;
613      end;      end;
614    
615      if ScanTjekkodeAutomatik = '1' then      if Config.ScanTjekkodeAutomatik = '1' then
616      begin      begin
617        Automatisktjekkodestyring1.Checked := true;        menuAutomatiskTjekkodeStyring.Checked := true;
618        chkScanTjekkode.Enabled := false;        chkScanTjekkode.Enabled := false;
619        Scanogstjekkoden1.Enabled := false;        Scanogstjekkoden1.Enabled := false;
620      end;      end;
# Line 841  begin Line 748  begin
748    
749      if SpecialVersionSted = 'DBK' then      if SpecialVersionSted = 'DBK' then
750      begin      begin
       //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil  
751        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
       // her skal vi også disable de knapper DBK ikke kan bruge  
       PanelValg2.Enabled := false;  
       PanelValg2.Font.Color := clInactiveCaption;  
       PanelValg3.Enabled := false;  
       PanelValg3.Font.Color := clInactiveCaption;  
       PanelValg5.Enabled := false;  
       PanelValg5.Font.Color := clInactiveCaption;  
       PanelValg6.Enabled := false;  
       PanelValg6.Font.Color := clInactiveCaption;  
   
   
      // her skal vi også disable de menupunkter DBK ikke kan bruge  
       menuNatxpressReturDAO1.Enabled := false;  
       menuNatxpressReturfraKunde1.Enabled := false;  
   
       menuPakkeshop1.Enabled := false;  
       menuPakkeshopRetur1.Enabled := false;  
   
       if SpecialVersionScanningtype = 'A' then  
       begin  
          Scanningtype := '1';  
       end  
       else  
       begin  
         Scanningtype := SpecialVersionScanningtype;  
       end;  
752      end;      end;
753    
754      if (SpecialVersionSted = '01')      if (SpecialVersionSted = '01')
# Line 977  begin Line 857  begin
857          Application.Terminate;          Application.Terminate;
858      end;      end;
859    
860      if TjekUrls = '1' then    // Tjekker urls      if Config.TjekUrls = '1' then    // Tjekker urls
861      begin      begin
862          TjekkerUrls();          TjekkerUrls();
863          if TjekUrls = '-' then  // så var der fejl i url - så vi stopper her          if Config.TjekUrls = '-' then  // så var der fejl i url - så vi stopper her
864          begin          begin
865             PlaySound(PWideChar(AlarmLyd));             PlaySound(PWideChar(Config.AlarmLyd));
866             MainForm.Color := clRed;             MainForm.Color := clRed;
867             RutenummerST.Caption := '';             RutenummerST.Caption := '';
868             BoghandlerNavnST.Caption := 'Fejl i urls';             BoghandlerNavnST.Caption := 'Fejl i urls';
# Line 1029  begin Line 909  begin
909    
910      if Pakketype = '1' then      if Pakketype = '1' then
911      begin      begin
912        Storepakker1.Checked := true;        menuStorePakker.Checked := true;
913        radioStorPakke.Checked := true;        radioStorPakke.Checked := true;
914      end      end
915      else      else
916      begin      begin
917        Smpakker1.Checked := true;        menuSmaaPakker.Checked := true;
918        radioLillePakke.Checked := true;        radioLillePakke.Checked := true;
919      end;      end;
920    
921      if TestFunktionen = '1' then      if Config.TestFunktionen = '1' then
922      begin      begin
923        Testforbindelsen1.Visible := true;        Testforbindelsen1.Visible := true;
924        Testprinter1.Visible := true;        Testprinter1.Visible := true;
925        Testlyd1.Visible := true;        Testlyd1.Visible := true;
926        Testlyd2.Visible := true;        Testlyd2.Visible := true;
927      end      end
928      else if TestFunktionen = '2' then      else if Config.TestFunktionen = '2' then
929      begin      begin
930        Testforbindelsen1.Enabled := false;        Testforbindelsen1.Enabled := false;
931        Testprinter1.Enabled := false;        Testprinter1.Enabled := false;
# Line 1060  begin Line 940  begin
940        Testlyd2.Visible := false;        Testlyd2.Visible := false;
941      end;      end;
942    
     if not FileExists(AlarmLyd) then  
     begin  
       AlarmLyd := '';  
     end;  
   
     if not FileExists(ScannetOkLyd) then  
     begin  
       ScannetOkLyd := '';  
     end;  
   
     if not FileExists(ScannetOkStorLyd) then  
     begin  
       ScannetOkStorLyd := '';  
     end;  
   
   
     if not FileExists(ScannetOkTilTjekkodeLyd) then  
     begin  
       ScannetOkTilTjekkodeLyd := '';  
     end;  
943    
944    
945    
946    
947      LabelPrint := TLabelPrint.Create( self, Config, PrinterNavn );      LabelPrint := TLabelPrint.Create( self, Config, Config.PrinterNavn );
948      LabelPrint.CheckPrintQue('Opstart', PrinterNavn);      LabelPrint.CheckPrintQue('Opstart', Config.PrinterNavn);
949    
950    finally    finally
951      Free;      Free;
# Line 1097  begin Line 957  begin
957        menuNatxpressReturDAO1.Visible := false;        menuNatxpressReturDAO1.Visible := false;
958        menuNatxpressReturfraKunde1.Visible := false;        menuNatxpressReturfraKunde1.Visible := false;
959        menuDaoDirekte1.Visible := false;        menuDaoDirekte1.Visible := false;
960        Storepakker1.Visible := false;        menuStorePakker.Visible := false;
961        Smpakker1.Visible := false;        menuSmaaPakker.Visible := false;
962        Testprinter1.Visible := false;        Testprinter1.Visible := false;
963        menuPakkeshop1.Visible := false;        menuPakkeshop1.Visible := false;
964        menuPakkeshopRetur1.Visible := false;        menuPakkeshopRetur1.Visible := false;
# Line 1113  begin Line 973  begin
973      // Opbygger PanelManglendePakker information      // Opbygger PanelManglendePakker information
974      gemScanningtype := Scanningtype;      gemScanningtype := Scanningtype;
975    
976      if PanelValg6.Enabled then      IndlesManglendeScanningerAntal();
     begin  
        Scanningtype := '6';  
        IndlesManglendeScanninger();  
     end;  
   
     if PanelValg5.Enabled then  
     begin  
        Scanningtype := '5';  
        IndlesManglendeScanninger();  
     end;  
   
     if PanelValg4.Enabled then  
     begin  
        Scanningtype := '4';  
        IndlesManglendeScanninger();  
     end;  
   
     if PanelValg3.Enabled then  
     begin  
        Scanningtype := '3';  
        IndlesManglendeScanninger();  
     end;  
   
     if PanelValg2.Enabled then  
     begin  
        Scanningtype := '2';  
        IndlesManglendeScanninger();  
     end;  
977    
978      if PanelValg1.Enabled then  //    if PanelValg6.Enabled then
979      begin  //    begin
980         Scanningtype := '1';  //       Scanningtype := '6';
981         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
982      end;  //    end;
983    //
984    //    if PanelValg5.Enabled then
985    //    begin
986    //       Scanningtype := '5';
987    //       IndlesManglendeScanningerAntal();
988    //    end;
989    //
990    //    if PanelValg4.Enabled then
991    //    begin
992    //       Scanningtype := '4';
993    //       IndlesManglendeScanningerAntal();
994    //    end;
995    //
996    //    if PanelValg3.Enabled then
997    //    begin
998    //       Scanningtype := '3';
999    //       IndlesManglendeScanningerAntal();
1000    //    end;
1001    //
1002    //    if PanelValg2.Enabled then
1003    //    begin
1004    //       Scanningtype := '2';
1005    //       IndlesManglendeScanningerAntal();
1006    //    end;
1007    //
1008    //    if PanelValg1.Enabled then
1009    //    begin
1010    //       Scanningtype := '1';
1011    //       IndlesManglendeScanningerAntal();
1012    //    end;
1013    
1014      Scanningtype := gemScanningtype;      Scanningtype := gemScanningtype;
1015    
# Line 1450  begin Line 1312  begin
1312      if (Length(Stregkode) > 8) then      if (Length(Stregkode) > 8) then
1313      begin      begin
1314        // Her skal vi så forespørge pakketype på serveren udfra stregkode feltet        // Her skal vi så forespørge pakketype på serveren udfra stregkode feltet
1315        URLStr := Format(UrlFindPakketype,[Stregkode]);        URLStr := Format(Config.UrlFindPakketype,[Stregkode]);
1316        try        try
1317          //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST          //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
1318          WebSvar := IdHTTP1.Get(URLStr);          WebSvar := IdHTTP1.Get(URLStr);
# Line 1573  begin Line 1435  begin
1435        end;        end;
1436      end;      end;
1437    
1438        // EmballageRepareret skal bare sætte reklamationkoden,
1439        // og så ellers fortsætte med scanning som normalt
1440        if (chkEmballageRepareret.Checked = True) then
1441        begin
1442          URLStr := Format(Config.UrlEmballageRepareret,[Sted,Stregkode]);
1443          WebSvar := IdHTTP1.Get(URLStr);
1444    
1445          chkEmballageRepareret.Checked := False;
1446        end;
1447    
1448        if (chkUdenforSpecifikation.Checked = True) then
1449        begin
1450          URLStr := Format(Config.URLUdenforSpecifikation,[Sted,Stregkode]);
1451          //InputBox( '1', '1', URLStr);
1452    
1453          WebSvar := IdHTTP1.Get(URLStr);
1454          //InputBox( '2', '2', WebSvar );
1455    
1456          chkUdenforSpecifikation.Checked := False;
1457          LabelPrint.PrintLabel(Stregkode);
1458    
1459          StregkodeST.Caption := '';
1460          Stregkode := '';
1461    
1462          RuteNummerST.Caption := '';
1463          BoghandlerNavnST.Caption := '';
1464          KommentarST.Caption := 'Retur til leverandør';
1465    
1466    
1467    
1468    
1469          exit;   //leave procedure
1470        end;
1471    
1472    
1473    
1474    
1475      if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and Automatisktjekkodestyring1.Checked then      if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and menuAutomatiskTjekkodeStyring.Checked then
1476      begin      begin
1477        chkScanTjekkode.Checked := false;        chkScanTjekkode.Checked := false;
1478        for i := 0 to length(stregkoderMedTjekkodeArray)-1 do        for i := 0 to length(stregkoderMedTjekkodeArray)-1 do
# Line 1619  begin Line 1516  begin
1516              BoghandlerStregkode := Stregkode;              BoghandlerStregkode := Stregkode;
1517              PakkeshopText1.Caption := 'Tjekkode';              PakkeshopText1.Caption := 'Tjekkode';
1518    
1519              PlaySound(PWideChar(ScannetOkTilTjekkodeLyd));              PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd));
1520    
1521             end             end
1522            else            else
# Line 1637  begin Line 1534  begin
1534             BoghandlerTjekkode := Stregkode;             BoghandlerTjekkode := Stregkode;
1535             PakkeshopText1.Caption := 'Stregkode';             PakkeshopText1.Caption := 'Stregkode';
1536             if (menuPakkeshop1.Checked) then             if (menuPakkeshop1.Checked) then
1537                MainForm.Color := TUtils.HexToTColor(FarvePakkeshoplevering);                MainForm.Color := TUtils.HexToTColor(Config.FarvePakkeshoplevering);
1538             if (menuNatXpress1.Checked) then             if (menuNatXpress1.Checked) then
1539                MainForm.Color := TUtils.HexToTColor(FarveNormal);                MainForm.Color := TUtils.HexToTColor(Config.FarveNormal);
1540             btnNulstil.Visible := false;             btnNulstil.Visible := false;
1541           end           end
1542          else          else
# Line 1693  begin Line 1590  begin
1590              tjekkodemangler := pos('Tjekkode mangler', Kommentar);              tjekkodemangler := pos('Tjekkode mangler', Kommentar);
1591              if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then              if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then
1592              begin              begin
1593                PlaySound(PWideChar(AlarmLyd));                PlaySound(PWideChar(Config.AlarmLyd));
1594                btnNulstil.Visible := true;                btnNulstil.Visible := true;
1595                MainForm.Color := clRed;                MainForm.Color := clRed;
1596              end;              end;
# Line 1701  begin Line 1598  begin
1598            if ( menuNatXpress1.Checked and (pakkeErScannet = 0) and (pakkeForkertSted = 0) and (tjekkodemangler = 0) and (RuteNummerST.Caption <> 'Ukendt') ) or (Copy(Kommentar,1,2) = 'Ok') then            if ( menuNatXpress1.Checked and (pakkeErScannet = 0) and (pakkeForkertSted = 0) and (tjekkodemangler = 0) and (RuteNummerST.Caption <> 'Ukendt') ) or (Copy(Kommentar,1,2) = 'Ok') then
1599            begin            begin
1600              MainForm.Color := TUtils.HexToTColor(Farve);              MainForm.Color := TUtils.HexToTColor(Farve);
1601              if Storepakker1.Checked then              if menuStorePakker.Checked then
1602              begin              begin
1603                PlaySound(PWideChar(ScannetOkStorLyd));                PlaySound(PWideChar(Config.ScannetOkStorLyd));
1604              end              end
1605              else              else
1606              begin              begin
1607                PlaySound(PWideChar(ScannetOkLyd));                PlaySound(PWideChar(Config.ScannetOkLyd));
1608              end;              end;
1609              btnNulstil.Visible := false;              btnNulstil.Visible := false;
1610            end            end
1611            else if (menuNatxpressReturDAO1.Checked or menuNatxpressReturfraKunde1.Checked) then            else if (menuNatxpressReturDAO1.Checked or menuNatxpressReturfraKunde1.Checked) then
1612            begin            begin
1613              MainForm.Color := TUtils.HexToTColor(Farve);              MainForm.Color := TUtils.HexToTColor(Farve);
1614              if Storepakker1.Checked then              if menuStorePakker.Checked then
1615              begin              begin
1616                PlaySound(PWideChar(ScannetOkStorLyd));                PlaySound(PWideChar(Config.ScannetOkStorLyd));
1617              end              end
1618              else              else
1619              begin              begin
1620                PlaySound(PWideChar(ScannetOkLyd));                PlaySound(PWideChar(Config.ScannetOkLyd));
1621              end;              end;
1622              btnNulstil.Visible := false;              btnNulstil.Visible := false;
1623            end            end
# Line 1741  begin Line 1638  begin
1638    
1639              If (menuDaoDirekte1.Checked) then              If (menuDaoDirekte1.Checked) then
1640              begin              begin
1641                if Storepakker1.Checked then                if menuStorePakker.Checked then
1642                begin                begin
1643                  PlaySound(PWideChar(ScannetOkStorLyd));                  PlaySound(PWideChar(Config.ScannetOkStorLyd));
1644                end                end
1645                else                else
1646                begin                begin
1647                  PlaySound(PWideChar(ScannetOkLyd));                  PlaySound(PWideChar(Config.ScannetOkLyd));
1648                end;                end;
1649                InitLillePakke();                InitLillePakke();
1650              end;              end;
# Line 1801  var Line 1698  var
1698    WebSvar : String;    WebSvar : String;
1699    URLStr : String;    URLStr : String;
1700  begin  begin
1701    if UrlSendPrograminfo <> '' then    if Config.UrlSendPrograminfo <> '' then
1702    begin    begin
1703      URLStr := Format(UrlSendPrograminfo,[ExtractFileName(ParamStr(0)), Sted, Scanningtype, Infotype, Info]);      URLStr := Format(Config.UrlSendPrograminfo,[ExtractFileName(ParamStr(0)), Sted, Scanningtype, Infotype, Info]);
1704      try      try
1705        //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST        //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
1706        WebSvar := IdHTTP1.Get(URLStr);        WebSvar := IdHTTP1.Get(URLStr);
# Line 1816  begin Line 1713  begin
1713        ShowMessage(logTekst);        ShowMessage(logTekst);
1714        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
1715        // Vi nulstiller lige url feltet så rutinen ikke kaldes igen i forbindelse med lukning af programmet        // Vi nulstiller lige url feltet så rutinen ikke kaldes igen i forbindelse med lukning af programmet
1716        UrlSendPrograminfo := '';        Config.UrlSendPrograminfo := '';
1717        Application.Terminate;        Application.Terminate;
1718      end;      end;
1719      end;      end;
# Line 1840  begin Line 1737  begin
1737        for i := ListBox2.items.count-1 downto 0 do        for i := ListBox2.items.count-1 downto 0 do
1738          if pos(StregKode,ListBox2.items[i]) <> 0 then          if pos(StregKode,ListBox2.items[i]) <> 0 then
1739          begin          begin
1740              wrkAntalSenere := 0;//initial Value
1741    
1742            // Ajourføring af tæller for manglende pakker (scanninger)            // Ajourføring af tæller for manglende pakker (scanninger)
1743            wrkAntal := StaticTextManglendePakker.Caption;            wrkAntal := StaticTextManglendePakker.Caption;
# Line 2010  begin Line 1908  begin
1908              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';
1909              BladhusKontrolfil_lokal := 'RuteKontrol.txt';              BladhusKontrolfil_lokal := 'RuteKontrol.txt';
1910              DownloadBladhusKontrolfil();              DownloadBladhusKontrolfil();
1911              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1912            end;            end;
1913      02 :      02 :
1914            begin;    // BK            begin;    // BK
1915              Testprinter1.Visible := true;              Testprinter1.Visible := true;
1916              Smpakker1.Enabled := true;              menuSmaaPakker.Enabled := true;
1917              Storepakker1.Enabled := true;              menuStorePakker.Enabled := true;
1918              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
1919              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
1920              BtnDownloadKontrolfil.Enabled := false;     // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;     // kontrolfil bruges ikke her
1921              BtnOpdaterListen.Enabled := true;              BtnOpdaterListen.Enabled := true;
1922              IdFTP1.Passive := true;              IdFTP1.Passive := true;
1923              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
1924              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1925            end;            end;
1926      03 :      03 :
1927            begin;          // FD            begin;          // FD
# Line 2049  begin Line 1947  begin
1947              BladhusKontrolfil_server := 'frafd/RuteKontrol.txt';              BladhusKontrolfil_server := 'frafd/RuteKontrol.txt';
1948              BladhusKontrolfil_lokal := 'RuteKontrol.txt';              BladhusKontrolfil_lokal := 'RuteKontrol.txt';
1949              DownloadBladhusKontrolfil();              DownloadBladhusKontrolfil();
1950              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1951            end;            end;
1952      04 :  begin;           // DBK      04 :  begin;           // DBK
1953              Testprinter1.Visible := true;              Testprinter1.Visible := true;
1954              Smpakker1.Enabled := true;              menuSmaaPakker.Enabled := true;
1955              Storepakker1.Enabled := true;              menuStorePakker.Enabled := true;
1956              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
1957              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
1958              BtnDownloadKontrolfil.Enabled := false;    // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;    // kontrolfil bruges ikke her
# Line 2075  var Line 1973  var
1973    pakkestorrelse : String;    pakkestorrelse : String;
1974    PrintNyLabelInteger : Integer;    PrintNyLabelInteger : Integer;
1975    
1976    PakkeshopLabel: TPakkeshopLabel;    PakkeshopLabel: TLabelData;
1977  begin  begin
1978    if radioStorPakke.Checked then    if radioStorPakke.Checked then
1979    begin    begin
# Line 2093  begin Line 1991  begin
1991       begin       begin
1992         BoghandlerTjekkode := '-1';         BoghandlerTjekkode := '-1';
1993       end;       end;
1994       URLStr := Format(UrlNormal,[Sted, PakkeNr, BoghandlerNummer, BoghandlerTjekkode]);       URLStr := Format(Config.UrlNormal,[Sted, PakkeNr, BoghandlerNummer, BoghandlerTjekkode]);
1995    end    end
1996    else if menuNatxpressReturDAO1.Checked then    else if menuNatxpressReturDAO1.Checked then
1997    begin    begin
1998       URLStr := Format(UrlReturDAO,[Sted, PakkeNr, BoghandlerNummer, 'DAO', pakkestorrelse]);       URLStr := Format(Config.UrlReturDAO,[Sted, PakkeNr, BoghandlerNummer, 'DAO', pakkestorrelse]);
1999    end    end
2000    else if menuNatxpressReturfraKunde1.Checked then    else if menuNatxpressReturfraKunde1.Checked then
2001    begin    begin
2002       URLStr := Format(UrlReturBoghandler,[Sted, PakkeNr, BoghandlerNummer, 'Boghandler', pakkestorrelse]);       URLStr := Format(Config.UrlReturBoghandler,[Sted, PakkeNr, BoghandlerNummer, 'Boghandler', pakkestorrelse]);
2003    end    end
2004    else if menuDaoDirekte1.Checked then    else if menuDaoDirekte1.Checked then
2005    begin    begin
2006       URLStr := Format(UrlBudlevering,[Sted, PakkeNr, 'bud', pakkestorrelse]);       URLStr := Format(Config.UrlBudlevering,[Sted, PakkeNr, 'bud', pakkestorrelse]);
2007    end    end
2008    else if menuPakkeshop1.Checked then    else if menuPakkeshop1.Checked then
2009    begin    begin
2010       URLStr := Format(UrlPakkeshoplevering,[Sted, PakkeNr, PakkeshopTjekkode]);       URLStr := Format(Config.UrlPakkeshoplevering,[Sted, PakkeNr, PakkeshopTjekkode]);
2011    end    end
2012    else if menuPakkeshopRetur1.Checked then    else if menuPakkeshopRetur1.Checked then
2013    begin    begin
2014       URLStr := Format(UrlReturPakkeshop,[Sted, PakkeNr]);       URLStr := Format(Config.UrlReturPakkeshop,[Sted, PakkeNr]);
2015    end    end
2016    else if menuIndlevering.Checked then    else if menuIndlevering.Checked then
2017    begin    begin
2018      URLStr := Format(UrlIndleveringsPakke,[Sted, PakkeNr]);      URLStr := Format(Config.UrlIndleveringsPakke,[Sted, PakkeNr]);
2019    end    end
2020    else    else
2021    begin    begin
# Line 2126  begin Line 2024  begin
2024    
2025    if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er    if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er
2026    begin    begin
2027      URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);      URLStr := Format(Config.URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
2028    end;    end;
2029    
2030    try    try
# Line 2184  begin Line 2082  begin
2082       if (Kommentar = 'Ok') then       if (Kommentar = 'Ok') then
2083       begin       begin
2084         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label
2085         PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc         PakkeshopLabel := TLabelData.Create( XMLDocument1 ); //Opret struct og parse xml doc
2086         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;
2087         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2088    
2089         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintLabel(PakkeshopLabel.Stregkode);
2090         chkForstorTilDirekte.Checked := false;  
2091    //       LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel );
2092    //       chkForstorTilDirekte.Checked := false;
2093    
2094       end;       end;
2095    
# Line 2233  begin Line 2133  begin
2133      begin      begin
2134        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then
2135        begin        begin
2136            Kommentar := Kommentar + ' Pakke burde være hos DAO Distribution';            Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2137            PrintNyLabel := False;            //PrintNyLabel := False; //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel
2138        end;        end;
2139      end      end
2140      else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) then      else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then
2141      begin      begin
2142         if (Leveringssted = 'E') and (Sted = 'DBK') then        Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2143         begin        //PrintNyLabel := False;  //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel
           // Det er ok at DBK scanner pakker til E     (Schenker)  
        end  
        else  
        begin  
           Kommentar := Kommentar + ' Pakke burde være hos DAO Distribution';  
           PrintNyLabel := False;  
        end;  
2144      end;      end;
2145    except on e:exception do    except on e:exception do
2146      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
# Line 2348  pakkeForkertSted : Integer; Line 2241  pakkeForkertSted : Integer;
2241    kontrolKoreliste : string;    kontrolKoreliste : string;
2242    nytRuteNummer, nyFarve : String;    nytRuteNummer, nyFarve : String;
2243  begin  begin
2244    //  if (PrintNyLabel = True OR chkAltidPrintLabel.Checked = True) then
2245    //  begin
2246    //    LabelPrint.PrintLabel( Stregkode );
2247    //  end;
2248    //
2249    //  exit;
2250    
2251    if menuDaoDirekte1.Checked then    if menuDaoDirekte1.Checked then
2252       RuteNummerST.Color := TUtils.HexToTColor(Farve);       RuteNummerST.Color := TUtils.HexToTColor(Farve);
2253    
# Line 2392  begin Line 2292  begin
2292       begin       begin
2293          PrintNyLabel := false;          PrintNyLabel := false;
2294    
2295          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
2296          MainForm.Color := clRed;          MainForm.Color := clRed;
2297          btnNulstil.Visible := true;          btnNulstil.Visible := true;
2298    
# Line 2412  begin Line 2312  begin
2312            logTekst := RightStr(List1Msg, Length(List1Msg)-10);            logTekst := RightStr(List1Msg, Length(List1Msg)-10);
2313            SkrivScanningLogFil(logTekst);            SkrivScanningLogFil(logTekst);
2314    
2315            if (PrinterNavn = 'Ingen') then  //          if (Config.PrinterNavn = 'Ingen') then
2316            begin  //          begin
2317               PrintNyLabel := false;  //             PrintNyLabel := false;
2318            end;  //          end;
2319    
2320            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm
2321            begin            begin
2322              PlaySound(PWideChar(AlarmLyd));              PlaySound(PWideChar(Config.AlarmLyd));
2323              MainForm.Color := clRed;              MainForm.Color := clRed;
2324              btnNulstil.Visible := true;              btnNulstil.Visible := true;
2325            end;            end;
# Line 2445  begin Line 2345  begin
2345    
2346            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm
2347            begin            begin
2348              PlaySound(PWideChar(AlarmLyd));              PlaySound(PWideChar(Config.AlarmLyd));
2349              MainForm.Color := clRed;              MainForm.Color := clRed;
2350              btnNulstil.Visible := true;              btnNulstil.Visible := true;
2351            end;            end;
# Line 2467  begin Line 2367  begin
2367               if PrintNyLabel or (RuteNummer = 'Rutenr') then               if PrintNyLabel or (RuteNummer = 'Rutenr') then
2368  // 20150304: slut  // 20150304: slut
2369                begin                begin
2370                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2371                    LabelPrint.PrintLabel( Stregkode );
2372                end;                end;
2373              end;              end;
2374        01 :  begin;        01 :  begin;
# Line 2475  begin Line 2376  begin
2376                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
2377                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
2378                begin                begin
2379                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2380                    LabelPrint.PrintLabel( Stregkode );
2381                end;                end;
2382              end;              end;
2383        02 :  begin;        02 :  begin;
2384                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
2385                begin                begin
2386                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2387                    LabelPrint.PrintLabel( Stregkode );
2388                end;                end;
2389              end;              end;
2390        03 :  begin;        03 :  begin;
# Line 2489  begin Line 2392  begin
2392                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
2393                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
2394               begin               begin
2395                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2396                    LabelPrint.PrintLabel( Stregkode );
2397               end;               end;
2398              end;              end;
2399        04 :  begin;        04 :  begin;
2400                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
2401                begin                begin
2402                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2403                    LabelPrint.PrintLabel( Stregkode );
2404                end;                end;
2405              end;              end;
2406        else        else
# Line 2514  begin Line 2419  begin
2419    end    end
2420    else    else
2421    begin    begin
2422      if ( (PrinterNavn <> 'Ingen') and (PrintNyLabel or chkAltidPrintLabel.Checked) and (RuteNummer <> 'Ukendt') or (RuteNummer = 'Rutenr')) then      if ( (Config.PrinterNavn <> 'Ingen') and (PrintNyLabel or chkAltidPrintLabel.Checked) and (RuteNummer <> 'Ukendt') or (RuteNummer = 'Rutenr')) then
2423      begin      begin
2424        logTekst := 'Printer label type ';        logTekst := 'Printer label type ';
2425        if (chkAltidPrintLabel.Checked) then        if (chkAltidPrintLabel.Checked) then
# Line 2532  begin Line 2437  begin
2437        logTekst := logTekst + ' for '+BoghandlerNavn;        logTekst := logTekst + ' for '+BoghandlerNavn;
2438        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
2439    
2440        LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;        //LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;
2441                LabelPrint.PrintLabel( Stregkode );
2442    
2443      end;      end;
2444    end;    end;
2445    
# Line 2543  end; Line 2449  end;
2449    
2450  procedure TMainForm.radioStorPakkeClick(Sender: TObject);  procedure TMainForm.radioStorPakkeClick(Sender: TObject);
2451  begin  begin
2452      Storepakker1.Checked := true;      menuStorePakker.Checked := true;
2453      radioStorPakke.Checked := true;      radioStorPakke.Checked := true;
2454  end;  end;
2455    
2456  procedure TMainForm.radioLillePakkeClick(Sender: TObject);  procedure TMainForm.radioLillePakkeClick(Sender: TObject);
2457  begin  begin
2458      Smpakker1.Checked := true;      menuSmaaPakker.Checked := true;
2459      radioLillePakke.Checked := true;      radioLillePakke.Checked := true;
2460  end;  end;
2461    
# Line 2567  begin Line 2473  begin
2473  end;  end;
2474    
2475    
2476    procedure TMainForm.chkUdenforSpecifikationClick(Sender: TObject);
2477    begin
2478      if (chkUdenforSpecifikation.Checked = true) then
2479      begin
2480        chkEmballageRepareret.Checked := false;
2481      end;
2482    end;
2483    
2484    procedure TMainForm.chkEmballageRepareretClick(Sender: TObject);
2485    begin
2486      if (chkEmballageRepareret.Checked = true) then
2487      begin
2488        chkUdenforSpecifikation.Checked := false;
2489      end;
2490    end;
2491    
2492  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);
2493  begin  begin
2494    if chkAltidPrintLabel.Checked then    if chkAltidPrintLabel.Checked then
# Line 2580  begin Line 2502  begin
2502    
2503  end;  end;
2504    
2505    
2506    
2507  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);
2508  begin  begin
2509    if chkScanTjekkode.Checked then    if chkScanTjekkode.Checked then
# Line 2639  begin Line 2563  begin
2563      // Tjekker UrlNormal      // Tjekker UrlNormal
2564      if PanelValg1.Enabled = true then      if PanelValg1.Enabled = true then
2565      begin      begin
2566        TjekkerEnkeltUrl('UrlNormal', UrlNormal, urlFejl);        TjekkerEnkeltUrl('UrlNormal', Config.UrlNormal, urlFejl);
2567      end;      end;
2568    
2569      // Tjekker UrlReturDAO      // Tjekker UrlReturDAO
2570      if PanelValg2.Enabled = true then      if PanelValg2.Enabled = true then
2571      begin      begin
2572        TjekkerEnkeltUrl('UrlReturDAO', UrlReturDAO, urlFejl);        TjekkerEnkeltUrl('UrlReturDAO', Config.UrlReturDAO, urlFejl);
2573      end;      end;
2574    
2575      // Tjekker UrlReturBoghandler      // Tjekker UrlReturBoghandler
2576      if PanelValg3.Enabled = true then      if PanelValg3.Enabled = true then
2577      begin      begin
2578        TjekkerEnkeltUrl('UrlReturBoghandler', UrlReturBoghandler, urlFejl);        TjekkerEnkeltUrl('UrlReturBoghandler', Config.UrlReturBoghandler, urlFejl);
2579      end;      end;
2580    
2581      // Tjekker UrlBudlevering      // Tjekker UrlBudlevering
2582      if PanelValg4.Enabled = true then      if PanelValg4.Enabled = true then
2583      begin      begin
2584        TjekkerEnkeltUrl('UrlBudlevering', UrlBudlevering, urlFejl);        TjekkerEnkeltUrl('UrlBudlevering', Config.UrlBudlevering, urlFejl);
2585      end;      end;
2586    
2587      // Tjekker UrlPakkeshoplevering      // Tjekker UrlPakkeshoplevering
2588      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2589      begin      begin
2590        TjekkerEnkeltUrl('UrlPakkeshoplevering', UrlPakkeshoplevering, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshoplevering', Config.UrlPakkeshoplevering, urlFejl);
2591      end;      end;
2592    
2593      // Tjekker UrlReturPakkeshop      // Tjekker UrlReturPakkeshop
2594      if PanelValg6.Enabled = true then      if PanelValg6.Enabled = true then
2595      begin      begin
2596        TjekkerEnkeltUrl('UrlReturPakkeshop', UrlReturPakkeshop, urlFejl);        TjekkerEnkeltUrl('UrlReturPakkeshop', Config.UrlReturPakkeshop, urlFejl);
2597      end;      end;
2598    
2599      // Tjekker UrlManglendeScanninger      // Tjekker UrlManglendeScanninger
2600      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then
2601      begin      begin
2602        TjekkerEnkeltUrl('UrlManglendeScanninger', UrlManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlManglendeScanninger', Config.UrlManglendeScanninger, urlFejl);
2603      end;      end;
2604    
2605      // Tjekker UrlPakkeshopManglendeScanninger      // Tjekker UrlPakkeshopManglendeScanninger
2606      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2607      begin      begin
2608        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', UrlPakkeshopManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', Config.UrlPakkeshopManglendeScanninger, urlFejl);
2609      end;      end;
2610    
2611      // Tjekker UrlPakkeshopManglendeReturScanninger      // Tjekker UrlPakkeshopManglendeReturScanninger
2612      if PanelValg6.Enabled = true then      if PanelValg6.Enabled = true then
2613      begin      begin
2614        TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', UrlPakkeshopManglendeReturScanninger, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', Config.UrlPakkeshopManglendeReturScanninger, urlFejl);
2615      end;      end;
2616    
2617     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger
2618      if PanelValg7.Enabled = true then      if PanelValg7.Enabled = true then
2619      begin      begin
2620        TjekkerEnkeltUrl('UrlIndleveringsPakke', UrlIndleveringsPakke, urlFejl);        TjekkerEnkeltUrl('UrlIndleveringsPakke', Config.UrlIndleveringsPakke, urlFejl);
2621        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', UrlIndleveringsPakkeManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', Config.UrlIndleveringsPakkeManglendeScanninger, urlFejl);
2622      end;      end;
2623    
2624      // Tjekker UrlEKLoverforsel      // Tjekker UrlEKLoverforsel
2625      if PanelValg1.Enabled = true then      if PanelValg1.Enabled = true then
2626      begin      begin
2627        TjekkerEnkeltUrl('UrlEKLoverforsel', UrlEKLoverforsel, urlFejl);        TjekkerEnkeltUrl('UrlEKLoverforsel', Config.UrlEKLoverforsel, urlFejl);
2628      end;      end;
2629    
2630    
2631      // Tjekker UrlEKLoverforselPakkeshop      // Tjekker UrlEKLoverforselPakkeshop
2632      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2633      begin      begin
2634        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', UrlEKLoverforselPakkeshop, urlFejl);        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', Config.UrlEKLoverforselPakkeshop, urlFejl);
2635      end;      end;
2636    
2637    
2638      // Tjekker UrlFindPakketype      // Tjekker UrlFindPakketype
2639      TjekkerEnkeltUrl('UrlFindPakketype', UrlFindPakketype, urlFejl);      TjekkerEnkeltUrl('UrlFindPakketype', Config.UrlFindPakketype, urlFejl);
2640    
2641      // Tjekker UrlSendPrograminfo      // Tjekker UrlSendPrograminfo
2642      TjekkerEnkeltUrl('UrlSendPrograminfo', UrlSendPrograminfo, urlFejl);      TjekkerEnkeltUrl('UrlSendPrograminfo', Config.UrlSendPrograminfo, urlFejl);
2643    
2644    
2645    
# Line 2724  begin Line 2648  begin
2648      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
2649    
2650    Except    Except
2651      TjekUrls := '-';   // markerer at der var fejl      Config.TjekUrls := '-';   // markerer at der var fejl
2652    
2653    end;    end;
2654  end;  end;
# Line 2744  begin Line 2668  begin
2668      inc(urlFejl);   // Optæller antal fejl      inc(urlFejl);   // Optæller antal fejl
2669      logTekst := UrlNavn + ' svarer ikke: ' + Url;      logTekst := UrlNavn + ' svarer ikke: ' + Url;
2670      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2671      if TjekUrls = '1' then      if Config.TjekUrls = '1' then
2672      begin      begin
2673        logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';        logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
2674      end;      end;
2675    
2676      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
2677    
2678      if TjekUrls = '1' then      if Config.TjekUrls = '1' then
2679      begin      begin
2680        ShowMessage(logTekst);        ShowMessage(logTekst);
2681        UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut        Config.UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
2682        Application.Terminate;        Application.Terminate;
2683    
2684        raise Exception.Create('UrlFejl');        raise Exception.Create('UrlFejl');
# Line 2835  begin Line 2759  begin
2759    if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then    if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then
2760    begin    begin
2761       ShowMessage('Programmet afbrydes...');       ShowMessage('Programmet afbrydes...');
2762       UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut       Config.UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
2763       Application.Terminate;       Application.Terminate;
2764       exit;       exit;
2765    end;    end;
# Line 2937  var Line 2861  var
2861    Leveringssted : String;    Leveringssted : String;
2862    orgTjekUrls : String;    orgTjekUrls : String;
2863  begin  begin
2864    orgTjekUrls := TjekUrls;    orgTjekUrls := Config.TjekUrls;
2865    if (TjekUrls = '1') or (TjekUrls = '2') then    if (Config.TjekUrls = '1') or (Config.TjekUrls = '2') then
2866    begin    begin
2867      TjekkerUrls();      TjekkerUrls();
2868    end;    end;
2869    if TjekUrls = '-' then    if Config.TjekUrls = '-' then
2870    begin    begin
2871      //ShowMessage('Der var fejl i een eller flere urls - se logvinduet');      //ShowMessage('Der var fejl i een eller flere urls - se logvinduet');
2872      RuteNummer := '';      RuteNummer := '';
# Line 2951  begin Line 2875  begin
2875      Koreliste := '';      Koreliste := '';
2876      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2877      // Her kommer en alarm og rød skærm      // Her kommer en alarm og rød skærm
2878      PlaySound(PWideChar(AlarmLyd));      PlaySound(PWideChar(Config.AlarmLyd));
2879      MainForm.Color := clRed;      MainForm.Color := clRed;
2880      btnNulstil.Visible := true;      btnNulstil.Visible := true;
2881    end    end
# Line 2964  begin Line 2888  begin
2888      SmsKode := '999999';      SmsKode := '999999';
2889      DBKbane := '999';      DBKbane := '999';
2890      Leveringssted := 'XXX';      Leveringssted := 'XXX';
2891    
2892    
2893      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2894      FocusControl(StregkodeST);      FocusControl(StregkodeST);
2895    end;    end;
2896    TjekUrls := orgTjekUrls;    Config.TjekUrls := orgTjekUrls;
2897    
2898  end;  end;
2899    
# Line 2977  var Line 2903  var
2903    Kommentar : String;    Kommentar : String;
2904    BoghandlerNavn : String;    BoghandlerNavn : String;
2905    Koreliste : String;    Koreliste : String;
2906    Falsk : Boolean;  //  Falsk : Boolean;
2907    SmsKode : String;  //  SmsKode : String;
2908    DBKbane : String;  //  DBKbane : String;
2909    Leveringssted : String;  //  Leveringssted : String;
2910  begin  begin
2911    RuteNummer := 'Rutenr';    RuteNummer := 'Rutenr';
2912    Kommentar := '***** Kommentar *****';    Kommentar := '***** Kommentar *****';
2913    BoghandlerNavn := 'Modtagernavn';    BoghandlerNavn := 'Modtagernavn';
2914    Falsk := False;  //  Falsk := False;
2915    
2916    
2917    if (LabelPrint.GetPrinterCount() = 0) then    if (LabelPrint.GetPrinterCount() = 0) then
2918    begin    begin
2919      ShowMessage('Der er ikke installeret en printer på denne PC.');      ShowMessage('Der er ikke installeret en printer på denne PC.');
2920    end    end
2921    else if PrinterNavn = 'Ingen' then  //  else if Config.PrinterNavn = 'Ingen' then //Det giver ikke længere mening at kunne fravælge printer
2922    begin  //  begin
2923      ShowMessage('Der er fravalgt printer i dette program.');  //    ShowMessage('Der er fravalgt printer i dette program.');
2924    end  //  end
2925    else    else
2926    begin    begin
2927      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2928      SmsKode := '999999';  //    SmsKode := '999999';
2929      DBKbane := '999';  //    DBKbane := '999';
2930      Leveringssted := 'XXX';  //    Leveringssted := 'XXX';
2931      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);  //    PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2932      LabelPrint.CheckPrintQue('Test', PrinterNavn);  
2933    
2934    
2935        LabelPrint.PrintTestLabel('999999', '999', 'xxx');
2936    
2937        LabelPrint.CheckPrintQue('Test', Config.PrinterNavn);
2938    
2939    end;    end;
2940    FocusControl(StregkodeST);    FocusControl(StregkodeST);
2941  end;  end;
2942    
2943  procedure TMainForm.Timer1Timer(Sender: TObject);  procedure TMainForm.Timer1Timer(Sender: TObject);
2944  begin  begin
2945    if (TjekPrinter = '1') then    if (Config.TjekPrinter = '1') then
2946    begin    begin
2947      LabelPrint.CheckPrintQue('Timer', PrinterNavn);      LabelPrint.CheckPrintQue('Timer', Config.PrinterNavn);
2948    end    end
2949    else    else
2950    begin    begin
# Line 3066  begin Line 2998  begin
2998      tekst := tekst+crlf+crlf;      tekst := tekst+crlf+crlf;
2999      tekst := tekst+crlf+crlf+'          **********  DETTE ER KUN EN TEST VERSION  **********';      tekst := tekst+crlf+crlf+'          **********  DETTE ER KUN EN TEST VERSION  **********';
3000      tekst := tekst+crlf+crlf;      tekst := tekst+crlf+crlf;
3001      tekst := tekst+crlf+crlf+'Url: '+url;      tekst := tekst+crlf+crlf+'Url: ' + Url;
3002    end;    end;
3003    
3004    MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK);    MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK);
# Line 3204  end; Line 3136  end;
3136    
3137  procedure TMainForm.InitNatxpresslevering();  procedure TMainForm.InitNatxpresslevering();
3138  begin  begin
3139        AutomatiskTjekkodeStyring1.Enabled := true;        menuAutomatiskTjekkodeStyring.Enabled := true;
3140        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3141        menuNatXpress1.Checked := true;        menuNatXpress1.Checked := true;
3142        InitForm(FarveNormal,TitelNormal,UrlNormal);        InitForm(Config.FarveNormal,Config.TitelNormal,Config.UrlNormal);
3143        PanelValg1.Color := clGreen;        PanelValg1.Color := clGreen;
3144        PanelValg1.Font.Color := clWhite;        PanelValg1.Font.Color := clWhite;
3145    
# Line 3218  begin Line 3150  begin
3150        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3151        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3152        Sprgefterboghandlernummer1.Enabled := true;        Sprgefterboghandlernummer1.Enabled := true;
3153        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3154        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3155        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3156        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3157        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3234  begin Line 3166  begin
3166        if BladhusSted = 0 then        if BladhusSted = 0 then
3167        begin        begin
3168          IndlesScanningLogFil();          IndlesScanningLogFil();
3169          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3170        end;        end;
3171  end;  end;
3172    
3173  procedure TMainForm.InitReturFraDao();  procedure TMainForm.InitReturFraDao();
3174  begin  begin
3175        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3176        menuNatxpressReturDAO1.Checked := true;        menuNatxpressReturDAO1.Checked := true;
3177        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3178        InitForm(FarveReturDAO,TitelReturDAO,UrlReturDAO);        InitForm(Config.FarveReturDAO, Config.TitelReturDAO, Config.UrlReturDAO);
3179        PanelValg2.Color := clGreen;        PanelValg2.Color := clGreen;
3180        PanelValg2.Font.Color := clWhite;        PanelValg2.Font.Color := clWhite;
3181    
# Line 3254  begin Line 3186  begin
3186        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3187        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3188        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3189        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3190        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3191        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3192        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3193        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3271  end; Line 3203  end;
3203    
3204  procedure TMainForm.InitReturFraKunde();  procedure TMainForm.InitReturFraKunde();
3205  begin  begin
3206        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3207        menuNatxpressReturfraKunde1.Checked := true;        menuNatxpressReturfraKunde1.Checked := true;
3208        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3209        InitForm(FarveReturBoghandler,TitelReturBoghandler,UrlReturBoghandler);        InitForm(Config.FarveReturBoghandler, Config.TitelReturBoghandler, Config.UrlReturBoghandler);
3210        PanelValg3.Color := clGreen;        PanelValg3.Color := clGreen;
3211        PanelValg3.Font.Color := clWhite;        PanelValg3.Font.Color := clWhite;
3212    
# Line 3284  begin Line 3216  begin
3216        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3217        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3218        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3219        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3220        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3221        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3222        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3223        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3301  end; Line 3233  end;
3233    
3234  procedure TMainForm.InitDirektelevering();  procedure TMainForm.InitDirektelevering();
3235  begin  begin
3236        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3237        menuDaoDirekte1.Checked := true;        menuDaoDirekte1.Checked := true;
3238        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3239        InitForm(FarveBudlevering,TitelBudlevering,UrlBudlevering);        InitForm(Config.FarveBudlevering, Config.TitelBudlevering, Config.UrlBudlevering);
3240        PanelValg4.Color := clGreen;        PanelValg4.Color := clGreen;
3241        PanelValg4.Font.Color := clWhite;        PanelValg4.Font.Color := clWhite;
3242    
# Line 3315  begin Line 3247  begin
3247        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3248        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3249        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3250        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3251        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3252        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3253        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3254        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3334  begin Line 3266  begin
3266        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3267        begin        begin
3268            IndlesScanningLogFil();            IndlesScanningLogFil();
3269            IndlesManglendeScanninger();            IndlesManglendeScanningerAntal();
3270        end;        end;
3271    
3272  end;  end;
3273    
3274  procedure TMainForm.InitPakkeshoplevering();  procedure TMainForm.InitPakkeshoplevering();
3275  begin  begin
3276        AutomatiskTjekkodeStyring1.Enabled := true;        menuAutomatiskTjekkodeStyring.Enabled := true;
3277        menuPakkeshop1.Checked := true;        menuPakkeshop1.Checked := true;
3278        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3279        InitForm(FarvePakkeshoplevering,TitelPakkeshoplevering,UrlPakkeshoplevering);        InitForm(Config.FarvePakkeshoplevering, Config.TitelPakkeshoplevering, Config.UrlPakkeshoplevering);
3280        PanelValg5.Color := clGreen;        PanelValg5.Color := clGreen;
3281        PanelValg5.Font.Color := clWhite;        PanelValg5.Font.Color := clWhite;
3282    
# Line 3355  begin Line 3287  begin
3287        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3288        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3289        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3290        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3291        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3292        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3293        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3294        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3373  begin Line 3305  begin
3305        IndlesScanningLogFil();        IndlesScanningLogFil();
3306        if BladhusSted = 0 then        if BladhusSted = 0 then
3307        begin        begin
3308          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3309        end;        end;
3310        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3311        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 3381  end; Line 3313  end;
3313    
3314  procedure TMainForm.InitReturFraPakkeshop();  procedure TMainForm.InitReturFraPakkeshop();
3315  begin  begin
3316        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3317        menuPakkeshopRetur1.Checked := true;        menuPakkeshopRetur1.Checked := true;
3318        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3319        InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop);        InitForm(Config.FarveReturPakkeshop, Config.TitelReturPakkeshop, Config.UrlReturPakkeshop);
3320        PanelValg6.Color := clGreen;        PanelValg6.Color := clGreen;
3321        PanelValg6.Font.Color := clWhite;        PanelValg6.Font.Color := clWhite;
3322    
# Line 3395  begin Line 3327  begin
3327        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3328        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3329        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3330        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3331        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3332        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3333        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3334        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3413  begin Line 3345  begin
3345        IndlesScanningLogFil();        IndlesScanningLogFil();
3346        if BladhusSted = 0 then        if BladhusSted = 0 then
3347        begin        begin
3348          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3349        end;        end;
3350        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3351        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 3429  end; Line 3361  end;
3361  procedure TMainForm.InitIndleveringskode();  procedure TMainForm.InitIndleveringskode();
3362  begin  begin
3363        menuIndlevering.Checked := true;        menuIndlevering.Checked := true;
3364        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3365    
3366        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3367        InitForm(FarveIndlevering, TitelIndlevering, UrlReturPakkeshop);        InitForm(Config.FarveIndlevering, Config.TitelIndlevering, Config.UrlReturPakkeshop);
3368        PanelValg7.Color := clGreen;        PanelValg7.Color := clGreen;
3369        PanelValg7.Font.Color := clWhite;        PanelValg7.Font.Color := clWhite;
3370    
# Line 3446  begin Line 3378  begin
3378    
3379    
3380    
3381        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3382        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3383        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3384        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3385        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3465  begin Line 3397  begin
3397        IndlesScanningLogFil();        IndlesScanningLogFil();
3398        if BladhusSted = 0 then        if BladhusSted = 0 then
3399        begin        begin
3400          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3401        end;        end;
3402        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3403        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3404  end;  end;
3405    
3406    
3407  procedure TMainForm.Storepakker1Click(Sender: TObject);  procedure TMainForm.menuStorePakkerClick(Sender: TObject);
3408  begin  begin
3409    InitStorPakke();    InitStorPakke();
3410  end;  end;
3411    
3412  procedure TMainForm.Smpakker1Click(Sender: TObject);  procedure TMainForm.menuSmaaPakkerClick(Sender: TObject);
3413  begin  begin
3414    InitLillePakke();    InitLillePakke();
3415  end;  end;
# Line 3485  end; Line 3417  end;
3417  procedure TMainForm.InitLillePakke();  procedure TMainForm.InitLillePakke();
3418  begin  begin
3419    radioLillePakke.Checked := true;    radioLillePakke.Checked := true;
3420    Smpakker1.Checked := true;    menuSmaaPakker.Checked := true;
3421  //  Stregkode := '';  //  Stregkode := '';
3422  end;  end;
3423    
3424  procedure TMainForm.InitStorPakke();  procedure TMainForm.InitStorPakke();
3425  begin  begin
3426    radioStorPakke.Checked := true;    radioStorPakke.Checked := true;
3427    Storepakker1.Checked := true;    menuStorePakker.Checked := true;
3428  // 20150310: start  // 20150310: start
3429  //  Stregkode := '';  //  Stregkode := '';
3430  // 20150310: slut  // 20150310: slut
# Line 3511  end; Line 3443  end;
3443    
3444  procedure TMainForm.Testlyd1Click(Sender: TObject);  procedure TMainForm.Testlyd1Click(Sender: TObject);
3445  begin  begin
3446     if AlarmLyd  <> '' then     if Config.AlarmLyd  <> '' then
3447     begin     begin
3448       PlaySound(PWideChar(AlarmLyd));       PlaySound(PWideChar(Config.AlarmLyd));
3449     end     end
3450     else     else
3451     begin     begin
# Line 3525  procedure TMainForm.Testlyd2Click(Sender Line 3457  procedure TMainForm.Testlyd2Click(Sender
3457  begin  begin
3458    if (PakkeshopText1.Caption = 'Tjekkode') then    if (PakkeshopText1.Caption = 'Tjekkode') then
3459    begin    begin
3460       if ScannetOkTilTjekkodeLyd  <> '' then       if Config.ScannetOkTilTjekkodeLyd  <> '' then
3461       begin       begin
3462         PlaySound(PWideChar(ScannetOkTilTjekkodeLyd));         PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd));
3463       end       end
3464       else       else
3465       begin       begin
# Line 3536  begin Line 3468  begin
3468       exit;       exit;
3469    end;    end;
3470    
3471    if Smpakker1.Checked then    if menuSmaaPakker.Checked then
3472       if ScannetOkLyd  <> '' then       if Config.ScannetOkLyd  <> '' then
3473       begin       begin
3474         PlaySound(PWideChar(ScannetOkLyd));         PlaySound(PWideChar(Config.ScannetOkLyd));
3475       end       end
3476       else       else
3477       begin       begin
3478         MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);         MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);
3479       end;       end;
3480    if Storepakker1.Checked then    if menuStorePakker.Checked then
3481       if ScannetOkStorLyd  <> '' then       if Config.ScannetOkStorLyd  <> '' then
3482       begin       begin
3483         PlaySound(PWideChar(ScannetOkStorLyd));         PlaySound(PWideChar(Config.ScannetOkStorLyd));
3484       end       end
3485       else       else
3486       begin       begin
# Line 3585  begin Line 3517  begin
3517      logTekst := 'Overfører de scannede pakker til EKL';      logTekst := 'Overfører de scannede pakker til EKL';
3518      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
3519      StedKode := Sted;      StedKode := Sted;
3520      URLStr := Format(UrlEKLoverforsel,[StedKode,Sted]);      URLStr := Format(Config.UrlEKLoverforsel,[StedKode,Sted]);
3521    
3522      if PanelValg5.Color = clGreen then      if PanelValg5.Color = clGreen then
3523      begin      begin
3524        URLStr := Format(UrlEKLoverforselPakkeshop,[StedKode,Sted]);        URLStr := Format(Config.UrlEKLoverforselPakkeshop,[StedKode,Sted]);
3525      end;      end;
3526    
3527    
# Line 3649  begin Line 3581  begin
3581      // Hvis der var fejl i overførslen skal dette fejlmeldes her      // Hvis der var fejl i overførslen skal dette fejlmeldes her
3582      if status = 'Fejl' then      if status = 'Fejl' then
3583      begin   // Her skal komme en alarm og rød skærm      begin   // Her skal komme en alarm og rød skærm
3584         PlaySound(PWideChar(AlarmLyd));         PlaySound(PWideChar(Config.AlarmLyd));
3585         MainForm.Color := clRed;         MainForm.Color := clRed;
3586         RutenummerST.Caption := 'EKL overførsel';         RutenummerST.Caption := 'EKL overførsel';
3587         BoghandlerNavnST.Caption := 'Fejl:';         BoghandlerNavnST.Caption := 'Fejl:';
# Line 4179  const Line 4111  const
4111    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
4112    
4113  begin  begin
4114      IndlesManglendeScanninger();      IndlesManglendeScanningerListe();
4115      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
4116  end;  end;
4117    
# Line 4193  begin Line 4125  begin
4125  end;  end;
4126    
4127    
4128    procedure TMainForm.IndlesManglendeScanningerAntal();
4129    var
4130      Node: IXMLNode;
4131    
4132      URLStr : String;
4133      StedKode : String;
4134      WebSvar : String;
4135    
4136      i : Integer;
4137    
4138      PakkeType : String;
4139      TotalAntal : String;
4140      AntalProdDato : String;
4141    
4142      CurrentPanel : TPanel;
4143    
4144    begin
4145      ListBox2.Clear();
4146    
4147      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
4148        begin
4149          StedKode := BladhusStedKode[BladhusSted];
4150        end
4151      else
4152        begin
4153          StedKode := Sted;
4154        end;
4155    
4156      URLStr := Format(Config.UrlHentPakkeAntal, [StedKode]);
4157    
4158    
4159      try
4160        WebSvar := IdHTTP1.Get(URLStr);
4161        except
4162          on e:EIdConnClosedGracefully do
4163          begin
4164            // Her skal vi ikke gøre noget - men vi skal forespørge igen
4165            WebSvar := IdHTTP1.Get(URLStr);
4166          end;
4167          on e:exception do
4168          begin
4169            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i web forespørgsel: '+e.Message);
4170            logTekst := 'Fejl i web forespørgsel: '+e.Message;
4171            SkrivScanningLogFil(logTekst);
4172            raise exception.CreateFmt('Fejl i web forespørgsel: %s',[e.Message]);
4173          end;
4174        end;
4175    
4176    
4177    
4178         try
4179    
4180          XMLDocument1.LoadFromXML(WebSvar);
4181    
4182          for i:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4183              Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4184    
4185              PakkeType := Node.ChildValues['PakkeType'];
4186              TotalAntal := Node.ChildValues['TotalAntal'];
4187              AntalProdDato := Node.ChildValues['AntalProdDato'];
4188    
4189    
4190              CurrentPanel := nil;
4191    
4192              if (PakkeType = 'natxpress') then
4193              begin
4194                 CurrentPanel := PanelManglendePakker1;
4195              end;
4196    
4197              if (PakkeType = 'daodirekte') then
4198              begin
4199                 CurrentPanel := PanelManglendePakker4;
4200              end;
4201    
4202              if (PakkeType = 'pakkeshop') then
4203              begin
4204                 CurrentPanel := PanelManglendePakker5;
4205              end;
4206    
4207              if (CurrentPanel <> nil) then
4208              begin
4209                CurrentPanel.Caption := TotalAntal;
4210                if ( StrToInt(TotalAntal) > 0) then
4211                begin
4212                  CurrentPanel.Visible := true;
4213                end
4214                else
4215                begin
4216                  CurrentPanel.Visible := false;
4217                end;
4218              end;
4219    
4220    
4221          end;
4222    
4223    
4224  procedure TMainForm.IndlesManglendeScanninger();   except on e:exception do
4225          begin
4226            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i XML-format: '+e.Message);
4227            logTekst := 'Fejl i XML-format: '+e.Message;
4228            SkrivScanningLogFil(logTekst);
4229            raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
4230          end;
4231        end;
4232    
4233    
4234    
4235      ListBox1.Items.Insert(0,'Pakkeantal indlæst - klar til scanning');
4236    
4237    end;
4238    
4239    procedure TMainForm.IndlesManglendeScanningerListe();
4240  var  var
4241    WebSvar : String;    WebSvar : String;
4242    URLStr : String;    URLStr : String;
# Line 4203  var Line 4245  var
4245    I: Integer;    I: Integer;
4246    stregkode, modtagernavn, modtageradresse, kommentar : string;    stregkode, modtagernavn, modtageradresse, kommentar : string;
4247    pakketype, tjekkodestatus : String;    pakketype, tjekkodestatus : String;
4248    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;    antalLiniefelter, antalFelterFundet, linienr : Integer;
4249    //pakketyper : TStrings;    //pakketyper : TStrings;
4250    pakketyper : TDictionary<String, Integer>;    pakketyper : TDictionary<String, Integer>;
4251    tmpAntal : Integer;    tmpAntal : Integer;
4252    
4253     time, timeSamlet : TTimingHelper;
4254    
4255    
4256    antlin : Integer;    antlin : Integer;
# Line 4243  var Line 4286  var
4286    
4287      if (Scanningtype = '7') then      if (Scanningtype = '7') then
4288       begin       begin
4289        URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]);        URLStr := Format(Config.UrlIndleveringsPakkeManglendeScanninger, [StedKode]);
4290       end       end
4291      else if (Scanningtype = '6') then      else if (Scanningtype = '6') then
4292       begin       begin
4293        URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]);        URLStr := Format(Config.UrlPakkeshopManglendeReturScanninger, [StedKode]);
4294       end       end
4295      else if (Scanningtype = '5') then      else if (Scanningtype = '5') then
4296       begin       begin
4297        URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]);        URLStr := Format(Config.UrlPakkeshopManglendeScanninger, [StedKode]);
4298       end       end
4299      else if (Scanningtype = '1') then      else if (Scanningtype = '1') then
4300       begin       begin
4301        URLStr := Format(UrlManglendeScanninger,[StedKode,'B2']);        URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'B2']);
4302       end       end
4303      else if (Scanningtype = '4') then      else if (Scanningtype = '4') then
4304       begin       begin
4305        URLStr := Format(UrlManglendeScanninger,[StedKode,'A2']);    // Budleveringer        URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'A2']);    // Budleveringer
4306       end       end
4307      else      else
4308       begin       begin
# Line 4267  var Line 4310  var
4310       end;       end;
4311  // 20150310: slut  // 20150310: slut
4312    
4313        time := TTimingHelper.create();        //DEBUG
4314        timeSamlet := TTimingHelper.create();        //DEBUG
4315    
4316      try      try
4317      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
4318  //    URLStr := string(Utf8Encode(URLStr));  //    URLStr := string(Utf8Encode(URLStr));
# Line 4289  var Line 4335  var
4335        end;        end;
4336      end;      end;
4337      try      try
4338          time.stop('HTTP Load');     //DEBUG
4339    
4340        XMLDocument1.LoadFromXML(WebSvar);        XMLDocument1.LoadFromXML(WebSvar);
4341    
4342          time.stop('XML Load');     //DEBUG
4343    
4344    
4345    
4346    
4347    
4348    
4349        antlin := 0;        antlin := 0;
4350        antlinIdag := 0;        antlinIdag := 0;
# Line 4333  var Line 4387  var
4387        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug
4388        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array
4389    
4390          time.stop('Antal Linier');//DEBUG
4391    
4392        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4393    
# Line 4344  var Line 4399  var
4399        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4400    
4401        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4402          time.stop('Antal Linier2');//DEBUG
4403    
4404    
4405        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
# Line 4404  var Line 4460  var
4460              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4461              begin              begin
4462                if (ScanningType = '1') then                if (ScanningType = '1') then
4463                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)                   ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)
4464                else if (ScanningType = '4') then                else if (ScanningType = '4') then
4465                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)
4466                else if (ScanningType = '5') then                else if (ScanningType = '5') then
# Line 4418  var Line 4474  var
4474        end;        end;
4475    
4476    
4477          time.stop('Fyld Listbox2');//DEBUG
4478    
4479    
4480        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4481    
4482    
# Line 4537  var Line 4596  var
4596        end;        end;
4597      end;      end;
4598    
4599        time.stop('Done');//DEBUG
4600        timeSamlet.stop('SamletTid');//DEBUG
4601    
4602    
4603  end;  end;
4604    
4605  procedure TMainForm.IndlesScanningLogFil();  procedure TMainForm.IndlesScanningLogFil();
# Line 4712  begin Line 4775  begin
4775          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');
4776          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';
4777          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
4778          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
4779        end;        end;
4780      end;      end;
4781    end    end
# Line 4721  begin Line 4784  begin
4784        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.');        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.');
4785        logTekst := 'Ruteskift fil '+filnavn+' findes ikke.';        logTekst := 'Ruteskift fil '+filnavn+' findes ikke.';
4786        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4787        PlaySound(PWideChar(AlarmLyd));        PlaySound(PWideChar(Config.AlarmLyd));
4788    end;    end;
4789  end;  end;
4790    
# Line 4792  begin Line 4855  begin
4855          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');
4856          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';
4857          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
4858          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
4859        end;        end;
4860      end;      end;
4861    end    end
# Line 4801  begin Line 4864  begin
4864        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.');        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.');
4865        logTekst := 'Kontrol fil '+filnavn+' findes ikke.';        logTekst := 'Kontrol fil '+filnavn+' findes ikke.';
4866        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4867        PlaySound(PWideChar(AlarmLyd));        PlaySound(PWideChar(Config.AlarmLyd));
4868    end;    end;
4869  end;  end;
4870    
# Line 4859  procedure TMainForm.VisAlarmSkaerm(strMe Line 4922  procedure TMainForm.VisAlarmSkaerm(strMe
4922  begin  begin
4923    //ShowMessage('Ændring ikke tilladt');    //ShowMessage('Ændring ikke tilladt');
4924    // Her skal komme en 'rød skærm' alarm    // Her skal komme en 'rød skærm' alarm
4925    PlaySound(PWideChar(AlarmLyd));    PlaySound(PWideChar(Config.AlarmLyd));
4926    MainForm.Color := clRed;    MainForm.Color := clRed;
4927    
4928    
# Line 4987  begin Line 5050  begin
5050    Result := self;    Result := self;
5051  end;  end;
5052    
5053    //Nedarvet fra IParentForm
5054    function TMainForm.GetXMLDocument() : TXMLDocument;
5055    begin
5056      Result := XMLDocument1
5057    end;
5058    
5059    
5060  end.  end.
5061    

Legend:
Removed from v.3054  
changed lines
  Added in v.3125

  ViewVC Help
Powered by ViewVC 1.1.20