/[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 3036 by torben, Mon May 23 13:03:49 2016 UTC revision 3094 by torben, Fri Aug 19 14:35:39 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 39  type Line 40  type
40      XMLDocument1: TXMLDocument;      XMLDocument1: TXMLDocument;
41      ApplicationEvents1: TApplicationEvents;      ApplicationEvents1: TApplicationEvents;
42      chkSporgEfterKunde: TCheckBox;      chkSporgEfterKunde: TCheckBox;
     KommentarST: TStaticText;  
43      MainMenu1: TMainMenu;      MainMenu1: TMainMenu;
44      N1: TMenuItem;      N1: TMenuItem;
45      Pakkernormal1: TMenuItem;      menuNatXpress1: TMenuItem;
46      ReturpakkerfraDAO1: TMenuItem;      menuNatxpressReturDAO1: TMenuItem;
47      Returpakkerfraboghandler1: TMenuItem;      menuNatxpressReturfraKunde1: TMenuItem;
48      Hjlp1: TMenuItem;      Hjlp1: TMenuItem;
49      Om1: TMenuItem;      Om1: TMenuItem;
50      Testforbindelsen1: TMenuItem;      Testforbindelsen1: TMenuItem;
# Line 57  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;
65      Testlyd1: TMenuItem;      Testlyd1: TMenuItem;
66      ListBox1: TListBox;      ListBox1: TListBox;
67      Budlevering1: TMenuItem;      menuDaoDirekte1: TMenuItem;
68      BtnDownloadKontrolfil: TButton;      BtnDownloadKontrolfil: TButton;
69      IdFTP1: TIdFTP;      IdFTP1: TIdFTP;
70      Image1: TImage;      Image1: TImage;
# Line 72  type Line 72  type
72      BtnOpdaterListen: TButton;      BtnOpdaterListen: TButton;
73      BtnUploadLogfil: TButton;      BtnUploadLogfil: TButton;
74      BtnDownloadRuteskiftFil: TButton;      BtnDownloadRuteskiftFil: TButton;
75      Pakkeshoplevering1: TMenuItem;      menuPakkeshop1: TMenuItem;
76      PakkeshopText1: TStaticText;      PakkeshopText1: TStaticText;
77      btnNulstil: TButton;      btnNulstil: TButton;
78      Returpakkerfrapakkeshop1: TMenuItem;      menuPakkeshopRetur1: TMenuItem;
79      Altidprintepakkelabel1: TMenuItem;      Altidprintepakkelabel1: TMenuItem;
80      chkAltidPrintLabel: TCheckBox;      chkAltidPrintLabel: TCheckBox;
81      BtnEKLoverforsel: TButton;      BtnEKLoverforsel: TButton;
# Line 86  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      Automatiskvalg1: TMenuItem;      menuAutomatiskvalg1: TMenuItem;
91      PanelValgA: TPanel;      PanelValgA: TPanel;
92      PanelValg1: TPanel;      PanelValg1: TPanel;
93      PanelValg2: TPanel;      PanelValg2: TPanel;
# Line 106  type Line 106  type
106      PanelManglendePakker6: TPanel;      PanelManglendePakker6: TPanel;
107      menuIndlevering: TMenuItem;      menuIndlevering: TMenuItem;
108      chkForstorTilDirekte: TCheckBox;      chkForstorTilDirekte: TCheckBox;
109        chkEmballageRepareret: TCheckBox;
110        KommentarST: TLabel;
111        chkUdenforSpecifikation: TCheckBox;
112    
113    
114    
# Line 127  type Line 130  type
130    procedure radioStorPakkeClick(Sender: TObject);    procedure radioStorPakkeClick(Sender: TObject);
131    procedure radioLillePakkeClick(Sender: TObject);    procedure radioLillePakkeClick(Sender: TObject);
132    procedure chkSporgEfterKundeClick(Sender: TObject);    procedure chkSporgEfterKundeClick(Sender: TObject);
133    procedure Pakkernormal1Click(Sender: TObject);    procedure menuNatXpress1Click(Sender: TObject);
134    procedure Testforbindelsen1Click(Sender: TObject);    procedure Testforbindelsen1Click(Sender: TObject);
135    procedure Testprinter1Click(Sender: TObject);    procedure Testprinter1Click(Sender: TObject);
136    procedure Om1Click(Sender: TObject);    procedure Om1Click(Sender: TObject);
137    procedure Lukprogrammet1Click(Sender: TObject);    procedure Lukprogrammet1Click(Sender: TObject);
138    procedure Sprgefterboghandlernummer1Click(Sender: TObject);    procedure Sprgefterboghandlernummer1Click(Sender: TObject);
139    procedure ReturpakkerfraDAO1Click(Sender: TObject);    procedure menuNatxpressReturDAO1Click(Sender: TObject);
140    procedure Returpakkerfraboghandler1Click(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);
146    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
147    procedure Budlevering1Click(Sender: TObject);    procedure menuDaoDirekte1Click(Sender: TObject);
148    procedure BtnDownloadKontrolfilClick(Sender: TObject);    procedure BtnDownloadKontrolfilClick(Sender: TObject);
149    procedure BtnOpdaterListenClick(Sender: TObject);    procedure BtnOpdaterListenClick(Sender: TObject);
150    procedure DownloadBladhusRuteskiftfil();    procedure DownloadBladhusRuteskiftfil();
# Line 153  type Line 156  type
156    procedure FormDestroy(Sender: TObject);    procedure FormDestroy(Sender: TObject);
157    procedure BtnUploadLogfilClick(Sender: TObject);    procedure BtnUploadLogfilClick(Sender: TObject);
158    procedure BtnDownloadRuteskiftFilClick(Sender: TObject);    procedure BtnDownloadRuteskiftFilClick(Sender: TObject);
159    procedure Pakkeshoplevering1Click(Sender: TObject);    procedure menuPakkeshop1Click(Sender: TObject);
160    procedure btnNulstilClick(Sender: TObject);    procedure btnNulstilClick(Sender: TObject);
161    procedure Returpakkerfrapakkeshop1Click(Sender: TObject);    procedure menuPakkeshopRetur1Click(Sender: TObject);
162    procedure InitNatxpresslevering();    procedure InitNatxpresslevering();
163    procedure InitReturFraDao();    procedure InitReturFraDao();
164    procedure InitReturFraKunde();    procedure InitReturFraKunde();
# Line 172  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 Automatiskvalg1Click(Sender: TObject);    procedure menuAutomatiskvalg1Click(Sender: TObject);
181    procedure PanelValgAClick(Sender: TObject);    procedure PanelValgAClick(Sender: TObject);
182    procedure PanelValg1Click(Sender: TObject);    procedure PanelValg1Click(Sender: TObject);
183    procedure PanelValg2Click(Sender: TObject);    procedure PanelValg2Click(Sender: TObject);
# Line 195  type Line 198  type
198    
199    
200    //Nedarvet fra IParentForm    //Nedarvet fra IParentForm
201      procedure Msg( msg : string);
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    
206    
207    
208    private    private
209      SpecialVersionSted, SpecialVersionScanningtype: String;    // Bruges når programmet skal bruges udenfor DAO scanningssteder      SpecialVersionSted, SpecialVersionScanningtype: String;    // Bruges når programmet skal bruges udenfor DAO scanningssteder
210      Stregkode : String;      Stregkode : String;
211      SkrivLog : String;      SkrivLog : String;
212      Sted : String;      Sted : String;
213      StedNavn : String;      StedNavn : String;
     Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering,  
             UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,  
             UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel, URLOmdirigerTilPakkeshop : String;  
214    
215      UrlEKLoverforselPakkeshop : String;      Scanningtype,  Pakketype : String;
216    
     UrlFindPakketype, UrlSendPrograminfo: String;  
     Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;  
     ScanTjekkode : String;  
     ScanTjekkodeAutomatik : string;  
217    
218      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop,      Url : String;
           FarveIndlevering : String;  
219    
220      Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop,      Farve : String;
           TitelIndlevering : String;  
221    
222      AlarmLyd : String;      Titel : String;
     ScannetOkLyd : String;  
     ScannetOkStorLyd : String;  
223    
     ScannetOkTilTjekkodeLyd : String;  
224    
     PrinterNavn : String;  
     TjekPrinter : String;  
225    
226      Org_RuteNummerST, Org_BoghandlerNavnST, Org_KommentarST : String;      Org_RuteNummerST, Org_BoghandlerNavnST, Org_KommentarST : String;
227      BladhusSted : Integer;      BladhusSted : Integer;
# Line 243  type Line 234  type
234      logTekst : string;      logTekst : string;
235      PakkeshopStregkode, PakkeshopTjekkode : String;      PakkeshopStregkode, PakkeshopTjekkode : String;
236      BoghandlerStregkode, BoghandlerTjekkode : String;      BoghandlerStregkode, BoghandlerTjekkode : String;
237      TjekUrls : String;  
238      Config : TConfiguration;      Config : TConfiguration;
239    
240    
# Line 260  type Line 251  type
251      procedure SkrivScanningLogFil(var tekst : string);      procedure SkrivScanningLogFil(var tekst : string);
252      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;
253      procedure VisAlarmSkaerm(strMessage: string);      procedure VisAlarmSkaerm(strMessage: string);
254      function InjectURL(Url : String) : String;  
255    
256    public    public
257      { Public declarations }      { Public declarations }
# Line 286  implementation Line 277  implementation
277  procedure TMainForm.InitForm(Farve,Titel,Url : String);  procedure TMainForm.InitForm(Farve,Titel,Url : String);
278  begin  begin
279    
280        IdHTTP1.ConnectTimeout := 5000; // Vent max 5 sek på connect
281        IdHTTP1.ReadTimeout := 10000; // Vent max 10 sek på read
282    
283    
284    
285    
286      StaticTextManglendePakker.Caption := '';      StaticTextManglendePakker.Caption := '';
287    
288    
# Line 397  begin Line 394  begin
394        PrinterstatusStaticText1.Color := MainForm.Color;        PrinterstatusStaticText1.Color := MainForm.Color;
395      end;      end;
396    
397      if PakkeshopLevering1.Checked or Pakkernormal1.Checked then      if menuPakkeshop1.Checked or menuNatXpress1.Checked then
398        PakkeshopText1.Visible := true        PakkeshopText1.Visible := true
399      else      else
400        PakkeshopText1.Visible := false;        PakkeshopText1.Visible := false;
# Line 408  begin Line 405  begin
405    
406      if (Scanningtype = '1') or (Scanningtype = '5') then      if (Scanningtype = '1') or (Scanningtype = '5') then
407      begin      begin
408        if (ScanTjekkode = '1') then        if (Config.ScanTjekkode = '1') then
409        begin        begin
410          chkScanTjekkode.Checked := true;          chkScanTjekkode.Checked := true;
411          chkScanTjekkode.Enabled := true;          chkScanTjekkode.Enabled := true;
# Line 422  begin Line 419  begin
419        end;        end;
420      end;      end;
421    
422      if Automatisktjekkodestyring1.Checked then      if menuAutomatiskTjekkodeStyring.Checked then
423      begin      begin
424        chkScanTjekkode.Enabled := false;        chkScanTjekkode.Enabled := false;
425        Scanogstjekkoden1.Enabled := false;        Scanogstjekkoden1.Enabled := false;
# Line 480  begin Line 477  begin
477    StregkodeST.Caption := Stregkode;    StregkodeST.Caption := Stregkode;
478  end;  end;
479    
480  procedure TMainForm.Automatisktjekkodestyring1Click(Sender: TObject);  procedure TMainForm.menuAutomatiskTjekkodeStyringClick(Sender: TObject);
481  begin  begin
482    if Automatisktjekkodestyring1.Checked then    if menuAutomatiskTjekkodeStyring.Checked then
483    begin    begin
484       chkScanTjekkode.Enabled := false;       chkScanTjekkode.Enabled := false;
485       Scanogstjekkoden1.Enabled := false;       Scanogstjekkoden1.Enabled := false;
# Line 495  begin Line 492  begin
492    
493  end;  end;
494    
495  procedure TMainForm.Automatiskvalg1Click(Sender: TObject);  procedure TMainForm.menuAutomatiskvalg1Click(Sender: TObject);
496  begin  begin
497  // Skal ikke toggle men bare sætte funktionen on  // Skal ikke toggle men bare sætte funktionen on
498  // Fravælges ved at vælge en scanningstype  // Fravælges ved at vælge en scanningstype
499       AutomatiskValg1.Checked := true;       menuAutomatiskvalg1.Checked := true;
500       PanelValgA.Color := clGreen;       PanelValgA.Color := clGreen;
501       PanelValgA.Font.Color := clWhite;       PanelValgA.Font.Color := clWhite;
502  end;  end;
503    
 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());  
504    
   Result := Url;  
 end;  
505    
506  //InitForm kaldes før FormCreate  //InitForm kaldes før FormCreate
507  procedure TMainForm.FormCreate(Sender: TObject);  procedure TMainForm.FormCreate(Sender: TObject);
# Line 549  begin Line 538  begin
538    
539  // Sætter lige en default panel størrelse  // Sætter lige en default panel størrelse
540    MainForm.ClientWidth := 1000;    MainForm.ClientWidth := 1000;
541    MainForm.ClientHeight := 750;    MainForm.ClientHeight := 820;
542    
543    Config := TConfiguration.Create();    Config := TConfiguration.Create();
544    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 564  begin Line 553  begin
553      Sted := ReadString('Settings','Sted','');      Sted := ReadString('Settings','Sted','');
554      StedNavn := ReadString('Settings','Stednavn','');      StedNavn := ReadString('Settings','Stednavn','');
555    
556      UrlFindPakketype := ReadString('Settings','UrlFindPakketype','http://omdeling.info/webservices/bogpakkekontrol/FindPakketype.php?stregkode=%s');      Scanningtype := 'A'; //hardcoded
557      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);  
   
     UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');  
     UrlPakkeshopManglendeScanninger := InjectURL(UrlPakkeshopManglendeScanninger);  
   
     UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');  
     UrlPakkeshopManglendeReturScanninger := InjectURL(UrlPakkeshopManglendeReturScanninger);  
   
     UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');  
     UrlIndleveringsPakke := InjectURL(UrlIndleveringsPakke);  
   
     UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');  
     UrlIndleveringsPakkeManglendeScanninger := InjectURL(UrlIndleveringsPakkeManglendeScanninger);  
   
     URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');  
     URLOmdirigerTilPakkeshop := InjectURL(URLOmdirigerTilPakkeshop);  
   
   
   
     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');  
558    
     FarveReturPakkeshop := ReadString('Settings','FarveReturPakkeshop','99FFCC');  
     TitelReturPakkeshop := ReadString('Settings','TitelReturPakkeshop','Returforsendelse fra pakkeshop');  
559    
     FarveIndlevering := ReadString('Settings', 'FarveIndlevering', 'E5B2CB');  
     TitelIndlevering := ReadString('Settings', 'TitelIndlevering', 'Indleveringskode');  
560    
561    
     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');  
562    
563      if (SkrivLog = '1') then      if (SkrivLog = '1') then
564      begin      begin
# Line 666  begin Line 578  begin
578    
579      if Scanningtype = 'A' then      if Scanningtype = 'A' then
580      begin      begin
581        Automatiskvalg1.Checked := true;        menuAutomatiskvalg1.Checked := true;
582        Scanningtype := '1';        Scanningtype := '1';
583        PanelValgA.Color := clGreen;        PanelValgA.Color := clGreen;
584        PanelValgA.Font.Color := clWhite;        PanelValgA.Font.Color := clWhite;
# Line 674  begin Line 586  begin
586    
587    
588    
589      if SporgEfterBoghandler = '1' then      if Config.SporgEfterBoghandler = '1' then
590      begin      begin
591        chkSporgEfterKunde.Checked := true;        chkSporgEfterKunde.Checked := true;
592        Sprgefterboghandlernummer1.Checked := true;        Sprgefterboghandlernummer1.Checked := true;
# Line 685  begin Line 597  begin
597        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
598      end;      end;
599    
600      if ScanTjekkode = '1' then      if Config.ScanTjekkode = '1' then
601      begin      begin
602        chkScanTjekkode.Checked := true;        chkScanTjekkode.Checked := true;
603        Scanogstjekkoden1.Checked := true;        Scanogstjekkoden1.Checked := true;
# Line 696  begin Line 608  begin
608        Scanogstjekkoden1.Checked := false;        Scanogstjekkoden1.Checked := false;
609      end;      end;
610    
611      if ScanTjekkodeAutomatik = '1' then      if Config.ScanTjekkodeAutomatik = '1' then
612      begin      begin
613        Automatisktjekkodestyring1.Checked := true;        menuAutomatiskTjekkodeStyring.Checked := true;
614        chkScanTjekkode.Enabled := false;        chkScanTjekkode.Enabled := false;
615        Scanogstjekkoden1.Enabled := false;        Scanogstjekkoden1.Enabled := false;
616      end;      end;
# Line 741  begin Line 653  begin
653      SpecialVersionSted := 'NS';      SpecialVersionSted := 'NS';
654  {$EndIf}  {$EndIf}
655    
   
656      //SpecialVersionSted := '01';  // NS - bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)      //SpecialVersionSted := '01';  // NS - bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)
657      //SpecialVersionSted := '02';  // BK - BRUGES IKKE (brug i stedet ovenstående SpecialVersionSted BK)      //SpecialVersionSted := '02';  // BK - BRUGES IKKE (brug i stedet ovenstående SpecialVersionSted BK)
658      //SpecialVersionSted := '03';  // FD - (bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)      //SpecialVersionSted := '03';  // FD - (bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)
# Line 759  begin Line 670  begin
670    
671      if SpecialVersionSted = 'NS' then      if SpecialVersionSted = 'NS' then
672      begin      begin
673         SpecialVersionSted := '01';         //SpecialVersionSted := '01'; // Fra før NS overtog scanning løssalg
674         SpecialVersionScanningtype := '4';         //SpecialVersionScanningtype := '4';
675    
676          //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
677          Sted := SpecialVersionSted;
678         // her skal vi også disable de knapper BK ikke kan bruge
679          PanelValg2.Enabled := false;
680          PanelValg2.Font.Color := clInactiveCaption;
681          PanelValg3.Enabled := false;
682          PanelValg3.Font.Color := clInactiveCaption;
683          //PanelValg6.Enabled := false;
684          //PanelValg6.Font.Color := clInactiveCaption;
685    
686         // her skal vi også disable de menupunkter FD ikke kan bruge
687          menuNatxpressReturDAO1.Enabled := false;
688          menuNatxpressReturfraKunde1.Enabled := false;
689    
690          //Returpakkerfrapakkeshop1.Enabled := false;
691      end;      end;
692    
693      if SpecialVersionSted = 'FD' then      if SpecialVersionSted = 'FD' then
# Line 780  begin Line 707  begin
707        //PanelValg6.Font.Color := clInactiveCaption;        //PanelValg6.Font.Color := clInactiveCaption;
708    
709       // her skal vi også disable de menupunkter FD ikke kan bruge       // her skal vi også disable de menupunkter FD ikke kan bruge
710        ReturpakkerfraDAO1.Enabled := false;        menuNatxpressReturDAO1.Enabled := false;
711        Returpakkerfraboghandler1.Enabled := false;        menuNatxpressReturfraKunde1.Enabled := false;
712    
713        //Returpakkerfrapakkeshop1.Enabled := false;        //Returpakkerfrapakkeshop1.Enabled := false;
714    
# Line 800  begin Line 727  begin
727        //PanelValg6.Font.Color := clInactiveCaption;        //PanelValg6.Font.Color := clInactiveCaption;
728    
729       // her skal vi også disable de menupunkter BK ikke kan bruge       // her skal vi også disable de menupunkter BK ikke kan bruge
730        ReturpakkerfraDAO1.Enabled := false;        menuNatxpressReturDAO1.Enabled := false;
731        Returpakkerfraboghandler1.Enabled := false;        menuNatxpressReturfraKunde1.Enabled := false;
732    
733        //Returpakkerfrapakkeshop1.Enabled := false;        //Returpakkerfrapakkeshop1.Enabled := false;
734    
# Line 817  begin Line 744  begin
744    
745      if SpecialVersionSted = 'DBK' then      if SpecialVersionSted = 'DBK' then
746      begin      begin
       //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil  
747        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  
       ReturpakkerfraDAO1.Enabled := false;  
       Returpakkerfraboghandler1.Enabled := false;  
   
       Pakkeshoplevering1.Enabled := false;  
       Returpakkerfrapakkeshop1.Enabled := false;  
   
       if SpecialVersionScanningtype = 'A' then  
       begin  
          Scanningtype := '1';  
       end  
       else  
       begin  
         Scanningtype := SpecialVersionScanningtype;  
       end;  
748      end;      end;
749    
750      if (SpecialVersionSted = '01')      if (SpecialVersionSted = '01')
# Line 870  begin Line 770  begin
770        PanelValg7.Font.Color := clInactiveCaption;        PanelValg7.Font.Color := clInactiveCaption;
771       // her skal vi også disable de menupunkter Bladhusene (01, 02, 03 og 04) ikke kan bruge       // her skal vi også disable de menupunkter Bladhusene (01, 02, 03 og 04) ikke kan bruge
772    
773        Automatiskvalg1.Enabled := false;        menuAutomatiskvalg1.Enabled := false;
774    
775        Pakkernormal1.Enabled := false;        menuNatXpress1.Enabled := false;
776        ReturpakkerfraDAO1.Enabled := false;        menuNatxpressReturDAO1.Enabled := false;
777        Returpakkerfraboghandler1.Enabled := false;        menuNatxpressReturfraKunde1.Enabled := false;
778        Budlevering1.Enabled := false;        menuDaoDirekte1.Enabled := false;
779        Pakkeshoplevering1.Enabled := false;        menuPakkeshop1.Enabled := false;
780        Returpakkerfrapakkeshop1.Enabled := false;        menuPakkeshopRetur1.Enabled := false;
781        if SpecialVersionScanningtype = 'A' then        if SpecialVersionScanningtype = 'A' then
782        begin        begin
783          Scanningtype := '4';          Scanningtype := '4';
784          Budlevering1.Enabled := true;          menuDaoDirekte1.Enabled := true;
785          PanelValg4.Font.Color := clWindowText;          PanelValg4.Font.Color := clWindowText;
786          PanelValg4.Enabled := true;          PanelValg4.Enabled := true;
787        end        end
# Line 890  begin Line 790  begin
790          Scanningtype := SpecialVersionScanningtype;          Scanningtype := SpecialVersionScanningtype;
791          PanelValgA.Enabled := false;          PanelValgA.Enabled := false;
792          PanelValgA.Font.Color := clInactiveCaption;          PanelValgA.Font.Color := clInactiveCaption;
793          AutomatiskValg1.Checked := false;          menuAutomatiskvalg1.Checked := false;
794          PanelValgA.Color := clBtnFace;          PanelValgA.Color := clBtnFace;
795          if Scanningtype = '1' then          if Scanningtype = '1' then
796          begin          begin
797            Pakkernormal1.Enabled := true;            menuNatXpress1.Enabled := true;
798            PanelValg1.Enabled := true;            PanelValg1.Enabled := true;
799            PanelValg1.Font.Color := clWindowText;            PanelValg1.Font.Color := clWindowText;
800          end;          end;
801          if Scanningtype = '2' then          if Scanningtype = '2' then
802          begin          begin
803            ReturpakkerfraDAO1.Enabled := true;            menuNatxpressReturDAO1.Enabled := true;
804            PanelValg2.Enabled := true;            PanelValg2.Enabled := true;
805            PanelValg2.Font.Color := clWindowText;            PanelValg2.Font.Color := clWindowText;
806          end;          end;
807          if Scanningtype = '3' then          if Scanningtype = '3' then
808          begin          begin
809            Returpakkerfraboghandler1.Enabled := true;            menuNatxpressReturfraKunde1.Enabled := true;
810            PanelValg3.Enabled := true;            PanelValg3.Enabled := true;
811            PanelValg3.Font.Color := clWindowText;            PanelValg3.Font.Color := clWindowText;
812          end;          end;
813          if Scanningtype = '4' then          if Scanningtype = '4' then
814          begin          begin
815            Budlevering1.Enabled := true;            menuDaoDirekte1.Enabled := true;
816            PanelValg4.Enabled := true;            PanelValg4.Enabled := true;
817            PanelValg4.Font.Color := clWindowText;            PanelValg4.Font.Color := clWindowText;
818          end;          end;
819          if Scanningtype = '5' then          if Scanningtype = '5' then
820          begin          begin
821            Pakkeshoplevering1.Enabled := true;            menuPakkeshop1.Enabled := true;
822            PanelValg5.Enabled := true;            PanelValg5.Enabled := true;
823            PanelValg5.Font.Color := clWindowText;            PanelValg5.Font.Color := clWindowText;
824          end;          end;
825          if Scanningtype = '6' then          if Scanningtype = '6' then
826          begin          begin
827            Returpakkerfrapakkeshop1.Enabled := true;            menuPakkeshopRetur1.Enabled := true;
828            PanelValg6.Enabled := true;            PanelValg6.Enabled := true;
829            PanelValg6.Font.Color := clWindowText;            PanelValg6.Font.Color := clWindowText;
830          end;          end;
# Line 953  begin Line 853  begin
853          Application.Terminate;          Application.Terminate;
854      end;      end;
855    
856      if TjekUrls = '1' then    // Tjekker urls      if Config.TjekUrls = '1' then    // Tjekker urls
857      begin      begin
858          TjekkerUrls();          TjekkerUrls();
859          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
860          begin          begin
861             PlaySound(PWideChar(AlarmLyd));             PlaySound(PWideChar(Config.AlarmLyd));
862             MainForm.Color := clRed;             MainForm.Color := clRed;
863             RutenummerST.Caption := '';             RutenummerST.Caption := '';
864             BoghandlerNavnST.Caption := 'Fejl i urls';             BoghandlerNavnST.Caption := 'Fejl i urls';
# Line 1005  begin Line 905  begin
905    
906      if Pakketype = '1' then      if Pakketype = '1' then
907      begin      begin
908        Storepakker1.Checked := true;        menuStorePakker.Checked := true;
909        radioStorPakke.Checked := true;        radioStorPakke.Checked := true;
910      end      end
911      else      else
912      begin      begin
913        Smpakker1.Checked := true;        menuSmaaPakker.Checked := true;
914        radioLillePakke.Checked := true;        radioLillePakke.Checked := true;
915      end;      end;
916    
917      if TestFunktionen = '1' then      if Config.TestFunktionen = '1' then
918      begin      begin
919        Testforbindelsen1.Visible := true;        Testforbindelsen1.Visible := true;
920        Testprinter1.Visible := true;        Testprinter1.Visible := true;
921        Testlyd1.Visible := true;        Testlyd1.Visible := true;
922        Testlyd2.Visible := true;        Testlyd2.Visible := true;
923      end      end
924      else if TestFunktionen = '2' then      else if Config.TestFunktionen = '2' then
925      begin      begin
926        Testforbindelsen1.Enabled := false;        Testforbindelsen1.Enabled := false;
927        Testprinter1.Enabled := false;        Testprinter1.Enabled := false;
# Line 1036  begin Line 936  begin
936        Testlyd2.Visible := false;        Testlyd2.Visible := false;
937      end;      end;
938    
     if not FileExists(AlarmLyd) then  
     begin  
       AlarmLyd := '';  
     end;  
   
     if not FileExists(ScannetOkLyd) then  
     begin  
       ScannetOkLyd := '';  
     end;  
   
     if not FileExists(ScannetOkStorLyd) then  
     begin  
       ScannetOkStorLyd := '';  
     end;  
   
939    
     if not FileExists(ScannetOkTilTjekkodeLyd) then  
     begin  
       ScannetOkTilTjekkodeLyd := '';  
     end;  
940    
941    
942    
943        LabelPrint := TLabelPrint.Create( self, Config, Config.PrinterNavn );
944      LabelPrint := TLabelPrint.Create( self, Config, PrinterNavn );      LabelPrint.CheckPrintQue('Opstart', Config.PrinterNavn);
     LabelPrint.CheckPrintQue('Opstart', PrinterNavn);  
945    
946    finally    finally
947      Free;      Free;
# Line 1070  begin Line 950  begin
950      // UBD skal p.t. ikke have adgang til flg. funktioner      // UBD skal p.t. ikke have adgang til flg. funktioner
951      if ( (Sted = '1') or (Sted = '2') or (Sted = '3') or (Sted = '4') ) then      if ( (Sted = '1') or (Sted = '2') or (Sted = '3') or (Sted = '4') ) then
952      begin      begin
953        ReturpakkerfraDAO1.Visible := false;        menuNatxpressReturDAO1.Visible := false;
954        Returpakkerfraboghandler1.Visible := false;        menuNatxpressReturfraKunde1.Visible := false;
955        Budlevering1.Visible := false;        menuDaoDirekte1.Visible := false;
956        Storepakker1.Visible := false;        menuStorePakker.Visible := false;
957        Smpakker1.Visible := false;        menuSmaaPakker.Visible := false;
958        Testprinter1.Visible := false;        Testprinter1.Visible := false;
959        Pakkeshoplevering1.Visible := false;        menuPakkeshop1.Visible := false;
960        Returpakkerfrapakkeshop1.Visible := false;        menuPakkeshopRetur1.Visible := false;
961      end;      end;
962    
963      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
# Line 1426  begin Line 1306  begin
1306      if (Length(Stregkode) > 8) then      if (Length(Stregkode) > 8) then
1307      begin      begin
1308        // Her skal vi så forespørge pakketype på serveren udfra stregkode feltet        // Her skal vi så forespørge pakketype på serveren udfra stregkode feltet
1309        URLStr := Format(UrlFindPakketype,[Stregkode]);        URLStr := Format(Config.UrlFindPakketype,[Stregkode]);
1310        try        try
1311          //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST          //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
1312          WebSvar := IdHTTP1.Get(URLStr);          WebSvar := IdHTTP1.Get(URLStr);
# Line 1481  begin Line 1361  begin
1361         exit;         exit;
1362      end;      end;
1363    
1364      if (Automatiskvalg1.Checked and (Length(Stregkode) > 8) ) then      if (menuAutomatiskvalg1.Checked and (Length(Stregkode) > 8) ) then
1365      begin      begin
1366        GemStregkode := Stregkode;        GemStregkode := Stregkode;
1367        if Pakketype = 'NatXpress' then        if Pakketype = 'NatXpress' then
# Line 1510  begin Line 1390  begin
1390                InitPakkeshoplevering();                InitPakkeshoplevering();
1391              end;              end;
1392            end            end
1393        // Retur kan ikke scannes med 'Automatisk valg'       else if Pakketype = 'PakkeshopRetur' then
1394              begin
1395                if Scanningtype <> '6' then
1396                begin
1397                 VisAlarmSkaerm( Stregkode + ' Pakkeshop retur,'#13#10' kan ikke bruges med automatisk valg' );
1398    
1399                 exit;
1400                end;
1401              end
1402    
1403    
1404        else        else
1405            begin            begin
# Line 1522  begin Line 1411  begin
1411            end;            end;
1412        Stregkode := GemStregkode;        Stregkode := GemStregkode;
1413      end      end
1414      else if Automatiskvalg1.Checked and (PakkeshopText1.Caption = 'Stregkode') then      else if menuAutomatiskvalg1.Checked and (PakkeshopText1.Caption = 'Stregkode') then
1415      begin      begin
1416        VisAlarmSkaerm( 'Pakkenummer ikke gyldigt (for kort)' );        VisAlarmSkaerm( 'Pakkenummer ikke gyldigt (for kort)' );
1417    
1418        exit;        exit;
1419      end;      end;
1420    
1421      if not Automatiskvalg1.Checked then      if not menuAutomatiskvalg1.Checked then
1422      begin      begin
1423        if ( (Pakkescanningtype <> Scanningtype) and (Scanningtype <> '2') and (Scanningtype <> '3') ) then        if ( (Pakkescanningtype <> Scanningtype) and (Scanningtype <> '2') and (Scanningtype <> '3') ) then
1424        begin        begin
# Line 1542  begin Line 1431  begin
1431    
1432    
1433    
1434      if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and Automatisktjekkodestyring1.Checked then      if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and menuAutomatiskTjekkodeStyring.Checked then
1435      begin      begin
1436        chkScanTjekkode.Checked := false;        chkScanTjekkode.Checked := false;
1437        for i := 0 to length(stregkoderMedTjekkodeArray)-1 do        for i := 0 to length(stregkoderMedTjekkodeArray)-1 do
# Line 1555  begin Line 1444  begin
1444        end;        end;
1445      end;      end;
1446    
1447      if Pakkernormal1.Checked and not Scanogstjekkoden1.Checked then      if menuNatXpress1.Checked and not Scanogstjekkoden1.Checked then
1448        begin        begin
1449          // Når vi ikke kræver tjekkode er alt ok her          // Når vi ikke kræver tjekkode er alt ok her
1450             BoghandlerStregkode := Stregkode;             BoghandlerStregkode := Stregkode;
# Line 1565  begin Line 1454  begin
1454             Stregkode := '';             Stregkode := '';
1455             InitScreen();             InitScreen();
1456        end        end
1457      else if (PakkeshopLevering1.Checked or Pakkernormal1.Checked) and not Scanogstjekkoden1.Checked then      else if (menuPakkeshop1.Checked or menuNatXpress1.Checked) and not Scanogstjekkoden1.Checked then
1458        begin        begin
1459          // Når vi ikke kræver tjekkode er alt ok her          // Når vi ikke kræver tjekkode er alt ok her
1460             PakkeshopStregkode := Stregkode;             PakkeshopStregkode := Stregkode;
# Line 1577  begin Line 1466  begin
1466             Stregkode := '';             Stregkode := '';
1467             InitScreen();             InitScreen();
1468        end        end
1469      else if PakkeshopLevering1.Checked or Pakkernormal1.Checked then      else if menuPakkeshop1.Checked or menuNatXpress1.Checked then
1470        if PakkeshopText1.Caption = 'Stregkode' then        if PakkeshopText1.Caption = 'Stregkode' then
1471         begin         begin
1472            if length(Stregkode) > 5 then            if length(Stregkode) > 5 then
# Line 1586  begin Line 1475  begin
1475              BoghandlerStregkode := Stregkode;              BoghandlerStregkode := Stregkode;
1476              PakkeshopText1.Caption := 'Tjekkode';              PakkeshopText1.Caption := 'Tjekkode';
1477    
1478              PlaySound(PWideChar(ScannetOkTilTjekkodeLyd));              PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd));
1479    
1480             end             end
1481            else            else
# Line 1603  begin Line 1492  begin
1492             PakkeshopTjekkode := Stregkode;             PakkeshopTjekkode := Stregkode;
1493             BoghandlerTjekkode := Stregkode;             BoghandlerTjekkode := Stregkode;
1494             PakkeshopText1.Caption := 'Stregkode';             PakkeshopText1.Caption := 'Stregkode';
1495             if (PakkeshopLevering1.Checked) then             if (menuPakkeshop1.Checked) then
1496                MainForm.Color := TUtils.HexToTColor(FarvePakkeshoplevering);                MainForm.Color := TUtils.HexToTColor(Config.FarvePakkeshoplevering);
1497             if (Pakkernormal1.Checked) then             if (menuNatXpress1.Checked) then
1498                MainForm.Color := TUtils.HexToTColor(FarveNormal);                MainForm.Color := TUtils.HexToTColor(Config.FarveNormal);
1499             btnNulstil.Visible := false;             btnNulstil.Visible := false;
1500           end           end
1501          else          else
1502           begin           begin
1503                if (PakkeshopLevering1.Checked) then                if (menuPakkeshop1.Checked) then
1504                  VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + PakkeshopStregkode);                  VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + PakkeshopStregkode);
1505                if (Pakkernormal1.Checked) then                if (menuNatXpress1.Checked) then
1506                  VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + BoghandlerStregkode);                  VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + BoghandlerStregkode);
1507                                    
1508                StregKode := '';                StregKode := '';
# Line 1625  begin Line 1514  begin
1514          InitScreen();          InitScreen();
1515       end;       end;
1516    
1517      if not PakkeshopLevering1.Checked and not Pakkernormal1.Checked or (PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '')) or (Pakkernormal1.Checked and (Scanogstjekkoden1.Checked and (BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked)) then      if not menuPakkeshop1.Checked and not menuNatXpress1.Checked or (menuPakkeshop1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '')) or (menuNatXpress1.Checked and (Scanogstjekkoden1.Checked and (BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked)) then
1518      begin      begin
1519    
1520         if PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '') then         if menuPakkeshop1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '') then
1521            StregKode := PakkeshopStregkode;            StregKode := PakkeshopStregkode;
1522         if Pakkernormal1.Checked and ((BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked) then         if menuNatXpress1.Checked and ((BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked) then
1523            StregKode := BoghandlerStregkode;            StregKode := BoghandlerStregkode;
1524         StregkodeST.Caption := StregKode;         StregkodeST.Caption := StregKode;
1525         try         try
# Line 1644  begin Line 1533  begin
1533    
1534              exit;              exit;
1535            end;            end;
1536            if (Pakkernormal1.Checked or Budlevering1.Checked or PakkeshopLevering1.Checked) then            if (menuNatXpress1.Checked or menuDaoDirekte1.Checked or menuPakkeshop1.Checked) then
1537            begin            begin
1538              PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel);              PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel);
1539              pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);              pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);
# Line 1660  begin Line 1549  begin
1549              tjekkodemangler := pos('Tjekkode mangler', Kommentar);              tjekkodemangler := pos('Tjekkode mangler', Kommentar);
1550              if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then              if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then
1551              begin              begin
1552                PlaySound(PWideChar(AlarmLyd));                PlaySound(PWideChar(Config.AlarmLyd));
1553                btnNulstil.Visible := true;                btnNulstil.Visible := true;
1554                MainForm.Color := clRed;                MainForm.Color := clRed;
1555              end;              end;
1556           end;           end;
1557            if ( Pakkernormal1.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
1558            begin            begin
1559              MainForm.Color := TUtils.HexToTColor(Farve);              MainForm.Color := TUtils.HexToTColor(Farve);
1560              if Storepakker1.Checked then              if menuStorePakker.Checked then
1561              begin              begin
1562                PlaySound(PWideChar(ScannetOkStorLyd));                PlaySound(PWideChar(Config.ScannetOkStorLyd));
1563              end              end
1564              else              else
1565              begin              begin
1566                PlaySound(PWideChar(ScannetOkLyd));                PlaySound(PWideChar(Config.ScannetOkLyd));
1567              end;              end;
1568              btnNulstil.Visible := false;              btnNulstil.Visible := false;
1569            end            end
1570            else if (Returpakkerfradao1.Checked or Returpakkerfraboghandler1.Checked) then            else if (menuNatxpressReturDAO1.Checked or menuNatxpressReturfraKunde1.Checked) then
1571            begin            begin
1572              MainForm.Color := TUtils.HexToTColor(Farve);              MainForm.Color := TUtils.HexToTColor(Farve);
1573              if Storepakker1.Checked then              if menuStorePakker.Checked then
1574              begin              begin
1575                PlaySound(PWideChar(ScannetOkStorLyd));                PlaySound(PWideChar(Config.ScannetOkStorLyd));
1576              end              end
1577              else              else
1578              begin              begin
1579                PlaySound(PWideChar(ScannetOkLyd));                PlaySound(PWideChar(Config.ScannetOkLyd));
1580              end;              end;
1581              btnNulstil.Visible := false;              btnNulstil.Visible := false;
1582            end            end
# Line 1706  begin Line 1595  begin
1595           if not btnNulstil.Visible then           if not btnNulstil.Visible then
1596            begin            begin
1597    
1598              If (Budlevering1.Checked) then              If (menuDaoDirekte1.Checked) then
1599              begin              begin
1600                if Storepakker1.Checked then                if menuStorePakker.Checked then
1601                begin                begin
1602                  PlaySound(PWideChar(ScannetOkStorLyd));                  PlaySound(PWideChar(Config.ScannetOkStorLyd));
1603                end                end
1604                else                else
1605                begin                begin
1606                  PlaySound(PWideChar(ScannetOkLyd));                  PlaySound(PWideChar(Config.ScannetOkLyd));
1607                end;                end;
1608                InitLillePakke();                InitLillePakke();
1609              end;              end;
# Line 1768  var Line 1657  var
1657    WebSvar : String;    WebSvar : String;
1658    URLStr : String;    URLStr : String;
1659  begin  begin
1660    if UrlSendPrograminfo <> '' then    if Config.UrlSendPrograminfo <> '' then
1661    begin    begin
1662      URLStr := Format(UrlSendPrograminfo,[ExtractFileName(ParamStr(0)), Sted, Scanningtype, Infotype, Info]);      URLStr := Format(Config.UrlSendPrograminfo,[ExtractFileName(ParamStr(0)), Sted, Scanningtype, Infotype, Info]);
1663      try      try
1664        //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST        //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
1665        WebSvar := IdHTTP1.Get(URLStr);        WebSvar := IdHTTP1.Get(URLStr);
# Line 1783  begin Line 1672  begin
1672        ShowMessage(logTekst);        ShowMessage(logTekst);
1673        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
1674        // 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
1675        UrlSendPrograminfo := '';        Config.UrlSendPrograminfo := '';
1676        Application.Terminate;        Application.Terminate;
1677      end;      end;
1678      end;      end;
# Line 1802  var Line 1691  var
1691    
1692    
1693  begin  begin
1694      if Budlevering1.Checked or Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked or Pakkernormal1.Checked or menuIndlevering.Checked then      if menuDaoDirekte1.Checked or menuPakkeshop1.Checked or menuPakkeshopRetur1.Checked or menuNatXpress1.Checked or menuIndlevering.Checked then
1695      begin      begin
1696        for i := ListBox2.items.count-1 downto 0 do        for i := ListBox2.items.count-1 downto 0 do
1697          if pos(StregKode,ListBox2.items[i]) <> 0 then          if pos(StregKode,ListBox2.items[i]) <> 0 then
1698          begin          begin
1699              wrkAntalSenere := 0;//initial Value
1700    
1701            // Ajourføring af tæller for manglende pakker (scanninger)            // Ajourføring af tæller for manglende pakker (scanninger)
1702            wrkAntal := StaticTextManglendePakker.Caption;            wrkAntal := StaticTextManglendePakker.Caption;
# Line 1951  procedure TMainForm.InitBladhus(); Line 1841  procedure TMainForm.InitBladhus();
1841    
1842  begin  begin
1843    Altidprintepakkelabel1.Enabled := false;    Altidprintepakkelabel1.Enabled := false;
1844    Pakkernormal1.Visible := false;    menuNatXpress1.Visible := false;
1845    ReturpakkerfraDAO1.Visible := false;    menuNatxpressReturDAO1.Visible := false;
1846    Returpakkerfraboghandler1.Visible := false;    menuNatxpressReturfraKunde1.Visible := false;
1847    Sprgefterboghandlernummer1.Enabled := false;    Sprgefterboghandlernummer1.Enabled := false;
1848    ListBox1.Visible := true;    ListBox1.Visible := true;
1849  //  TestFunktionen := '1';  //  TestFunktionen := '1';
1850    
1851    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
1852    begin    begin
1853      IndlesScanningLogFil();      IndlesScanningLogFil();
1854    end;    end;
# Line 1982  begin Line 1872  begin
1872      02 :      02 :
1873            begin;    // BK            begin;    // BK
1874              Testprinter1.Visible := true;              Testprinter1.Visible := true;
1875              Smpakker1.Enabled := true;              menuSmaaPakker.Enabled := true;
1876              Storepakker1.Enabled := true;              menuStorePakker.Enabled := true;
1877              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
1878              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
1879              BtnDownloadKontrolfil.Enabled := false;     // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;     // kontrolfil bruges ikke her
# Line 2020  begin Line 1910  begin
1910            end;            end;
1911      04 :  begin;           // DBK      04 :  begin;           // DBK
1912              Testprinter1.Visible := true;              Testprinter1.Visible := true;
1913              Smpakker1.Enabled := true;              menuSmaaPakker.Enabled := true;
1914              Storepakker1.Enabled := true;              menuStorePakker.Enabled := true;
1915              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
1916              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
1917              BtnDownloadKontrolfil.Enabled := false;    // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;    // kontrolfil bruges ikke her
# Line 2042  var Line 1932  var
1932    pakkestorrelse : String;    pakkestorrelse : String;
1933    PrintNyLabelInteger : Integer;    PrintNyLabelInteger : Integer;
1934    
1935    PakkeshopLabel: TPakkeshopLabel;    PakkeshopLabel: TLabelData;
1936  begin  begin
1937    if radioStorPakke.Checked then    if radioStorPakke.Checked then
1938    begin    begin
# Line 2054  begin Line 1944  begin
1944    end;    end;
1945    
1946    
1947    if Pakkernormal1.Checked then    if menuNatXpress1.Checked then
1948    begin    begin
1949       if (BoghandlerTjekkode = '') then       if (BoghandlerTjekkode = '') then
1950       begin       begin
1951         BoghandlerTjekkode := '-1';         BoghandlerTjekkode := '-1';
1952       end;       end;
1953       URLStr := Format(UrlNormal,[Sted, PakkeNr, BoghandlerNummer, BoghandlerTjekkode]);       URLStr := Format(Config.UrlNormal,[Sted, PakkeNr, BoghandlerNummer, BoghandlerTjekkode]);
1954    end    end
1955    else if ReturpakkerfraDAO1.Checked then    else if menuNatxpressReturDAO1.Checked then
1956    begin    begin
1957       URLStr := Format(UrlReturDAO,[Sted, PakkeNr, BoghandlerNummer, 'DAO', pakkestorrelse]);       URLStr := Format(Config.UrlReturDAO,[Sted, PakkeNr, BoghandlerNummer, 'DAO', pakkestorrelse]);
1958    end    end
1959    else if Returpakkerfraboghandler1.Checked then    else if menuNatxpressReturfraKunde1.Checked then
1960    begin    begin
1961       URLStr := Format(UrlReturBoghandler,[Sted, PakkeNr, BoghandlerNummer, 'Boghandler', pakkestorrelse]);       URLStr := Format(Config.UrlReturBoghandler,[Sted, PakkeNr, BoghandlerNummer, 'Boghandler', pakkestorrelse]);
1962    end    end
1963    else if Budlevering1.Checked then    else if menuDaoDirekte1.Checked then
1964    begin    begin
1965       URLStr := Format(UrlBudlevering,[Sted, PakkeNr, 'bud', pakkestorrelse]);       URLStr := Format(Config.UrlBudlevering,[Sted, PakkeNr, 'bud', pakkestorrelse]);
1966    end    end
1967    else if Pakkeshoplevering1.Checked then    else if menuPakkeshop1.Checked then
1968    begin    begin
1969       URLStr := Format(UrlPakkeshoplevering,[Sted, PakkeNr, PakkeshopTjekkode]);       URLStr := Format(Config.UrlPakkeshoplevering,[Sted, PakkeNr, PakkeshopTjekkode]);
1970    end    end
1971    else if Returpakkerfrapakkeshop1.Checked then    else if menuPakkeshopRetur1.Checked then
1972    begin    begin
1973       URLStr := Format(UrlReturPakkeshop,[Sted, PakkeNr]);       URLStr := Format(Config.UrlReturPakkeshop,[Sted, PakkeNr]);
1974    end    end
1975    else if menuIndlevering.Checked then    else if menuIndlevering.Checked then
1976    begin    begin
1977      URLStr := Format(UrlIndleveringsPakke,[Sted, PakkeNr]);      URLStr := Format(Config.UrlIndleveringsPakke,[Sted, PakkeNr]);
1978    end    end
1979    else    else
1980    begin    begin
# Line 2093  begin Line 1983  begin
1983    
1984    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
1985    begin    begin
1986      URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);      URLStr := Format(Config.URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
1987    end;    end;
1988    
1989    try    try
# Line 2120  begin Line 2010  begin
2010    
2011    XMLDocument1.LoadFromXML(WebSvar);    XMLDocument1.LoadFromXML(WebSvar);
2012    try    try
2013      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then      if menuPakkeshop1.Checked or menuPakkeshopRetur1.Checked then
2014       begin       begin
2015        RuteNummer := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopTurid').Text;        RuteNummer := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopTurid').Text;
2016        Kommentar := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('Stregkodematch').Text;        Kommentar := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('Stregkodematch').Text;
# Line 2128  begin Line 2018  begin
2018        BoghandlerNavn := BoghandlerNavn + ' ' + XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNavn').Text;        BoghandlerNavn := BoghandlerNavn + ' ' + XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNavn').Text;
2019        PrintNyLabel := False;        PrintNyLabel := False;
2020    
2021        if Pakkeshoplevering1.Checked then        if menuPakkeshop1.Checked then
2022        begin        begin
2023          try          try
2024            PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);            PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);
# Line 2151  begin Line 2041  begin
2041       if (Kommentar = 'Ok') then       if (Kommentar = 'Ok') then
2042       begin       begin
2043         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label
2044         PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc         PakkeshopLabel := TLabelData.Create( XMLDocument1 ); //Opret struct og parse xml doc
2045         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;
2046         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2047    
2048         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel );
2049         chkForstorTilDirekte.Checked := false;         chkForstorTilDirekte.Checked := false;
2050    
2051       end;       end;
# Line 2169  begin Line 2059  begin
2059        Kommentar := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Kommentar').Text;        Kommentar := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Kommentar').Text;
2060        BoghandlerNavn := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('BoghandlerNavn').Text;        BoghandlerNavn := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('BoghandlerNavn').Text;
2061        Leveringssted := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Leveringssted').Text;        Leveringssted := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Leveringssted').Text;
2062        if Budlevering1.Checked then        if menuDaoDirekte1.Checked then
2063          begin          begin
2064          try          try
2065            SmsKode := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('SmsKode').Text;            SmsKode := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('SmsKode').Text;
# Line 2200  begin Line 2090  begin
2090      begin      begin
2091        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then
2092        begin        begin
2093            Kommentar := Kommentar + ' Pakke burde være hos DAO Distribution';            Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2094            PrintNyLabel := False;            //PrintNyLabel := False; //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel
2095        end;        end;
2096      end      end
2097      else if (Budlevering1.Checked) and (Leveringssted <> Sted) then      else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then
2098      begin      begin
2099         if (Leveringssted = 'E') and (Sted = 'DBK') then        Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2100         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;  
2101      end;      end;
2102    except on e:exception do    except on e:exception do
2103      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
# Line 2233  begin Line 2116  begin
2116    //Label1.Caption := Kommentar;   // bruges hvis der skal vises linieskift - det kan man ikke i en staticText    //Label1.Caption := Kommentar;   // bruges hvis der skal vises linieskift - det kan man ikke i en staticText
2117    BoghandlerNavnST.Caption := StringReplace(BoghandlerNavn, ' & ', ' && ', [rfReplaceAll, rfIgnoreCase]);    BoghandlerNavnST.Caption := StringReplace(BoghandlerNavn, ' & ', ' && ', [rfReplaceAll, rfIgnoreCase]);
2118    List1msg := TimeToStr(now) + '; ';    List1msg := TimeToStr(now) + '; ';
2119    if Pakkeshoplevering1.Checked then    if menuPakkeshop1.Checked then
2120      List1msg := List1msg + PakkeshopStregkode + ' ' + PakkeshopTjekkode + '; ' + KommentarST.Caption + '; ';      List1msg := List1msg + PakkeshopStregkode + ' ' + PakkeshopTjekkode + '; ' + KommentarST.Caption + '; ';
2121    List1Pakkestorrelse := '';    List1Pakkestorrelse := '';
2122    if radioStorPakke.Checked then    if radioStorPakke.Checked then
# Line 2245  begin Line 2128  begin
2128      List1Pakkestorrelse := 'Lille pakke';      List1Pakkestorrelse := 'Lille pakke';
2129    end;    end;
2130    List1msg := List1msg + BoghandlerNavn + '; ';    List1msg := List1msg + BoghandlerNavn + '; ';
2131    if ReturpakkerfraDAO1.Checked then    if menuNatxpressReturDAO1.Checked then
2132    begin    begin
2133      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-8);      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-8);
2134    end;    end;
2135    if Returpakkerfraboghandler1.Checked then    if menuNatxpressReturfraKunde1.Checked then
2136    begin    begin
2137      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-16);      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-16);
2138    end;    end;
2139    if ReturpakkerfraDAO1.Checked or Returpakkerfraboghandler1.Checked then    if menuNatxpressReturDAO1.Checked or menuNatxpressReturfraKunde1.Checked then
2140       List1msg := List1msg + '; ' + List1Pakkestorrelse;       List1msg := List1msg + '; ' + List1Pakkestorrelse;
2141    if length(BoghNr) > 0 then    if length(BoghNr) > 0 then
2142    begin    begin
2143      List1Msg := List1Msg + '; Indtastet ' + BoghNr;      List1Msg := List1Msg + '; Indtastet ' + BoghNr;
2144    end;    end;
2145    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2146    begin    begin
2147       List1msg := TimeToStr(now) + '; ' + Kommentar + '; ' + BoghandlerNavn;       List1msg := TimeToStr(now) + '; ' + Kommentar + '; ' + BoghandlerNavn;
2148        if (radioStorPakke.Checked) then        if (radioStorPakke.Checked) then
# Line 2271  begin Line 2154  begin
2154          List1msg := List1msg + '; Lille pakke';          List1msg := List1msg + '; Lille pakke';
2155        end;        end;
2156    end;    end;
2157    if Returpakkerfrapakkeshop1.Checked then    if menuPakkeshopRetur1.Checked then
2158    begin    begin
2159      List1msg := List1msg + Stregkode + ' ' + RightStr(Kommentar, Length(Kommentar)-6);      List1msg := List1msg + Stregkode + ' ' + RightStr(Kommentar, Length(Kommentar)-6);
2160    end;    end;
2161    if Pakkernormal1.Checked then    if menuNatXpress1.Checked then
2162    begin    begin
2163      if (Kommentar = '***** Kommentar *****')                       // fra test printer funktionen      if (Kommentar = '***** Kommentar *****')                       // fra test printer funktionen
2164      or (BoghandlerNavn = 'Forbindelse ok')                         // fra test forbindelse funktionen      or (BoghandlerNavn = 'Forbindelse ok')                         // fra test forbindelse funktionen
# Line 2315  pakkeForkertSted : Integer; Line 2198  pakkeForkertSted : Integer;
2198    kontrolKoreliste : string;    kontrolKoreliste : string;
2199    nytRuteNummer, nyFarve : String;    nytRuteNummer, nyFarve : String;
2200  begin  begin
2201    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2202       RuteNummerST.Color := TUtils.HexToTColor(Farve);       RuteNummerST.Color := TUtils.HexToTColor(Farve);
2203    
2204    pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);    pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);
# Line 2353  begin Line 2236  begin
2236        end;        end;
2237    end    end
2238    else    else
2239    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2240    begin    begin
2241       if (BoghandlerNavn = 'Ukendt pakke') then       if (BoghandlerNavn = 'Ukendt pakke') then
2242       begin       begin
2243          PrintNyLabel := false;          PrintNyLabel := false;
2244    
2245          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
2246          MainForm.Color := clRed;          MainForm.Color := clRed;
2247          btnNulstil.Visible := true;          btnNulstil.Visible := true;
2248    
# Line 2379  begin Line 2262  begin
2262            logTekst := RightStr(List1Msg, Length(List1Msg)-10);            logTekst := RightStr(List1Msg, Length(List1Msg)-10);
2263            SkrivScanningLogFil(logTekst);            SkrivScanningLogFil(logTekst);
2264    
2265            if (PrinterNavn = 'Ingen') then            if (Config.PrinterNavn = 'Ingen') then
2266            begin            begin
2267               PrintNyLabel := false;               PrintNyLabel := false;
2268            end;            end;
2269    
2270            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
2271            begin            begin
2272              PlaySound(PWideChar(AlarmLyd));              PlaySound(PWideChar(Config.AlarmLyd));
2273              MainForm.Color := clRed;              MainForm.Color := clRed;
2274              btnNulstil.Visible := true;              btnNulstil.Visible := true;
2275            end;            end;
# Line 2412  begin Line 2295  begin
2295    
2296            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
2297            begin            begin
2298              PlaySound(PWideChar(AlarmLyd));              PlaySound(PWideChar(Config.AlarmLyd));
2299              MainForm.Color := clRed;              MainForm.Color := clRed;
2300              btnNulstil.Visible := true;              btnNulstil.Visible := true;
2301            end;            end;
# Line 2422  begin Line 2305  begin
2305    
2306    end;    end;
2307    
2308    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2309    begin    begin
2310      case BladhusSted of      case BladhusSted of
2311        00 :  begin;        00 :  begin;
# Line 2471  begin Line 2354  begin
2354    end;    end;
2355    
2356  // Hvis det er normal bogpakke modtagelse til UBD skal vi p.t. ikke printe - men stopper her  // Hvis det er normal bogpakke modtagelse til UBD skal vi p.t. ikke printe - men stopper her
2357    if Pakkernormal1.Checked and ( (Sted = '1') or (Sted = '2') or (Sted = '3') or (Sted = '4') ) then    if menuNatXpress1.Checked and ( (Sted = '1') or (Sted = '2') or (Sted = '3') or (Sted = '4') ) then
2358    begin    begin
2359      exit;      exit;
2360    end;    end;
2361    
2362    if Budlevering1.Checked or ( Sprgefterboghandlernummer1.Enabled and chkSporgEfterKunde.Checked and ( (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) ) and (printNyLabel = false) ) then    if menuDaoDirekte1.Checked or ( Sprgefterboghandlernummer1.Enabled and chkSporgEfterKunde.Checked and ( (RuteNummer = 'Ukendt') or (RuteNummer = 'Ukendt tur') or (RuteNummer = 'Retur ukendt') or (pakkeErScannet > 0) ) and (printNyLabel = false) ) then
2363    begin    begin
2364    end    end
2365    else    else
2366    begin    begin
2367      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
2368      begin      begin
2369        logTekst := 'Printer label type ';        logTekst := 'Printer label type ';
2370        if (chkAltidPrintLabel.Checked) then        if (chkAltidPrintLabel.Checked) then
# Line 2510  end; Line 2393  end;
2393    
2394  procedure TMainForm.radioStorPakkeClick(Sender: TObject);  procedure TMainForm.radioStorPakkeClick(Sender: TObject);
2395  begin  begin
2396      Storepakker1.Checked := true;      menuStorePakker.Checked := true;
2397      radioStorPakke.Checked := true;      radioStorPakke.Checked := true;
2398  end;  end;
2399    
2400  procedure TMainForm.radioLillePakkeClick(Sender: TObject);  procedure TMainForm.radioLillePakkeClick(Sender: TObject);
2401  begin  begin
2402      Smpakker1.Checked := true;      menuSmaaPakker.Checked := true;
2403      radioLillePakke.Checked := true;      radioLillePakke.Checked := true;
2404  end;  end;
2405    
# Line 2559  begin Line 2442  begin
2442    end;    end;
2443  end;  end;
2444    
2445  procedure TMainForm.Pakkeshoplevering1Click(Sender: TObject);  procedure TMainForm.menuPakkeshop1Click(Sender: TObject);
2446  begin  begin
2447        Scanningtype := '5';        Scanningtype := '5';
2448        InitPakkeshoplevering();        InitPakkeshoplevering();
# Line 2568  end; Line 2451  end;
2451    
2452  procedure TMainForm.NulstilAutomatiskValg();  procedure TMainForm.NulstilAutomatiskValg();
2453  begin  begin
2454      Automatiskvalg1.Checked := false;      menuAutomatiskvalg1.Checked := false;
2455      PanelValgA.Color := clBtnFace;      PanelValgA.Color := clBtnFace;
2456      PanelValgA.Font.Color := clWindowText;      PanelValgA.Font.Color := clWindowText;
2457    
# Line 2580  begin Line 2463  begin
2463        // her skal vi også disable knappen for 01, 02, 03 og 04 (NS, BK, FD og DBK)        // her skal vi også disable knappen for 01, 02, 03 og 04 (NS, BK, FD og DBK)
2464        PanelValgA.Enabled := false;        PanelValgA.Enabled := false;
2465        PanelValgA.Font.Color := clInactiveCaption;        PanelValgA.Font.Color := clInactiveCaption;
2466        Automatiskvalg1.Enabled := false;        menuAutomatiskvalg1.Enabled := false;
2467      end;      end;
2468  // 20150317: slut  // 20150317: slut
2469  end;  end;
# Line 2606  begin Line 2489  begin
2489      // Tjekker UrlNormal      // Tjekker UrlNormal
2490      if PanelValg1.Enabled = true then      if PanelValg1.Enabled = true then
2491      begin      begin
2492        TjekkerEnkeltUrl('UrlNormal', UrlNormal, urlFejl);        TjekkerEnkeltUrl('UrlNormal', Config.UrlNormal, urlFejl);
2493      end;      end;
2494    
2495      // Tjekker UrlReturDAO      // Tjekker UrlReturDAO
2496      if PanelValg2.Enabled = true then      if PanelValg2.Enabled = true then
2497      begin      begin
2498        TjekkerEnkeltUrl('UrlReturDAO', UrlReturDAO, urlFejl);        TjekkerEnkeltUrl('UrlReturDAO', Config.UrlReturDAO, urlFejl);
2499      end;      end;
2500    
2501      // Tjekker UrlReturBoghandler      // Tjekker UrlReturBoghandler
2502      if PanelValg3.Enabled = true then      if PanelValg3.Enabled = true then
2503      begin      begin
2504        TjekkerEnkeltUrl('UrlReturBoghandler', UrlReturBoghandler, urlFejl);        TjekkerEnkeltUrl('UrlReturBoghandler', Config.UrlReturBoghandler, urlFejl);
2505      end;      end;
2506    
2507      // Tjekker UrlBudlevering      // Tjekker UrlBudlevering
2508      if PanelValg4.Enabled = true then      if PanelValg4.Enabled = true then
2509      begin      begin
2510        TjekkerEnkeltUrl('UrlBudlevering', UrlBudlevering, urlFejl);        TjekkerEnkeltUrl('UrlBudlevering', Config.UrlBudlevering, urlFejl);
2511      end;      end;
2512    
2513      // Tjekker UrlPakkeshoplevering      // Tjekker UrlPakkeshoplevering
2514      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2515      begin      begin
2516        TjekkerEnkeltUrl('UrlPakkeshoplevering', UrlPakkeshoplevering, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshoplevering', Config.UrlPakkeshoplevering, urlFejl);
2517      end;      end;
2518    
2519      // Tjekker UrlReturPakkeshop      // Tjekker UrlReturPakkeshop
2520      if PanelValg6.Enabled = true then      if PanelValg6.Enabled = true then
2521      begin      begin
2522        TjekkerEnkeltUrl('UrlReturPakkeshop', UrlReturPakkeshop, urlFejl);        TjekkerEnkeltUrl('UrlReturPakkeshop', Config.UrlReturPakkeshop, urlFejl);
2523      end;      end;
2524    
2525      // Tjekker UrlManglendeScanninger      // Tjekker UrlManglendeScanninger
2526      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then
2527      begin      begin
2528        TjekkerEnkeltUrl('UrlManglendeScanninger', UrlManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlManglendeScanninger', Config.UrlManglendeScanninger, urlFejl);
2529      end;      end;
2530    
2531      // Tjekker UrlPakkeshopManglendeScanninger      // Tjekker UrlPakkeshopManglendeScanninger
2532      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2533      begin      begin
2534        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', UrlPakkeshopManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', Config.UrlPakkeshopManglendeScanninger, urlFejl);
2535      end;      end;
2536    
2537      // Tjekker UrlPakkeshopManglendeReturScanninger      // Tjekker UrlPakkeshopManglendeReturScanninger
2538      if PanelValg6.Enabled = true then      if PanelValg6.Enabled = true then
2539      begin      begin
2540        TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', UrlPakkeshopManglendeReturScanninger, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', Config.UrlPakkeshopManglendeReturScanninger, urlFejl);
2541      end;      end;
2542    
2543     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger
2544      if PanelValg7.Enabled = true then      if PanelValg7.Enabled = true then
2545      begin      begin
2546        TjekkerEnkeltUrl('UrlIndleveringsPakke', UrlIndleveringsPakke, urlFejl);        TjekkerEnkeltUrl('UrlIndleveringsPakke', Config.UrlIndleveringsPakke, urlFejl);
2547        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', UrlIndleveringsPakkeManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', Config.UrlIndleveringsPakkeManglendeScanninger, urlFejl);
2548      end;      end;
2549    
2550      // Tjekker UrlEKLoverforsel      // Tjekker UrlEKLoverforsel
2551      if PanelValg1.Enabled = true then      if PanelValg1.Enabled = true then
2552      begin      begin
2553        TjekkerEnkeltUrl('UrlEKLoverforsel', UrlEKLoverforsel, urlFejl);        TjekkerEnkeltUrl('UrlEKLoverforsel', Config.UrlEKLoverforsel, urlFejl);
2554      end;      end;
2555    
2556    
2557      // Tjekker UrlEKLoverforselPakkeshop      // Tjekker UrlEKLoverforselPakkeshop
2558      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2559      begin      begin
2560        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', UrlEKLoverforselPakkeshop, urlFejl);        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', Config.UrlEKLoverforselPakkeshop, urlFejl);
2561      end;      end;
2562    
2563    
2564      // Tjekker UrlFindPakketype      // Tjekker UrlFindPakketype
2565      TjekkerEnkeltUrl('UrlFindPakketype', UrlFindPakketype, urlFejl);      TjekkerEnkeltUrl('UrlFindPakketype', Config.UrlFindPakketype, urlFejl);
2566    
2567      // Tjekker UrlSendPrograminfo      // Tjekker UrlSendPrograminfo
2568      TjekkerEnkeltUrl('UrlSendPrograminfo', UrlSendPrograminfo, urlFejl);      TjekkerEnkeltUrl('UrlSendPrograminfo', Config.UrlSendPrograminfo, urlFejl);
2569    
2570    
2571    
# Line 2691  begin Line 2574  begin
2574      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
2575    
2576    Except    Except
2577      TjekUrls := '-';   // markerer at der var fejl      Config.TjekUrls := '-';   // markerer at der var fejl
2578    
2579    end;    end;
2580  end;  end;
# Line 2711  begin Line 2594  begin
2594      inc(urlFejl);   // Optæller antal fejl      inc(urlFejl);   // Optæller antal fejl
2595      logTekst := UrlNavn + ' svarer ikke: ' + Url;      logTekst := UrlNavn + ' svarer ikke: ' + Url;
2596      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2597      if TjekUrls = '1' then      if Config.TjekUrls = '1' then
2598      begin      begin
2599        logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';        logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
2600      end;      end;
2601    
2602      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
2603    
2604      if TjekUrls = '1' then      if Config.TjekUrls = '1' then
2605      begin      begin
2606        ShowMessage(logTekst);        ShowMessage(logTekst);
2607        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
2608        Application.Terminate;        Application.Terminate;
2609    
2610        raise Exception.Create('UrlFejl');        raise Exception.Create('UrlFejl');
# Line 2802  begin Line 2685  begin
2685    if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then    if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then
2686    begin    begin
2687       ShowMessage('Programmet afbrydes...');       ShowMessage('Programmet afbrydes...');
2688       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
2689       Application.Terminate;       Application.Terminate;
2690       exit;       exit;
2691    end;    end;
# Line 2813  begin Line 2696  begin
2696    begin    begin
2697       MainForm.Color := TUtils.HexToTColor(Farve);       MainForm.Color := TUtils.HexToTColor(Farve);
2698    end;    end;
2699    if (Budlevering1.Checked) then    if (menuDaoDirekte1.Checked) then
2700    begin    begin
2701       InitLillePakke();       InitLillePakke();
2702    end;    end;
# Line 2877  procedure TMainForm.PanelValgAClick(Send Line 2760  procedure TMainForm.PanelValgAClick(Send
2760  begin  begin
2761  // Skal ikke toggle men bare sætte funktionen on  // Skal ikke toggle men bare sætte funktionen on
2762  // Fravælges ved at vælge en scanningstype  // Fravælges ved at vælge en scanningstype
2763    AutomatiskValg1.Checked := true;    menuAutomatiskvalg1.Checked := true;
2764    PanelValgA.Color := clGreen;    PanelValgA.Color := clGreen;
2765    PanelValgA.Font.Color := clWhite;    PanelValgA.Font.Color := clWhite;
2766    
# Line 2885  begin Line 2768  begin
2768    
2769  end;  end;
2770    
2771  procedure TMainForm.Pakkernormal1Click(Sender: TObject);  procedure TMainForm.menuNatXpress1Click(Sender: TObject);
2772  begin  begin
2773        Scanningtype := '1';        Scanningtype := '1';
2774        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 2904  var Line 2787  var
2787    Leveringssted : String;    Leveringssted : String;
2788    orgTjekUrls : String;    orgTjekUrls : String;
2789  begin  begin
2790    orgTjekUrls := TjekUrls;    orgTjekUrls := Config.TjekUrls;
2791    if (TjekUrls = '1') or (TjekUrls = '2') then    if (Config.TjekUrls = '1') or (Config.TjekUrls = '2') then
2792    begin    begin
2793      TjekkerUrls();      TjekkerUrls();
2794    end;    end;
2795    if TjekUrls = '-' then    if Config.TjekUrls = '-' then
2796    begin    begin
2797      //ShowMessage('Der var fejl i een eller flere urls - se logvinduet');      //ShowMessage('Der var fejl i een eller flere urls - se logvinduet');
2798      RuteNummer := '';      RuteNummer := '';
# Line 2918  begin Line 2801  begin
2801      Koreliste := '';      Koreliste := '';
2802      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2803      // Her kommer en alarm og rød skærm      // Her kommer en alarm og rød skærm
2804      PlaySound(PWideChar(AlarmLyd));      PlaySound(PWideChar(Config.AlarmLyd));
2805      MainForm.Color := clRed;      MainForm.Color := clRed;
2806      btnNulstil.Visible := true;      btnNulstil.Visible := true;
2807    end    end
# Line 2934  begin Line 2817  begin
2817      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2818      FocusControl(StregkodeST);      FocusControl(StregkodeST);
2819    end;    end;
2820    TjekUrls := orgTjekUrls;    Config.TjekUrls := orgTjekUrls;
2821    
2822  end;  end;
2823    
# Line 2959  begin Line 2842  begin
2842    begin    begin
2843      ShowMessage('Der er ikke installeret en printer på denne PC.');      ShowMessage('Der er ikke installeret en printer på denne PC.');
2844    end    end
2845    else if PrinterNavn = 'Ingen' then    else if Config.PrinterNavn = 'Ingen' then
2846    begin    begin
2847      ShowMessage('Der er fravalgt printer i dette program.');      ShowMessage('Der er fravalgt printer i dette program.');
2848    end    end
# Line 2970  begin Line 2853  begin
2853      DBKbane := '999';      DBKbane := '999';
2854      Leveringssted := 'XXX';      Leveringssted := 'XXX';
2855      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2856      LabelPrint.CheckPrintQue('Test', PrinterNavn);      LabelPrint.CheckPrintQue('Test', Config.PrinterNavn);
2857    end;    end;
2858    FocusControl(StregkodeST);    FocusControl(StregkodeST);
2859  end;  end;
2860    
2861  procedure TMainForm.Timer1Timer(Sender: TObject);  procedure TMainForm.Timer1Timer(Sender: TObject);
2862  begin  begin
2863    if (TjekPrinter = '1') then    if (Config.TjekPrinter = '1') then
2864    begin    begin
2865      LabelPrint.CheckPrintQue('Timer', PrinterNavn);      LabelPrint.CheckPrintQue('Timer', Config.PrinterNavn);
2866    end    end
2867    else    else
2868    begin    begin
# Line 3033  begin Line 2916  begin
2916      tekst := tekst+crlf+crlf;      tekst := tekst+crlf+crlf;
2917      tekst := tekst+crlf+crlf+'          **********  DETTE ER KUN EN TEST VERSION  **********';      tekst := tekst+crlf+crlf+'          **********  DETTE ER KUN EN TEST VERSION  **********';
2918      tekst := tekst+crlf+crlf;      tekst := tekst+crlf+crlf;
2919      tekst := tekst+crlf+crlf+'Url: '+url;      tekst := tekst+crlf+crlf+'Url: ' + Url;
2920    end;    end;
2921    
2922    MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK);    MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK);
2923    
2924  end;  end;
2925    
2926    
2927  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;
2928    Rect: TRect; State: TOwnerDrawState);    Rect: TRect; State: TOwnerDrawState);
2929  var  var
# Line 3154  begin Line 3038  begin
3038    
3039  end;  end;
3040    
3041  procedure TMainForm.ReturpakkerfraDAO1Click(Sender: TObject);  procedure TMainForm.menuNatxpressReturDAO1Click(Sender: TObject);
3042  begin  begin
3043        Scanningtype := '2';        Scanningtype := '2';
3044        NulstilAutomatiskValg();        NulstilAutomatiskValg();
3045        InitReturFraDao();        InitReturFraDao();
3046  end;  end;
3047    
3048  procedure TMainForm.Returpakkerfrapakkeshop1Click(Sender: TObject);  procedure TMainForm.menuPakkeshopRetur1Click(Sender: TObject);
3049  begin  begin
3050        Scanningtype := '6';        Scanningtype := '6';
3051        InitReturFraPakkeshop();        InitReturFraPakkeshop();
# Line 3170  end; Line 3054  end;
3054    
3055  procedure TMainForm.InitNatxpresslevering();  procedure TMainForm.InitNatxpresslevering();
3056  begin  begin
3057        AutomatiskTjekkodeStyring1.Enabled := true;        menuAutomatiskTjekkodeStyring.Enabled := true;
3058        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3059        Pakkernormal1.Checked := true;        menuNatXpress1.Checked := true;
3060        InitForm(FarveNormal,TitelNormal,UrlNormal);        InitForm(Config.FarveNormal,Config.TitelNormal,Config.UrlNormal);
3061        PanelValg1.Color := clGreen;        PanelValg1.Color := clGreen;
3062        PanelValg1.Font.Color := clWhite;        PanelValg1.Font.Color := clWhite;
3063    
# Line 3184  begin Line 3068  begin
3068        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3069        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3070        Sprgefterboghandlernummer1.Enabled := true;        Sprgefterboghandlernummer1.Enabled := true;
3071        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3072        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3073        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3074        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3075        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3206  end; Line 3090  end;
3090    
3091  procedure TMainForm.InitReturFraDao();  procedure TMainForm.InitReturFraDao();
3092  begin  begin
3093        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3094        ReturpakkerfraDAO1.Checked := true;        menuNatxpressReturDAO1.Checked := true;
3095        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3096        InitForm(FarveReturDAO,TitelReturDAO,UrlReturDAO);        InitForm(Config.FarveReturDAO, Config.TitelReturDAO, Config.UrlReturDAO);
3097        PanelValg2.Color := clGreen;        PanelValg2.Color := clGreen;
3098        PanelValg2.Font.Color := clWhite;        PanelValg2.Font.Color := clWhite;
3099    
# Line 3220  begin Line 3104  begin
3104        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3105        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3106        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3107        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3108        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3109        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3110        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3111        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3237  end; Line 3121  end;
3121    
3122  procedure TMainForm.InitReturFraKunde();  procedure TMainForm.InitReturFraKunde();
3123  begin  begin
3124        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3125        Returpakkerfraboghandler1.Checked := true;        menuNatxpressReturfraKunde1.Checked := true;
3126        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3127        InitForm(FarveReturBoghandler,TitelReturBoghandler,UrlReturBoghandler);        InitForm(Config.FarveReturBoghandler, Config.TitelReturBoghandler, Config.UrlReturBoghandler);
3128        PanelValg3.Color := clGreen;        PanelValg3.Color := clGreen;
3129        PanelValg3.Font.Color := clWhite;        PanelValg3.Font.Color := clWhite;
3130    
# Line 3250  begin Line 3134  begin
3134        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3135        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3136        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3137        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3138        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3139        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3140        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3141        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3267  end; Line 3151  end;
3151    
3152  procedure TMainForm.InitDirektelevering();  procedure TMainForm.InitDirektelevering();
3153  begin  begin
3154        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3155        Budlevering1.Checked := true;        menuDaoDirekte1.Checked := true;
3156        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3157        InitForm(FarveBudlevering,TitelBudlevering,UrlBudlevering);        InitForm(Config.FarveBudlevering, Config.TitelBudlevering, Config.UrlBudlevering);
3158        PanelValg4.Color := clGreen;        PanelValg4.Color := clGreen;
3159        PanelValg4.Font.Color := clWhite;        PanelValg4.Font.Color := clWhite;
3160    
# Line 3281  begin Line 3165  begin
3165        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3166        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3167        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3168        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3169        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3170        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3171        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3172        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3307  end; Line 3191  end;
3191    
3192  procedure TMainForm.InitPakkeshoplevering();  procedure TMainForm.InitPakkeshoplevering();
3193  begin  begin
3194        AutomatiskTjekkodeStyring1.Enabled := true;        menuAutomatiskTjekkodeStyring.Enabled := true;
3195        Pakkeshoplevering1.Checked := true;        menuPakkeshop1.Checked := true;
3196        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3197        InitForm(FarvePakkeshoplevering,TitelPakkeshoplevering,UrlPakkeshoplevering);        InitForm(Config.FarvePakkeshoplevering, Config.TitelPakkeshoplevering, Config.UrlPakkeshoplevering);
3198        PanelValg5.Color := clGreen;        PanelValg5.Color := clGreen;
3199        PanelValg5.Font.Color := clWhite;        PanelValg5.Font.Color := clWhite;
3200    
# Line 3321  begin Line 3205  begin
3205        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3206        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3207        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3208        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3209        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3210        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3211        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3212        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3347  end; Line 3231  end;
3231    
3232  procedure TMainForm.InitReturFraPakkeshop();  procedure TMainForm.InitReturFraPakkeshop();
3233  begin  begin
3234        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3235        Returpakkerfrapakkeshop1.Checked := true;        menuPakkeshopRetur1.Checked := true;
3236        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3237        InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop);        InitForm(Config.FarveReturPakkeshop, Config.TitelReturPakkeshop, Config.UrlReturPakkeshop);
3238        PanelValg6.Color := clGreen;        PanelValg6.Color := clGreen;
3239        PanelValg6.Font.Color := clWhite;        PanelValg6.Font.Color := clWhite;
3240    
# Line 3361  begin Line 3245  begin
3245        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3246        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3247        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3248        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3249        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3250        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3251        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3252        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3385  begin Line 3269  begin
3269        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3270  end;  end;
3271    
3272  procedure TMainForm.Returpakkerfraboghandler1Click(Sender: TObject);  procedure TMainForm.menuNatxpressReturfraKunde1Click(Sender: TObject);
3273  begin  begin
3274        Scanningtype := '3';        Scanningtype := '3';
3275        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 3395  end; Line 3279  end;
3279  procedure TMainForm.InitIndleveringskode();  procedure TMainForm.InitIndleveringskode();
3280  begin  begin
3281        menuIndlevering.Checked := true;        menuIndlevering.Checked := true;
3282        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3283    
3284        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3285        InitForm(FarveIndlevering, TitelIndlevering, UrlReturPakkeshop);        InitForm(Config.FarveIndlevering, Config.TitelIndlevering, Config.UrlReturPakkeshop);
3286        PanelValg7.Color := clGreen;        PanelValg7.Color := clGreen;
3287        PanelValg7.Font.Color := clWhite;        PanelValg7.Font.Color := clWhite;
3288    
# Line 3412  begin Line 3296  begin
3296    
3297    
3298    
3299        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3300        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3301        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3302        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3303        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3438  begin Line 3322  begin
3322  end;  end;
3323    
3324    
3325  procedure TMainForm.Storepakker1Click(Sender: TObject);  procedure TMainForm.menuStorePakkerClick(Sender: TObject);
3326  begin  begin
3327    InitStorPakke();    InitStorPakke();
3328  end;  end;
3329    
3330  procedure TMainForm.Smpakker1Click(Sender: TObject);  procedure TMainForm.menuSmaaPakkerClick(Sender: TObject);
3331  begin  begin
3332    InitLillePakke();    InitLillePakke();
3333  end;  end;
# Line 3451  end; Line 3335  end;
3335  procedure TMainForm.InitLillePakke();  procedure TMainForm.InitLillePakke();
3336  begin  begin
3337    radioLillePakke.Checked := true;    radioLillePakke.Checked := true;
3338    Smpakker1.Checked := true;    menuSmaaPakker.Checked := true;
3339  //  Stregkode := '';  //  Stregkode := '';
3340  end;  end;
3341    
3342  procedure TMainForm.InitStorPakke();  procedure TMainForm.InitStorPakke();
3343  begin  begin
3344    radioStorPakke.Checked := true;    radioStorPakke.Checked := true;
3345    Storepakker1.Checked := true;    menuStorePakker.Checked := true;
3346  // 20150310: start  // 20150310: start
3347  //  Stregkode := '';  //  Stregkode := '';
3348  // 20150310: slut  // 20150310: slut
# Line 3477  end; Line 3361  end;
3361    
3362  procedure TMainForm.Testlyd1Click(Sender: TObject);  procedure TMainForm.Testlyd1Click(Sender: TObject);
3363  begin  begin
3364     if AlarmLyd  <> '' then     if Config.AlarmLyd  <> '' then
3365     begin     begin
3366       PlaySound(PWideChar(AlarmLyd));       PlaySound(PWideChar(Config.AlarmLyd));
3367     end     end
3368     else     else
3369     begin     begin
# Line 3491  procedure TMainForm.Testlyd2Click(Sender Line 3375  procedure TMainForm.Testlyd2Click(Sender
3375  begin  begin
3376    if (PakkeshopText1.Caption = 'Tjekkode') then    if (PakkeshopText1.Caption = 'Tjekkode') then
3377    begin    begin
3378       if ScannetOkTilTjekkodeLyd  <> '' then       if Config.ScannetOkTilTjekkodeLyd  <> '' then
3379       begin       begin
3380         PlaySound(PWideChar(ScannetOkTilTjekkodeLyd));         PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd));
3381       end       end
3382       else       else
3383       begin       begin
# Line 3502  begin Line 3386  begin
3386       exit;       exit;
3387    end;    end;
3388    
3389    if Smpakker1.Checked then    if menuSmaaPakker.Checked then
3390       if ScannetOkLyd  <> '' then       if Config.ScannetOkLyd  <> '' then
3391       begin       begin
3392         PlaySound(PWideChar(ScannetOkLyd));         PlaySound(PWideChar(Config.ScannetOkLyd));
3393       end       end
3394       else       else
3395       begin       begin
3396         MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);         MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);
3397       end;       end;
3398    if Storepakker1.Checked then    if menuStorePakker.Checked then
3399       if ScannetOkStorLyd  <> '' then       if Config.ScannetOkStorLyd  <> '' then
3400       begin       begin
3401         PlaySound(PWideChar(ScannetOkStorLyd));         PlaySound(PWideChar(Config.ScannetOkStorLyd));
3402       end       end
3403       else       else
3404       begin       begin
# Line 3523  begin Line 3407  begin
3407  end;  end;
3408    
3409    
3410  procedure TMainForm.Budlevering1Click(Sender: TObject);  procedure TMainForm.menuDaoDirekte1Click(Sender: TObject);
3411  begin  begin
3412        Scanningtype := '4';        Scanningtype := '4';
3413        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 3551  begin Line 3435  begin
3435      logTekst := 'Overfører de scannede pakker til EKL';      logTekst := 'Overfører de scannede pakker til EKL';
3436      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
3437      StedKode := Sted;      StedKode := Sted;
3438      URLStr := Format(UrlEKLoverforsel,[StedKode,Sted]);      URLStr := Format(Config.UrlEKLoverforsel,[StedKode,Sted]);
3439    
3440      if PanelValg5.Color = clGreen then      if PanelValg5.Color = clGreen then
3441      begin      begin
3442        URLStr := Format(UrlEKLoverforselPakkeshop,[StedKode,Sted]);        URLStr := Format(Config.UrlEKLoverforselPakkeshop,[StedKode,Sted]);
3443      end;      end;
3444    
3445    
# Line 3615  begin Line 3499  begin
3499      // Hvis der var fejl i overførslen skal dette fejlmeldes her      // Hvis der var fejl i overførslen skal dette fejlmeldes her
3500      if status = 'Fejl' then      if status = 'Fejl' then
3501      begin   // Her skal komme en alarm og rød skærm      begin   // Her skal komme en alarm og rød skærm
3502         PlaySound(PWideChar(AlarmLyd));         PlaySound(PWideChar(Config.AlarmLyd));
3503         MainForm.Color := clRed;         MainForm.Color := clRed;
3504         RutenummerST.Caption := 'EKL overførsel';         RutenummerST.Caption := 'EKL overførsel';
3505         BoghandlerNavnST.Caption := 'Fejl:';         BoghandlerNavnST.Caption := 'Fejl:';
# Line 4169  var Line 4053  var
4053    I: Integer;    I: Integer;
4054    stregkode, modtagernavn, modtageradresse, kommentar : string;    stregkode, modtagernavn, modtageradresse, kommentar : string;
4055    pakketype, tjekkodestatus : String;    pakketype, tjekkodestatus : String;
4056    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;    antalLiniefelter, antalFelterFundet, linienr : Integer;
4057    //pakketyper : TStrings;    //pakketyper : TStrings;
4058    pakketyper : TDictionary<String, Integer>;    pakketyper : TDictionary<String, Integer>;
4059    tmpAntal : Integer;    tmpAntal : Integer;
4060    
4061     time, timeSamlet : TTimingHelper;
4062    
4063    
4064    antlin : Integer;    antlin : Integer;
# Line 4209  var Line 4094  var
4094    
4095      if (Scanningtype = '7') then      if (Scanningtype = '7') then
4096       begin       begin
4097        URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]);        URLStr := Format(Config.UrlIndleveringsPakkeManglendeScanninger, [StedKode]);
4098       end       end
4099      else if (Scanningtype = '6') then      else if (Scanningtype = '6') then
4100       begin       begin
4101        URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]);        URLStr := Format(Config.UrlPakkeshopManglendeReturScanninger, [StedKode]);
4102       end       end
4103      else if (Scanningtype = '5') then      else if (Scanningtype = '5') then
4104       begin       begin
4105        URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]);        URLStr := Format(Config.UrlPakkeshopManglendeScanninger, [StedKode]);
4106       end       end
4107      else if (Scanningtype = '1') then      else if (Scanningtype = '1') then
4108       begin       begin
4109        URLStr := Format(UrlManglendeScanninger,[StedKode,'B2']);        URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'B2']);
4110       end       end
4111      else if (Scanningtype = '4') then      else if (Scanningtype = '4') then
4112       begin       begin
4113        URLStr := Format(UrlManglendeScanninger,[StedKode,'A2']);    // Budleveringer        URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'A2']);    // Budleveringer
4114       end       end
4115      else      else
4116       begin       begin
# Line 4233  var Line 4118  var
4118       end;       end;
4119  // 20150310: slut  // 20150310: slut
4120    
4121        time := TTimingHelper.create();        //DEBUG
4122        timeSamlet := TTimingHelper.create();        //DEBUG
4123    
4124      try      try
4125      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
4126  //    URLStr := string(Utf8Encode(URLStr));  //    URLStr := string(Utf8Encode(URLStr));
# Line 4242  var Line 4130  var
4130        begin        begin
4131          // Her skal vi ikke gøre noget - men vi skal forespørge igen          // Her skal vi ikke gøre noget - men vi skal forespørge igen
4132          WebSvar := IdHTTP1.Get(URLStr);          WebSvar := IdHTTP1.Get(URLStr);
4133    
4134    
4135    
4136        end;        end;
4137        on e:exception do        on e:exception do
4138        begin        begin
# Line 4252  var Line 4143  var
4143        end;        end;
4144      end;      end;
4145      try      try
4146          time.stop('HTTP Load');     //DEBUG
4147    
4148        XMLDocument1.LoadFromXML(WebSvar);        XMLDocument1.LoadFromXML(WebSvar);
4149    
4150          time.stop('XML Load');     //DEBUG
4151    
4152    
4153    
4154    
4155    
4156    
4157        antlin := 0;        antlin := 0;
4158        antlinIdag := 0;        antlinIdag := 0;
# Line 4296  var Line 4195  var
4195        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug
4196        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array
4197    
4198          time.stop('Antal Linier');//DEBUG
4199    
4200        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4201    
# Line 4381  var Line 4281  var
4281        end;        end;
4282    
4283    
4284          time.stop('Fyld Listbox2');//DEBUG
4285    
4286    
4287        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4288    
4289    
# Line 4500  var Line 4403  var
4403        end;        end;
4404      end;      end;
4405    
4406        time.stop('Done');//DEBUG
4407        timeSamlet.stop('SamletTid');//DEBUG
4408    
4409    
4410  end;  end;
4411    
4412  procedure TMainForm.IndlesScanningLogFil();  procedure TMainForm.IndlesScanningLogFil();
# Line 4675  begin Line 4582  begin
4582          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');
4583          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';
4584          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
4585          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
4586        end;        end;
4587      end;      end;
4588    end    end
# Line 4684  begin Line 4591  begin
4591        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.');        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.');
4592        logTekst := 'Ruteskift fil '+filnavn+' findes ikke.';        logTekst := 'Ruteskift fil '+filnavn+' findes ikke.';
4593        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4594        PlaySound(PWideChar(AlarmLyd));        PlaySound(PWideChar(Config.AlarmLyd));
4595    end;    end;
4596  end;  end;
4597    
# Line 4755  begin Line 4662  begin
4662          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');
4663          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';
4664          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
4665          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
4666        end;        end;
4667      end;      end;
4668    end    end
# Line 4764  begin Line 4671  begin
4671        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.');        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.');
4672        logTekst := 'Kontrol fil '+filnavn+' findes ikke.';        logTekst := 'Kontrol fil '+filnavn+' findes ikke.';
4673        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4674        PlaySound(PWideChar(AlarmLyd));        PlaySound(PWideChar(Config.AlarmLyd));
4675    end;    end;
4676  end;  end;
4677    
# Line 4822  procedure TMainForm.VisAlarmSkaerm(strMe Line 4729  procedure TMainForm.VisAlarmSkaerm(strMe
4729  begin  begin
4730    //ShowMessage('Ændring ikke tilladt');    //ShowMessage('Ændring ikke tilladt');
4731    // Her skal komme en 'rød skærm' alarm    // Her skal komme en 'rød skærm' alarm
4732    PlaySound(PWideChar(AlarmLyd));    PlaySound(PWideChar(Config.AlarmLyd));
4733    MainForm.Color := clRed;    MainForm.Color := clRed;
4734    
4735    
# Line 4911  begin Line 4818  begin
4818  end;  end;
4819    
4820    
4821    //Nedarvet fra IParentForm
4822    procedure TMainForm.Msg( msg : string);
4823    begin
4824      ShowMessage(msg);
4825    end;
4826    
4827  //Nedarvet fra IParentForm  //Nedarvet fra IParentForm
4828  procedure TMainForm.LogMessage( msg : string);  procedure TMainForm.LogMessage( msg : string);

Legend:
Removed from v.3036  
changed lines
  Added in v.3094

  ViewVC Help
Powered by ViewVC 1.1.20