/[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 2977 by torben, Tue Mar 15 13:44:38 2016 UTC revision 3130 by torben, Thu Oct 20 06:56:45 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      function GetXMLDocument() : TXMLDocument;
206        procedure chkEmballageRepareretClick(Sender: TObject);
207        procedure chkUdenforSpecifikationClick(Sender: TObject);
208    
209    
210    
211    private    private
# Line 206  type Line 214  type
214      SkrivLog : String;      SkrivLog : String;
215      Sted : String;      Sted : String;
216      StedNavn : String;      StedNavn : String;
     Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering,  
             UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,  
             UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel, URLOmdirigerTilPakkeshop : String;  
217    
218      UrlEKLoverforselPakkeshop : String;      Scanningtype,  Pakketype : String;
219    
     UrlFindPakketype, UrlSendPrograminfo: String;  
     Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;  
     ScanTjekkode : String;  
     ScanTjekkodeAutomatik : string;  
220    
221      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop,      Url : String;
           FarveIndlevering : String;  
222    
223      Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop,      Farve : String;
           TitelIndlevering : String;  
224    
225      AlarmLyd : String;      Titel : String;
     ScannetOkLyd : String;  
     ScannetOkStorLyd : String;  
226    
     ScannetOkTilTjekkodeLyd : String;  
227    
     PrinterNavn : String;  
     TjekPrinter : String;  
228    
229      Org_RuteNummerST, Org_BoghandlerNavnST, Org_KommentarST : String;      Org_RuteNummerST, Org_BoghandlerNavnST, Org_KommentarST : String;
230      BladhusSted : Integer;      BladhusSted : Integer;
# Line 243  type Line 237  type
237      logTekst : string;      logTekst : string;
238      PakkeshopStregkode, PakkeshopTjekkode : String;      PakkeshopStregkode, PakkeshopTjekkode : String;
239      BoghandlerStregkode, BoghandlerTjekkode : String;      BoghandlerStregkode, BoghandlerTjekkode : String;
240      TjekUrls : String;  
241      Config : TConfiguration;      Config : TConfiguration;
242    
243    
# Line 253  type Line 247  type
247    
248      procedure HentPakkeInfoFraServer(const Sted, PakkeNr : String; var RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel: Boolean; BoghandlerNummer : String = '');      procedure HentPakkeInfoFraServer(const Sted, PakkeNr : String; var RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel: Boolean; BoghandlerNummer : String = '');
249      procedure CheckCode();      procedure CheckCode();
250      procedure IndlesManglendeScanninger();      procedure IndlesManglendeScanningerAntal();
251        procedure IndlesManglendeScanningerListe();
252      procedure IndlesRuteskiftFil(var filnavn : string);      procedure IndlesRuteskiftFil(var filnavn : string);
253      procedure IndlesKontrolFil(var filnavn : string);      procedure IndlesKontrolFil(var filnavn : string);
254      procedure IndlesScanningLogFil();      procedure IndlesScanningLogFil();
# Line 261  type Line 256  type
256      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;
257      procedure VisAlarmSkaerm(strMessage: string);      procedure VisAlarmSkaerm(strMessage: string);
258    
259    
260    public    public
261      { Public declarations }      { Public declarations }
262    end;    end;
# Line 285  implementation Line 281  implementation
281  procedure TMainForm.InitForm(Farve,Titel,Url : String);  procedure TMainForm.InitForm(Farve,Titel,Url : String);
282  begin  begin
283    
284        IdHTTP1.ConnectTimeout := 5000; // Vent max 5 sek på connect
285        IdHTTP1.ReadTimeout := 10000; // Vent max 10 sek på read
286    
287    
288    
289    
290      StaticTextManglendePakker.Caption := '';      StaticTextManglendePakker.Caption := '';
291    
292    
# Line 396  begin Line 398  begin
398        PrinterstatusStaticText1.Color := MainForm.Color;        PrinterstatusStaticText1.Color := MainForm.Color;
399      end;      end;
400    
401      if PakkeshopLevering1.Checked or Pakkernormal1.Checked then      if menuPakkeshop1.Checked or menuNatXpress1.Checked then
402        PakkeshopText1.Visible := true        PakkeshopText1.Visible := true
403      else      else
404        PakkeshopText1.Visible := false;        PakkeshopText1.Visible := false;
# Line 407  begin Line 409  begin
409    
410      if (Scanningtype = '1') or (Scanningtype = '5') then      if (Scanningtype = '1') or (Scanningtype = '5') then
411      begin      begin
412        if (ScanTjekkode = '1') then        if (Config.ScanTjekkode = '1') then
413        begin        begin
414          chkScanTjekkode.Checked := true;          chkScanTjekkode.Checked := true;
415          chkScanTjekkode.Enabled := true;          chkScanTjekkode.Enabled := true;
# Line 421  begin Line 423  begin
423        end;        end;
424      end;      end;
425    
426      if Automatisktjekkodestyring1.Checked then      if menuAutomatiskTjekkodeStyring.Checked then
427      begin      begin
428        chkScanTjekkode.Enabled := false;        chkScanTjekkode.Enabled := false;
429        Scanogstjekkoden1.Enabled := false;        Scanogstjekkoden1.Enabled := false;
# Line 479  begin Line 481  begin
481    StregkodeST.Caption := Stregkode;    StregkodeST.Caption := Stregkode;
482  end;  end;
483    
484  procedure TMainForm.Automatisktjekkodestyring1Click(Sender: TObject);  procedure TMainForm.menuAutomatiskTjekkodeStyringClick(Sender: TObject);
485  begin  begin
486    if Automatisktjekkodestyring1.Checked then    if menuAutomatiskTjekkodeStyring.Checked then
487    begin    begin
488       chkScanTjekkode.Enabled := false;       chkScanTjekkode.Enabled := false;
489       Scanogstjekkoden1.Enabled := false;       Scanogstjekkoden1.Enabled := false;
# Line 494  begin Line 496  begin
496    
497  end;  end;
498    
499  procedure TMainForm.Automatiskvalg1Click(Sender: TObject);  procedure TMainForm.menuAutomatiskvalg1Click(Sender: TObject);
500  begin  begin
501  // Skal ikke toggle men bare sætte funktionen on  // Skal ikke toggle men bare sætte funktionen on
502  // Fravælges ved at vælge en scanningstype  // Fravælges ved at vælge en scanningstype
503       AutomatiskValg1.Checked := true;       menuAutomatiskvalg1.Checked := true;
504       PanelValgA.Color := clGreen;       PanelValgA.Color := clGreen;
505       PanelValgA.Font.Color := clWhite;       PanelValgA.Font.Color := clWhite;
506  end;  end;
507    
508    
509    
510  //InitForm kaldes før FormCreate  //InitForm kaldes før FormCreate
511  procedure TMainForm.FormCreate(Sender: TObject);  procedure TMainForm.FormCreate(Sender: TObject);
512  const  const
# Line 539  begin Line 542  begin
542    
543  // Sætter lige en default panel størrelse  // Sætter lige en default panel størrelse
544    MainForm.ClientWidth := 1000;    MainForm.ClientWidth := 1000;
545    MainForm.ClientHeight := 750;    MainForm.ClientHeight := 920;
546    
547    Config := TConfiguration.Create();    Config := TConfiguration.Create();
548    Config.ReadFromInifile( TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) );    //ToDo: clean up duplicate ini ref    Config.ReadFromInifile( TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) );    //ToDo: clean up duplicate ini ref
# Line 553  begin Line 556  begin
556      SkrivLog := ReadString('Settings','SkrivLog','0');      SkrivLog := ReadString('Settings','SkrivLog','0');
557      Sted := ReadString('Settings','Sted','');      Sted := ReadString('Settings','Sted','');
558      StedNavn := ReadString('Settings','Stednavn','');      StedNavn := ReadString('Settings','Stednavn','');
559      UrlFindPakketype := ReadString('Settings','UrlFindPakketype','http://omdeling.info/webservices/bogpakkekontrol/FindPakketype.php?stregkode=%s');  
560      UrlSendPrograminfo := ReadString('Settings','UrlSendPrograminfo','http://omdeling.info/webservices/bogpakkekontrol/SendPrograminfo.php?programnavn=%s&sted=%s&scanningtype=%s&infotype=%s&info=%s');      Scanningtype := 'A'; //hardcoded
561      UrlNormal := ReadString('Settings','UrlNormal','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&tjekkode=%s');      Pakketype := '0';
     UrlReturDAO := ReadString('Settings','UrlReturDAO','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');  
     UrlReturBoghandler := ReadString('Settings','UrlReturBoghandler','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');  
     UrlBudlevering := ReadString('Settings','UrlBudlevering','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&leveringstype=%s&pakkestorrelse=%s');  
     UrlManglendeScanninger := ReadString('Settings','UrlManglendeScanninger','http://omdeling.info/webservices/bogpakkekontrol/bogpakkemanglendescanninger.php?sted=%s&type=%s');  
     UrlEKLoverforsel := ReadString('Settings','UrlEKLoverforsel','http://omdeling.info/webservices/bogpakkekontrol/bogpakkertilekl.php?sted=%s');  
   
     UrlEKLoverforselPakkeshop := ReadString('Settings','UrlEKLoverforselPakkeshop','http://omdeling.info/webservices/pakkeshop/pakkertilekl.php?sted=%s');  
   
     UrlPakkeshoplevering := ReadString('Settings','UrlPakkeshoplevering','http://omdeling.info/webservices/pakkeshop/pakkekontrol.php?sted=%s&stregkode=%s&tjekkode=%s');  
     UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s');  
     UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');  
     UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');  
   
   
     UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');  
     UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');  
     URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');  
562    
563    
564    
565    
     FarveNormal := ReadString('Settings','FarveNormal','D8D8D8');  
     TitelNormal := ReadString('Settings','TitelNormal','Modtagelse af DAO NAT X-PRESS pakker');  
     FarveReturDAO := ReadString('Settings','FarveReturDAO','A9F5A9');  
     TitelReturDAO := ReadString('Settings','TitelReturDAO','Returforsendelse fra DAO');  
     FarveReturBoghandler := ReadString('Settings','FarveReturBoghandler','F2F5A9');  
     TitelReturBoghandler := ReadString('Settings','TitelReturBoghandler','Returforsendelse fra boghandler');  
     FarveBudlevering := ReadString('Settings','FarveBudlevering','2E9AFE');  
     TitelBudlevering := ReadString('Settings','TitelBudlevering','Modtagelse af DAO DIREKTE pakker');  
     FarvePakkeshoplevering := ReadString('Settings','FarvePakkeshoplevering','99FFFF');  
     TitelPakkeshoplevering := ReadString('Settings','TitelPakkeshoplevering','Modtagelse af DAO PAKKESHOP pakker');  
   
     FarveReturPakkeshop := ReadString('Settings','FarveReturPakkeshop','99FFCC');  
     TitelReturPakkeshop := ReadString('Settings','TitelReturPakkeshop','Returforsendelse fra pakkeshop');  
   
     FarveIndlevering := ReadString('Settings', 'FarveIndlevering', 'E5B2CB');  
     TitelIndlevering := ReadString('Settings', 'TitelIndlevering', 'Indleveringskode');  
   
   
     SporgEfterBoghandler := ReadString('Settings','SporgEfterBoghandler','0');  
     ScanTjekkode := ReadString('Settings','ScanTjekkode','0');  
     ScanTjekkodeAutomatik := ReadString('Settings','ScanTjekkodeAutomatik','1');  
     Scanningtype := ReadString('Settings','Scanningtype','A');  
     Pakketype := ReadString('Settings','Pakketype','0');  
     TestFunktionen := ReadString('Settings','TestFunktion','0');  
     AlarmLyd := ReadString('Settings','AlarmLyd','Sounds\Alarm.wav');  
     ScannetOkLyd := ReadString('Settings','ScannetOkLyd','Sounds\Ok.wav');  
     ScannetOkStorLyd := ReadString('Settings','ScannetOkStorLyd','Sounds\Ok_stor.wav');  
   
     ScannetOkTilTjekkodeLyd := ReadString('Settings','ScannetOkTilTjekkodeLyd','Sounds\Ok_til_tjekkode.wav');  
   
     PrinterNavn := ReadString('Settings','PrinterNavn','');  
     TjekPrinter := ReadString('Settings','TjekPrinter','1');  
     TjekUrls := ReadString('Settings','TjekUrls','2');  
566    
567      if (SkrivLog = '1') then      if (SkrivLog = '1') then
568      begin      begin
# Line 629  begin Line 582  begin
582    
583      if Scanningtype = 'A' then      if Scanningtype = 'A' then
584      begin      begin
585        Automatiskvalg1.Checked := true;        menuAutomatiskvalg1.Checked := true;
586        Scanningtype := '1';        Scanningtype := '1';
587        PanelValgA.Color := clGreen;        PanelValgA.Color := clGreen;
588        PanelValgA.Font.Color := clWhite;        PanelValgA.Font.Color := clWhite;
# Line 637  begin Line 590  begin
590    
591    
592    
593      if SporgEfterBoghandler = '1' then      if Config.SporgEfterBoghandler = '1' then
594      begin      begin
595        chkSporgEfterKunde.Checked := true;        chkSporgEfterKunde.Checked := true;
596        Sprgefterboghandlernummer1.Checked := true;        Sprgefterboghandlernummer1.Checked := true;
# Line 648  begin Line 601  begin
601        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
602      end;      end;
603    
604      if ScanTjekkode = '1' then      if Config.ScanTjekkode = '1' then
605      begin      begin
606        chkScanTjekkode.Checked := true;        chkScanTjekkode.Checked := true;
607        Scanogstjekkoden1.Checked := true;        Scanogstjekkoden1.Checked := true;
# Line 659  begin Line 612  begin
612        Scanogstjekkoden1.Checked := false;        Scanogstjekkoden1.Checked := false;
613      end;      end;
614    
615      if ScanTjekkodeAutomatik = '1' then      if Config.ScanTjekkodeAutomatik = '1' then
616      begin      begin
617        Automatisktjekkodestyring1.Checked := true;        menuAutomatiskTjekkodeStyring.Checked := true;
618        chkScanTjekkode.Enabled := false;        chkScanTjekkode.Enabled := false;
619        Scanogstjekkoden1.Enabled := false;        Scanogstjekkoden1.Enabled := false;
620      end;      end;
# Line 704  begin Line 657  begin
657      SpecialVersionSted := 'NS';      SpecialVersionSted := 'NS';
658  {$EndIf}  {$EndIf}
659    
   
660      //SpecialVersionSted := '01';  // NS - bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)      //SpecialVersionSted := '01';  // NS - bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)
661      //SpecialVersionSted := '02';  // BK - BRUGES IKKE (brug i stedet ovenstående SpecialVersionSted BK)      //SpecialVersionSted := '02';  // BK - BRUGES IKKE (brug i stedet ovenstående SpecialVersionSted BK)
662      //SpecialVersionSted := '03';  // FD - (bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)      //SpecialVersionSted := '03';  // FD - (bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)
# Line 722  begin Line 674  begin
674    
675      if SpecialVersionSted = 'NS' then      if SpecialVersionSted = 'NS' then
676      begin      begin
677         SpecialVersionSted := '01';         //SpecialVersionSted := '01'; // Fra før NS overtog scanning løssalg
678         SpecialVersionScanningtype := '4';         //SpecialVersionScanningtype := '4';
679    
680          //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
681          Sted := SpecialVersionSted;
682         // her skal vi også disable de knapper BK ikke kan bruge
683          PanelValg2.Enabled := false;
684          PanelValg2.Font.Color := clInactiveCaption;
685          PanelValg3.Enabled := false;
686          PanelValg3.Font.Color := clInactiveCaption;
687          //PanelValg6.Enabled := false;
688          //PanelValg6.Font.Color := clInactiveCaption;
689    
690         // her skal vi også disable de menupunkter FD ikke kan bruge
691          menuNatxpressReturDAO1.Enabled := false;
692          menuNatxpressReturfraKunde1.Enabled := false;
693    
694          //Returpakkerfrapakkeshop1.Enabled := false;
695      end;      end;
696    
697      if SpecialVersionSted = 'FD' then      if SpecialVersionSted = 'FD' then
698      begin      begin
699         SpecialVersionSted := '03';         //SpecialVersionSted := '03'; //fra før at FD overtog scanning
700         SpecialVersionScanningtype := '4';         //SpecialVersionScanningtype := '4';
701      end;  
702    
     if (SpecialVersionSted = 'BK') OR (SpecialVersionSted = 'TK') then  
     begin  
703        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
704        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
705       // her skal vi også disable de knapper BK ikke kan bruge       // her skal vi også disable de knapper BK ikke kan bruge
# Line 743  begin Line 710  begin
710        //PanelValg6.Enabled := false;        //PanelValg6.Enabled := false;
711        //PanelValg6.Font.Color := clInactiveCaption;        //PanelValg6.Font.Color := clInactiveCaption;
712    
713       // her skal vi også disable de menupunkter BK ikke kan bruge       // her skal vi også disable de menupunkter FD ikke kan bruge
714        ReturpakkerfraDAO1.Enabled := false;        menuNatxpressReturDAO1.Enabled := false;
715        Returpakkerfraboghandler1.Enabled := false;        menuNatxpressReturfraKunde1.Enabled := false;
716    
717        //Returpakkerfrapakkeshop1.Enabled := false;        //Returpakkerfrapakkeshop1.Enabled := false;
718    
       if SpecialVersionScanningtype = 'A' then  
       begin  
          Scanningtype := '1';  
       end  
       else  
       begin  
         Scanningtype := SpecialVersionScanningtype;  
       end;  
719      end;      end;
720    
721      if SpecialVersionSted = 'DBK' then      if (SpecialVersionSted = 'BK') OR (SpecialVersionSted = 'TK') then
722      begin      begin
723        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
724        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
725        // her skal vi også disable de knapper DBK ikke kan bruge       // her skal vi også disable de knapper BK ikke kan bruge
726        PanelValg2.Enabled := false;        PanelValg2.Enabled := false;
727        PanelValg2.Font.Color := clInactiveCaption;        PanelValg2.Font.Color := clInactiveCaption;
728        PanelValg3.Enabled := false;        PanelValg3.Enabled := false;
729        PanelValg3.Font.Color := clInactiveCaption;        PanelValg3.Font.Color := clInactiveCaption;
730        PanelValg5.Enabled := false;        //PanelValg6.Enabled := false;
731        PanelValg5.Font.Color := clInactiveCaption;        //PanelValg6.Font.Color := clInactiveCaption;
       PanelValg6.Enabled := false;  
       PanelValg6.Font.Color := clInactiveCaption;  
   
732    
733       // her skal vi også disable de menupunkter DBK ikke kan bruge       // her skal vi også disable de menupunkter BK ikke kan bruge
734        ReturpakkerfraDAO1.Enabled := false;        menuNatxpressReturDAO1.Enabled := false;
735        Returpakkerfraboghandler1.Enabled := false;        menuNatxpressReturfraKunde1.Enabled := false;
736    
737        Pakkeshoplevering1.Enabled := false;        //Returpakkerfrapakkeshop1.Enabled := false;
       Returpakkerfrapakkeshop1.Enabled := false;  
738    
739        if SpecialVersionScanningtype = 'A' then        if SpecialVersionScanningtype = 'A' then
740        begin        begin
# Line 791  begin Line 746  begin
746        end;        end;
747      end;      end;
748    
749        if SpecialVersionSted = 'DBK' then
750        begin
751          Sted := SpecialVersionSted;
752        end;
753    
754      if (SpecialVersionSted = '01')      if (SpecialVersionSted = '01')
755      or (SpecialVersionSted = '02')      or (SpecialVersionSted = '02')
756      or (SpecialVersionSted = '03')      or (SpecialVersionSted = '03')
# Line 814  begin Line 774  begin
774        PanelValg7.Font.Color := clInactiveCaption;        PanelValg7.Font.Color := clInactiveCaption;
775       // 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
776    
777        Automatiskvalg1.Enabled := false;        menuAutomatiskvalg1.Enabled := false;
778    
779        Pakkernormal1.Enabled := false;        menuNatXpress1.Enabled := false;
780        ReturpakkerfraDAO1.Enabled := false;        menuNatxpressReturDAO1.Enabled := false;
781        Returpakkerfraboghandler1.Enabled := false;        menuNatxpressReturfraKunde1.Enabled := false;
782        Budlevering1.Enabled := false;        menuDaoDirekte1.Enabled := false;
783        Pakkeshoplevering1.Enabled := false;        menuPakkeshop1.Enabled := false;
784        Returpakkerfrapakkeshop1.Enabled := false;        menuPakkeshopRetur1.Enabled := false;
785        if SpecialVersionScanningtype = 'A' then        if SpecialVersionScanningtype = 'A' then
786        begin        begin
787          Scanningtype := '4';          Scanningtype := '4';
788          Budlevering1.Enabled := true;          menuDaoDirekte1.Enabled := true;
789          PanelValg4.Font.Color := clWindowText;          PanelValg4.Font.Color := clWindowText;
790          PanelValg4.Enabled := true;          PanelValg4.Enabled := true;
791        end        end
# Line 834  begin Line 794  begin
794          Scanningtype := SpecialVersionScanningtype;          Scanningtype := SpecialVersionScanningtype;
795          PanelValgA.Enabled := false;          PanelValgA.Enabled := false;
796          PanelValgA.Font.Color := clInactiveCaption;          PanelValgA.Font.Color := clInactiveCaption;
797          AutomatiskValg1.Checked := false;          menuAutomatiskvalg1.Checked := false;
798          PanelValgA.Color := clBtnFace;          PanelValgA.Color := clBtnFace;
799          if Scanningtype = '1' then          if Scanningtype = '1' then
800          begin          begin
801            Pakkernormal1.Enabled := true;            menuNatXpress1.Enabled := true;
802            PanelValg1.Enabled := true;            PanelValg1.Enabled := true;
803            PanelValg1.Font.Color := clWindowText;            PanelValg1.Font.Color := clWindowText;
804          end;          end;
805          if Scanningtype = '2' then          if Scanningtype = '2' then
806          begin          begin
807            ReturpakkerfraDAO1.Enabled := true;            menuNatxpressReturDAO1.Enabled := true;
808            PanelValg2.Enabled := true;            PanelValg2.Enabled := true;
809            PanelValg2.Font.Color := clWindowText;            PanelValg2.Font.Color := clWindowText;
810          end;          end;
811          if Scanningtype = '3' then          if Scanningtype = '3' then
812          begin          begin
813            Returpakkerfraboghandler1.Enabled := true;            menuNatxpressReturfraKunde1.Enabled := true;
814            PanelValg3.Enabled := true;            PanelValg3.Enabled := true;
815            PanelValg3.Font.Color := clWindowText;            PanelValg3.Font.Color := clWindowText;
816          end;          end;
817          if Scanningtype = '4' then          if Scanningtype = '4' then
818          begin          begin
819            Budlevering1.Enabled := true;            menuDaoDirekte1.Enabled := true;
820            PanelValg4.Enabled := true;            PanelValg4.Enabled := true;
821            PanelValg4.Font.Color := clWindowText;            PanelValg4.Font.Color := clWindowText;
822          end;          end;
823          if Scanningtype = '5' then          if Scanningtype = '5' then
824          begin          begin
825            Pakkeshoplevering1.Enabled := true;            menuPakkeshop1.Enabled := true;
826            PanelValg5.Enabled := true;            PanelValg5.Enabled := true;
827            PanelValg5.Font.Color := clWindowText;            PanelValg5.Font.Color := clWindowText;
828          end;          end;
829          if Scanningtype = '6' then          if Scanningtype = '6' then
830          begin          begin
831            Returpakkerfrapakkeshop1.Enabled := true;            menuPakkeshopRetur1.Enabled := true;
832            PanelValg6.Enabled := true;            PanelValg6.Enabled := true;
833            PanelValg6.Font.Color := clWindowText;            PanelValg6.Font.Color := clWindowText;
834          end;          end;
# Line 897  begin Line 857  begin
857          Application.Terminate;          Application.Terminate;
858      end;      end;
859    
860      if TjekUrls = '1' then    // Tjekker urls      if Config.TjekUrls = '1' then    // Tjekker urls
861      begin      begin
862          TjekkerUrls();          TjekkerUrls();
863          if TjekUrls = '-' then  // så var der fejl i url - så vi stopper her          if Config.TjekUrls = '-' then  // så var der fejl i url - så vi stopper her
864          begin          begin
865             PlaySound(PWideChar(AlarmLyd));             PlaySound(PWideChar(Config.AlarmLyd));
866             MainForm.Color := clRed;             MainForm.Color := clRed;
867             RutenummerST.Caption := '';             RutenummerST.Caption := '';
868             BoghandlerNavnST.Caption := 'Fejl i urls';             BoghandlerNavnST.Caption := 'Fejl i urls';
# Line 949  begin Line 909  begin
909    
910      if Pakketype = '1' then      if Pakketype = '1' then
911      begin      begin
912        Storepakker1.Checked := true;        menuStorePakker.Checked := true;
913        radioStorPakke.Checked := true;        radioStorPakke.Checked := true;
914      end      end
915      else      else
916      begin      begin
917        Smpakker1.Checked := true;        menuSmaaPakker.Checked := true;
918        radioLillePakke.Checked := true;        radioLillePakke.Checked := true;
919      end;      end;
920    
921      if TestFunktionen = '1' then      if Config.TestFunktionen = '1' then
922      begin      begin
923        Testforbindelsen1.Visible := true;        Testforbindelsen1.Visible := true;
924        Testprinter1.Visible := true;        Testprinter1.Visible := true;
925        Testlyd1.Visible := true;        Testlyd1.Visible := true;
926        Testlyd2.Visible := true;        Testlyd2.Visible := true;
927      end      end
928      else if TestFunktionen = '2' then      else if Config.TestFunktionen = '2' then
929      begin      begin
930        Testforbindelsen1.Enabled := false;        Testforbindelsen1.Enabled := false;
931        Testprinter1.Enabled := false;        Testprinter1.Enabled := false;
# Line 980  begin Line 940  begin
940        Testlyd2.Visible := false;        Testlyd2.Visible := false;
941      end;      end;
942    
     if not FileExists(AlarmLyd) then  
     begin  
       AlarmLyd := '';  
     end;  
943    
     if not FileExists(ScannetOkLyd) then  
     begin  
       ScannetOkLyd := '';  
     end;  
944    
     if not FileExists(ScannetOkStorLyd) then  
     begin  
       ScannetOkStorLyd := '';  
     end;  
945    
946    
947      if not FileExists(ScannetOkTilTjekkodeLyd) then      LabelPrint := TLabelPrint.Create( self, Config, Config.PrinterNavn );
948      begin      LabelPrint.CheckPrintQue('Opstart', Config.PrinterNavn);
       ScannetOkTilTjekkodeLyd := '';  
     end;  
   
   
   
   
     LabelPrint := TLabelPrint.Create( self, Config, PrinterNavn );  
     LabelPrint.CheckPrintQue('Opstart', PrinterNavn);  
949    
950    finally    finally
951      Free;      Free;
# Line 1014  begin Line 954  begin
954      // UBD skal p.t. ikke have adgang til flg. funktioner      // UBD skal p.t. ikke have adgang til flg. funktioner
955      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
956      begin      begin
957        ReturpakkerfraDAO1.Visible := false;        menuNatxpressReturDAO1.Visible := false;
958        Returpakkerfraboghandler1.Visible := false;        menuNatxpressReturfraKunde1.Visible := false;
959        Budlevering1.Visible := false;        menuDaoDirekte1.Visible := false;
960        Storepakker1.Visible := false;        menuStorePakker.Visible := false;
961        Smpakker1.Visible := false;        menuSmaaPakker.Visible := false;
962        Testprinter1.Visible := false;        Testprinter1.Visible := false;
963        Pakkeshoplevering1.Visible := false;        menuPakkeshop1.Visible := false;
964        Returpakkerfrapakkeshop1.Visible := false;        menuPakkeshopRetur1.Visible := false;
965      end;      end;
966    
967      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
# Line 1033  begin Line 973  begin
973      // Opbygger PanelManglendePakker information      // Opbygger PanelManglendePakker information
974      gemScanningtype := Scanningtype;      gemScanningtype := Scanningtype;
975    
976      if PanelValg6.Enabled then      IndlesManglendeScanningerAntal();
     begin  
        Scanningtype := '6';  
        IndlesManglendeScanninger();  
     end;  
977    
978      if PanelValg5.Enabled then  //    if PanelValg6.Enabled then
979      begin  //    begin
980         Scanningtype := '5';  //       Scanningtype := '6';
981         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
982      end;  //    end;
983    //
984      if PanelValg4.Enabled then  //    if PanelValg5.Enabled then
985      begin  //    begin
986         Scanningtype := '4';  //       Scanningtype := '5';
987         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
988      end;  //    end;
989    //
990      if PanelValg3.Enabled then  //    if PanelValg4.Enabled then
991      begin  //    begin
992         Scanningtype := '3';  //       Scanningtype := '4';
993         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
994      end;  //    end;
995    //
996      if PanelValg2.Enabled then  //    if PanelValg3.Enabled then
997      begin  //    begin
998         Scanningtype := '2';  //       Scanningtype := '3';
999         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
1000      end;  //    end;
1001    //
1002      if PanelValg1.Enabled then  //    if PanelValg2.Enabled then
1003      begin  //    begin
1004         Scanningtype := '1';  //       Scanningtype := '2';
1005         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
1006      end;  //    end;
1007    //
1008    //    if PanelValg1.Enabled then
1009    //    begin
1010    //       Scanningtype := '1';
1011    //       IndlesManglendeScanningerAntal();
1012    //    end;
1013    
1014      Scanningtype := gemScanningtype;      Scanningtype := gemScanningtype;
1015    
# Line 1370  begin Line 1312  begin
1312      if (Length(Stregkode) > 8) then      if (Length(Stregkode) > 8) then
1313      begin      begin
1314        // Her skal vi så forespørge pakketype på serveren udfra stregkode feltet        // Her skal vi så forespørge pakketype på serveren udfra stregkode feltet
1315        URLStr := Format(UrlFindPakketype,[Stregkode]);        URLStr := Format(Config.UrlFindPakketype,[Stregkode]);
1316        try        try
1317          //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST          //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
1318          WebSvar := IdHTTP1.Get(URLStr);          WebSvar := IdHTTP1.Get(URLStr);
# Line 1425  begin Line 1367  begin
1367         exit;         exit;
1368      end;      end;
1369    
1370      if (Automatiskvalg1.Checked and (Length(Stregkode) > 8) ) then      if (menuAutomatiskvalg1.Checked and (Length(Stregkode) > 8) ) then
1371      begin      begin
1372        GemStregkode := Stregkode;        GemStregkode := Stregkode;
1373        if Pakketype = 'NatXpress' then        if Pakketype = 'NatXpress' then
# Line 1454  begin Line 1396  begin
1396                InitPakkeshoplevering();                InitPakkeshoplevering();
1397              end;              end;
1398            end            end
1399        // Retur kan ikke scannes med 'Automatisk valg'       else if Pakketype = 'PakkeshopRetur' then
1400              begin
1401                if Scanningtype <> '6' then
1402                begin
1403                 VisAlarmSkaerm( Stregkode + ' Pakkeshop retur,'#13#10' kan ikke bruges med automatisk valg' );
1404    
1405                 exit;
1406                end;
1407              end
1408    
1409    
1410        else        else
1411            begin            begin
# Line 1466  begin Line 1417  begin
1417            end;            end;
1418        Stregkode := GemStregkode;        Stregkode := GemStregkode;
1419      end      end
1420      else if Automatiskvalg1.Checked and (PakkeshopText1.Caption = 'Stregkode') then      else if menuAutomatiskvalg1.Checked and (PakkeshopText1.Caption = 'Stregkode') then
1421      begin      begin
1422        VisAlarmSkaerm( 'Pakkenummer ikke gyldigt (for kort)' );        VisAlarmSkaerm( 'Pakkenummer ikke gyldigt (for kort)' );
1423    
1424        exit;        exit;
1425      end;      end;
1426    
1427      if not Automatiskvalg1.Checked then      if not menuAutomatiskvalg1.Checked then
1428      begin      begin
1429        if ( (Pakkescanningtype <> Scanningtype) and (Scanningtype <> '2') and (Scanningtype <> '3') ) then        if ( (Pakkescanningtype <> Scanningtype) and (Scanningtype <> '2') and (Scanningtype <> '3') ) then
1430        begin        begin
# Line 1484  begin Line 1435  begin
1435        end;        end;
1436      end;      end;
1437    
1438        // EmballageRepareret skal bare sætte reklamationkoden,
1439        // og så ellers fortsætte med scanning som normalt
1440        if (chkEmballageRepareret.Checked = True) then
1441        begin
1442          URLStr := Format(Config.UrlEmballageRepareret,[Sted,Stregkode]);
1443          WebSvar := IdHTTP1.Get(URLStr);
1444    
1445          chkEmballageRepareret.Checked := False;
1446        end;
1447    
1448      if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and Automatisktjekkodestyring1.Checked then      if (chkUdenforSpecifikation.Checked = True) then
1449        begin
1450          URLStr := Format(Config.URLUdenforSpecifikation,[Sted,Stregkode]);
1451          //InputBox( '1', '1', URLStr);
1452    
1453          WebSvar := IdHTTP1.Get(URLStr);
1454          //InputBox( '2', '2', WebSvar );
1455    
1456          chkUdenforSpecifikation.Checked := False;
1457          LabelPrint.PrintLabel(Stregkode);
1458    
1459          StregkodeST.Caption := '';
1460          Stregkode := '';
1461    
1462          RuteNummerST.Caption := '';
1463          BoghandlerNavnST.Caption := '';
1464          KommentarST.Caption := 'Retur til leverandør';
1465    
1466    
1467    
1468    
1469          exit;   //leave procedure
1470        end;
1471    
1472    
1473    
1474    
1475        if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and menuAutomatiskTjekkodeStyring.Checked then
1476      begin      begin
1477        chkScanTjekkode.Checked := false;        chkScanTjekkode.Checked := false;
1478        for i := 0 to length(stregkoderMedTjekkodeArray)-1 do        for i := 0 to length(stregkoderMedTjekkodeArray)-1 do
# Line 1499  begin Line 1485  begin
1485        end;        end;
1486      end;      end;
1487    
1488      if Pakkernormal1.Checked and not Scanogstjekkoden1.Checked then      if menuNatXpress1.Checked and not Scanogstjekkoden1.Checked then
1489        begin        begin
1490          // Når vi ikke kræver tjekkode er alt ok her          // Når vi ikke kræver tjekkode er alt ok her
1491             BoghandlerStregkode := Stregkode;             BoghandlerStregkode := Stregkode;
# Line 1509  begin Line 1495  begin
1495             Stregkode := '';             Stregkode := '';
1496             InitScreen();             InitScreen();
1497        end        end
1498      else if (PakkeshopLevering1.Checked or Pakkernormal1.Checked) and not Scanogstjekkoden1.Checked then      else if (menuPakkeshop1.Checked or menuNatXpress1.Checked) and not Scanogstjekkoden1.Checked then
1499        begin        begin
1500          // Når vi ikke kræver tjekkode er alt ok her          // Når vi ikke kræver tjekkode er alt ok her
1501             PakkeshopStregkode := Stregkode;             PakkeshopStregkode := Stregkode;
# Line 1521  begin Line 1507  begin
1507             Stregkode := '';             Stregkode := '';
1508             InitScreen();             InitScreen();
1509        end        end
1510      else if PakkeshopLevering1.Checked or Pakkernormal1.Checked then      else if menuPakkeshop1.Checked or menuNatXpress1.Checked then
1511        if PakkeshopText1.Caption = 'Stregkode' then        if PakkeshopText1.Caption = 'Stregkode' then
1512         begin         begin
1513            if length(Stregkode) > 5 then            if length(Stregkode) > 5 then
# Line 1530  begin Line 1516  begin
1516              BoghandlerStregkode := Stregkode;              BoghandlerStregkode := Stregkode;
1517              PakkeshopText1.Caption := 'Tjekkode';              PakkeshopText1.Caption := 'Tjekkode';
1518    
1519              PlaySound(PWideChar(ScannetOkTilTjekkodeLyd));              PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd));
1520    
1521             end             end
1522            else            else
# Line 1547  begin Line 1533  begin
1533             PakkeshopTjekkode := Stregkode;             PakkeshopTjekkode := Stregkode;
1534             BoghandlerTjekkode := Stregkode;             BoghandlerTjekkode := Stregkode;
1535             PakkeshopText1.Caption := 'Stregkode';             PakkeshopText1.Caption := 'Stregkode';
1536             if (PakkeshopLevering1.Checked) then             if (menuPakkeshop1.Checked) then
1537                MainForm.Color := TUtils.HexToTColor(FarvePakkeshoplevering);                MainForm.Color := TUtils.HexToTColor(Config.FarvePakkeshoplevering);
1538             if (Pakkernormal1.Checked) then             if (menuNatXpress1.Checked) then
1539                MainForm.Color := TUtils.HexToTColor(FarveNormal);                MainForm.Color := TUtils.HexToTColor(Config.FarveNormal);
1540             btnNulstil.Visible := false;             btnNulstil.Visible := false;
1541           end           end
1542          else          else
1543           begin           begin
1544                if (PakkeshopLevering1.Checked) then                if (menuPakkeshop1.Checked) then
1545                  VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + PakkeshopStregkode);                  VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + PakkeshopStregkode);
1546                if (Pakkernormal1.Checked) then                if (menuNatXpress1.Checked) then
1547                  VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + BoghandlerStregkode);                  VisAlarmSkaerm('Du skal scanne en tjekkode til stregkode ' + BoghandlerStregkode);
1548                                    
1549                StregKode := '';                StregKode := '';
# Line 1569  begin Line 1555  begin
1555          InitScreen();          InitScreen();
1556       end;       end;
1557    
1558      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
1559      begin      begin
1560    
1561         if PakkeshopLevering1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '') then         if menuPakkeshop1.Checked and (PakkeshopStregkode <> '') and (PakkeshopTjekkode <> '') then
1562            StregKode := PakkeshopStregkode;            StregKode := PakkeshopStregkode;
1563         if Pakkernormal1.Checked and ((BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked) then         if menuNatXpress1.Checked and ((BoghandlerStregkode <> '') and (BoghandlerTjekkode <> '') or not Scanogstjekkoden1.Checked) then
1564            StregKode := BoghandlerStregkode;            StregKode := BoghandlerStregkode;
1565         StregkodeST.Caption := StregKode;         StregkodeST.Caption := StregKode;
1566         try         try
# Line 1588  begin Line 1574  begin
1574    
1575              exit;              exit;
1576            end;            end;
1577            if (Pakkernormal1.Checked or Budlevering1.Checked or PakkeshopLevering1.Checked) then            if (menuNatXpress1.Checked or menuDaoDirekte1.Checked or menuPakkeshop1.Checked or menuPakkeshopRetur1.Checked) then
1578            begin            begin
1579              PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel);              PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel);
1580              pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);              pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);
# Line 1604  begin Line 1590  begin
1590              tjekkodemangler := pos('Tjekkode mangler', Kommentar);              tjekkodemangler := pos('Tjekkode mangler', Kommentar);
1591              if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then              if (pakkeErScannet > 0) or (pakkeForkertSted > 0) or (tjekkodemangler > 0) then
1592              begin              begin
1593                PlaySound(PWideChar(AlarmLyd));                PlaySound(PWideChar(Config.AlarmLyd));
1594                btnNulstil.Visible := true;                btnNulstil.Visible := true;
1595                MainForm.Color := clRed;                MainForm.Color := clRed;
1596              end;              end;
1597           end;           end;
1598            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
1599            begin            begin
1600              MainForm.Color := TUtils.HexToTColor(Farve);              MainForm.Color := TUtils.HexToTColor(Farve);
1601              if Storepakker1.Checked then              if menuStorePakker.Checked then
1602              begin              begin
1603                PlaySound(PWideChar(ScannetOkStorLyd));                PlaySound(PWideChar(Config.ScannetOkStorLyd));
1604              end              end
1605              else              else
1606              begin              begin
1607                PlaySound(PWideChar(ScannetOkLyd));                PlaySound(PWideChar(Config.ScannetOkLyd));
1608              end;              end;
1609              btnNulstil.Visible := false;              btnNulstil.Visible := false;
1610            end            end
1611            else if (Returpakkerfradao1.Checked or Returpakkerfraboghandler1.Checked) then            else if (menuNatxpressReturDAO1.Checked or menuNatxpressReturfraKunde1.Checked) then
1612            begin            begin
1613              MainForm.Color := TUtils.HexToTColor(Farve);              MainForm.Color := TUtils.HexToTColor(Farve);
1614              if Storepakker1.Checked then              if menuStorePakker.Checked then
1615              begin              begin
1616                PlaySound(PWideChar(ScannetOkStorLyd));                PlaySound(PWideChar(Config.ScannetOkStorLyd));
1617              end              end
1618              else              else
1619              begin              begin
1620                PlaySound(PWideChar(ScannetOkLyd));                PlaySound(PWideChar(Config.ScannetOkLyd));
1621              end;              end;
1622              btnNulstil.Visible := false;              btnNulstil.Visible := false;
1623            end            end
# Line 1650  begin Line 1636  begin
1636           if not btnNulstil.Visible then           if not btnNulstil.Visible then
1637            begin            begin
1638    
1639              If (Budlevering1.Checked) then              If (menuDaoDirekte1.Checked) then
1640              begin              begin
1641                if Storepakker1.Checked then                if menuStorePakker.Checked then
1642                begin                begin
1643                  PlaySound(PWideChar(ScannetOkStorLyd));                  PlaySound(PWideChar(Config.ScannetOkStorLyd));
1644                end                end
1645                else                else
1646                begin                begin
1647                  PlaySound(PWideChar(ScannetOkLyd));                  PlaySound(PWideChar(Config.ScannetOkLyd));
1648                end;                end;
1649                InitLillePakke();                InitLillePakke();
1650              end;              end;
# Line 1712  var Line 1698  var
1698    WebSvar : String;    WebSvar : String;
1699    URLStr : String;    URLStr : String;
1700  begin  begin
1701    if UrlSendPrograminfo <> '' then    if Config.UrlSendPrograminfo <> '' then
1702    begin    begin
1703      URLStr := Format(UrlSendPrograminfo,[ExtractFileName(ParamStr(0)), Sted, Scanningtype, Infotype, Info]);      URLStr := Format(Config.UrlSendPrograminfo,[ExtractFileName(ParamStr(0)), Sted, Scanningtype, Infotype, Info]);
1704      try      try
1705        //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST        //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
1706        WebSvar := IdHTTP1.Get(URLStr);        WebSvar := IdHTTP1.Get(URLStr);
# Line 1727  begin Line 1713  begin
1713        ShowMessage(logTekst);        ShowMessage(logTekst);
1714        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
1715        // Vi nulstiller lige url feltet så rutinen ikke kaldes igen i forbindelse med lukning af programmet        // Vi nulstiller lige url feltet så rutinen ikke kaldes igen i forbindelse med lukning af programmet
1716        UrlSendPrograminfo := '';        Config.UrlSendPrograminfo := '';
1717        Application.Terminate;        Application.Terminate;
1718      end;      end;
1719      end;      end;
# Line 1746  var Line 1732  var
1732    
1733    
1734  begin  begin
1735      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
1736      begin      begin
1737        for i := ListBox2.items.count-1 downto 0 do        for i := ListBox2.items.count-1 downto 0 do
1738          if pos(StregKode,ListBox2.items[i]) <> 0 then          if pos(StregKode,ListBox2.items[i]) <> 0 then
1739          begin          begin
1740              wrkAntalSenere := 0;//initial Value
1741    
1742            // Ajourføring af tæller for manglende pakker (scanninger)            // Ajourføring af tæller for manglende pakker (scanninger)
1743            wrkAntal := StaticTextManglendePakker.Caption;            wrkAntal := StaticTextManglendePakker.Caption;
# Line 1895  procedure TMainForm.InitBladhus(); Line 1882  procedure TMainForm.InitBladhus();
1882    
1883  begin  begin
1884    Altidprintepakkelabel1.Enabled := false;    Altidprintepakkelabel1.Enabled := false;
1885    Pakkernormal1.Visible := false;    menuNatXpress1.Visible := false;
1886    ReturpakkerfraDAO1.Visible := false;    menuNatxpressReturDAO1.Visible := false;
1887    Returpakkerfraboghandler1.Visible := false;    menuNatxpressReturfraKunde1.Visible := false;
1888    Sprgefterboghandlernummer1.Enabled := false;    Sprgefterboghandlernummer1.Enabled := false;
1889    ListBox1.Visible := true;    ListBox1.Visible := true;
1890  //  TestFunktionen := '1';  //  TestFunktionen := '1';
1891    
1892    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
1893    begin    begin
1894      IndlesScanningLogFil();      IndlesScanningLogFil();
1895    end;    end;
# Line 1921  begin Line 1908  begin
1908              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';
1909              BladhusKontrolfil_lokal := 'RuteKontrol.txt';              BladhusKontrolfil_lokal := 'RuteKontrol.txt';
1910              DownloadBladhusKontrolfil();              DownloadBladhusKontrolfil();
1911              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1912            end;            end;
1913      02 :      02 :
1914            begin;    // BK            begin;    // BK
1915              Testprinter1.Visible := true;              Testprinter1.Visible := true;
1916              Smpakker1.Enabled := true;              menuSmaaPakker.Enabled := true;
1917              Storepakker1.Enabled := true;              menuStorePakker.Enabled := true;
1918              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
1919              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
1920              BtnDownloadKontrolfil.Enabled := false;     // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;     // kontrolfil bruges ikke her
1921              BtnOpdaterListen.Enabled := true;              BtnOpdaterListen.Enabled := true;
1922              IdFTP1.Passive := true;              IdFTP1.Passive := true;
1923              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
1924              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1925            end;            end;
1926      03 :      03 :
1927            begin;          // FD            begin;          // FD
# Line 1960  begin Line 1947  begin
1947              BladhusKontrolfil_server := 'frafd/RuteKontrol.txt';              BladhusKontrolfil_server := 'frafd/RuteKontrol.txt';
1948              BladhusKontrolfil_lokal := 'RuteKontrol.txt';              BladhusKontrolfil_lokal := 'RuteKontrol.txt';
1949              DownloadBladhusKontrolfil();              DownloadBladhusKontrolfil();
1950              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1951            end;            end;
1952      04 :  begin;           // DBK      04 :  begin;           // DBK
1953              Testprinter1.Visible := true;              Testprinter1.Visible := true;
1954              Smpakker1.Enabled := true;              menuSmaaPakker.Enabled := true;
1955              Storepakker1.Enabled := true;              menuStorePakker.Enabled := true;
1956              radioStorPakke.Enabled := true;              radioStorPakke.Enabled := true;
1957              radioLillePakke.Enabled := true;              radioLillePakke.Enabled := true;
1958              BtnDownloadKontrolfil.Enabled := false;    // kontrolfil bruges ikke her              BtnDownloadKontrolfil.Enabled := false;    // kontrolfil bruges ikke her
# Line 1986  var Line 1973  var
1973    pakkestorrelse : String;    pakkestorrelse : String;
1974    PrintNyLabelInteger : Integer;    PrintNyLabelInteger : Integer;
1975    
1976    PakkeshopLabel: TPakkeshopLabel;    PakkeshopLabel: TLabelData;
1977  begin  begin
1978    if radioStorPakke.Checked then    if radioStorPakke.Checked then
1979    begin    begin
# Line 1998  begin Line 1985  begin
1985    end;    end;
1986    
1987    
1988    if Pakkernormal1.Checked then    if menuNatXpress1.Checked then
1989    begin    begin
1990       if (BoghandlerTjekkode = '') then       if (BoghandlerTjekkode = '') then
1991       begin       begin
1992         BoghandlerTjekkode := '-1';         BoghandlerTjekkode := '-1';
1993       end;       end;
1994       URLStr := Format(UrlNormal,[Sted, PakkeNr, BoghandlerNummer, BoghandlerTjekkode]);       URLStr := Format(Config.UrlNormal,[Sted, PakkeNr, BoghandlerNummer, BoghandlerTjekkode]);
1995    end    end
1996    else if ReturpakkerfraDAO1.Checked then    else if menuNatxpressReturDAO1.Checked then
1997    begin    begin
1998       URLStr := Format(UrlReturDAO,[Sted, PakkeNr, BoghandlerNummer, 'DAO', pakkestorrelse]);       URLStr := Format(Config.UrlReturDAO,[Sted, PakkeNr, BoghandlerNummer, 'DAO', pakkestorrelse]);
1999    end    end
2000    else if Returpakkerfraboghandler1.Checked then    else if menuNatxpressReturfraKunde1.Checked then
2001    begin    begin
2002       URLStr := Format(UrlReturBoghandler,[Sted, PakkeNr, BoghandlerNummer, 'Boghandler', pakkestorrelse]);       URLStr := Format(Config.UrlReturBoghandler,[Sted, PakkeNr, BoghandlerNummer, 'Boghandler', pakkestorrelse]);
2003    end    end
2004    else if Budlevering1.Checked then    else if menuDaoDirekte1.Checked then
2005    begin    begin
2006       URLStr := Format(UrlBudlevering,[Sted, PakkeNr, 'bud', pakkestorrelse]);       URLStr := Format(Config.UrlBudlevering,[Sted, PakkeNr, 'bud', pakkestorrelse]);
2007    end    end
2008    else if Pakkeshoplevering1.Checked then    else if menuPakkeshop1.Checked then
2009    begin    begin
2010       URLStr := Format(UrlPakkeshoplevering,[Sted, PakkeNr, PakkeshopTjekkode]);       URLStr := Format(Config.UrlPakkeshoplevering,[Sted, PakkeNr, PakkeshopTjekkode]);
2011    end    end
2012    else if Returpakkerfrapakkeshop1.Checked then    else if menuPakkeshopRetur1.Checked then
2013    begin    begin
2014       URLStr := Format(UrlReturPakkeshop,[Sted, PakkeNr]);       URLStr := Format(Config.UrlReturPakkeshop,[Sted, PakkeNr]);
2015    end    end
2016    else if menuIndlevering.Checked then    else if menuIndlevering.Checked then
2017    begin    begin
2018      URLStr := Format(UrlIndleveringsPakke,[Sted, PakkeNr]);      URLStr := Format(Config.UrlIndleveringsPakke,[Sted, PakkeNr]);
2019    end    end
2020    else    else
2021    begin    begin
# Line 2037  begin Line 2024  begin
2024    
2025    if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er    if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er
2026    begin    begin
2027      URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);      URLStr := Format(Config.URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
2028    end;    end;
2029    
2030    try    try
# Line 2064  begin Line 2051  begin
2051    
2052    XMLDocument1.LoadFromXML(WebSvar);    XMLDocument1.LoadFromXML(WebSvar);
2053    try    try
2054      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then      if menuPakkeshop1.Checked or menuPakkeshopRetur1.Checked then
2055       begin       begin
2056        RuteNummer := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopTurid').Text;        RuteNummer := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopTurid').Text;
2057        Kommentar := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('Stregkodematch').Text;        Kommentar := XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('Stregkodematch').Text;
# Line 2072  begin Line 2059  begin
2059        BoghandlerNavn := BoghandlerNavn + ' ' + XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNavn').Text;        BoghandlerNavn := BoghandlerNavn + ' ' + XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNavn').Text;
2060        PrintNyLabel := False;        PrintNyLabel := False;
2061    
2062        if Pakkeshoplevering1.Checked then        try
2063            PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);
2064          except on e:exception do
2065              PrintNyLabelInteger := 0;
2066          end;
2067          if (PrintNyLabelInteger = 1) then
2068        begin        begin
2069          try          PrintNyLabel := True;
           PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);  
         except on e:exception do  
             PrintNyLabelInteger := 0;  
         end;  
         if (PrintNyLabelInteger = 1) then  
         begin  
           PrintNyLabel := True;  
         end;  
2070        end;        end;
2071    
2072       end       end
2073      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then
2074      begin      begin
# Line 2095  begin Line 2080  begin
2080       if (Kommentar = 'Ok') then       if (Kommentar = 'Ok') then
2081       begin       begin
2082         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label
2083         PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc         PakkeshopLabel := TLabelData.Create( XMLDocument1 ); //Opret struct og parse xml doc
2084         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;
2085         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2086    
2087         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintLabel(PakkeshopLabel.Stregkode);
2088         chkForstorTilDirekte.Checked := false;  
2089    //       LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel );
2090    //       chkForstorTilDirekte.Checked := false;
2091    
2092       end;       end;
2093    
# Line 2113  begin Line 2100  begin
2100        Kommentar := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Kommentar').Text;        Kommentar := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Kommentar').Text;
2101        BoghandlerNavn := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('BoghandlerNavn').Text;        BoghandlerNavn := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('BoghandlerNavn').Text;
2102        Leveringssted := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Leveringssted').Text;        Leveringssted := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Leveringssted').Text;
2103        if Budlevering1.Checked then        if menuDaoDirekte1.Checked then
2104          begin          begin
2105          try          try
2106            SmsKode := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('SmsKode').Text;            SmsKode := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('SmsKode').Text;
# Line 2144  begin Line 2131  begin
2131      begin      begin
2132        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then
2133        begin        begin
2134            Kommentar := Kommentar + ' Pakke burde være hos DAO Distribution';            Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2135            PrintNyLabel := False;            //PrintNyLabel := False; //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel
2136        end;        end;
2137      end      end
2138      else if (Budlevering1.Checked) and (Leveringssted <> Sted) then      else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then
2139      begin      begin
2140         if (Leveringssted = 'E') and (Sted = 'DBK') then        Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2141         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;  
2142      end;      end;
2143    except on e:exception do    except on e:exception do
2144      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
# Line 2177  begin Line 2157  begin
2157    //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
2158    BoghandlerNavnST.Caption := StringReplace(BoghandlerNavn, ' & ', ' && ', [rfReplaceAll, rfIgnoreCase]);    BoghandlerNavnST.Caption := StringReplace(BoghandlerNavn, ' & ', ' && ', [rfReplaceAll, rfIgnoreCase]);
2159    List1msg := TimeToStr(now) + '; ';    List1msg := TimeToStr(now) + '; ';
2160    if Pakkeshoplevering1.Checked then    if menuPakkeshop1.Checked then
2161      List1msg := List1msg + PakkeshopStregkode + ' ' + PakkeshopTjekkode + '; ' + KommentarST.Caption + '; ';      List1msg := List1msg + PakkeshopStregkode + ' ' + PakkeshopTjekkode + '; ' + KommentarST.Caption + '; ';
2162    List1Pakkestorrelse := '';    List1Pakkestorrelse := '';
2163    if radioStorPakke.Checked then    if radioStorPakke.Checked then
# Line 2189  begin Line 2169  begin
2169      List1Pakkestorrelse := 'Lille pakke';      List1Pakkestorrelse := 'Lille pakke';
2170    end;    end;
2171    List1msg := List1msg + BoghandlerNavn + '; ';    List1msg := List1msg + BoghandlerNavn + '; ';
2172    if ReturpakkerfraDAO1.Checked then    if menuNatxpressReturDAO1.Checked then
2173    begin    begin
2174      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-8);      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-8);
2175    end;    end;
2176    if Returpakkerfraboghandler1.Checked then    if menuNatxpressReturfraKunde1.Checked then
2177    begin    begin
2178      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-16);      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-16);
2179    end;    end;
2180    if ReturpakkerfraDAO1.Checked or Returpakkerfraboghandler1.Checked then    if menuNatxpressReturDAO1.Checked or menuNatxpressReturfraKunde1.Checked then
2181       List1msg := List1msg + '; ' + List1Pakkestorrelse;       List1msg := List1msg + '; ' + List1Pakkestorrelse;
2182    if length(BoghNr) > 0 then    if length(BoghNr) > 0 then
2183    begin    begin
2184      List1Msg := List1Msg + '; Indtastet ' + BoghNr;      List1Msg := List1Msg + '; Indtastet ' + BoghNr;
2185    end;    end;
2186    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2187    begin    begin
2188       List1msg := TimeToStr(now) + '; ' + Kommentar + '; ' + BoghandlerNavn;       List1msg := TimeToStr(now) + '; ' + Kommentar + '; ' + BoghandlerNavn;
2189        if (radioStorPakke.Checked) then        if (radioStorPakke.Checked) then
# Line 2215  begin Line 2195  begin
2195          List1msg := List1msg + '; Lille pakke';          List1msg := List1msg + '; Lille pakke';
2196        end;        end;
2197    end;    end;
2198    if Returpakkerfrapakkeshop1.Checked then    if menuPakkeshopRetur1.Checked then
2199    begin    begin
2200      List1msg := List1msg + Stregkode + ' ' + RightStr(Kommentar, Length(Kommentar)-6);      List1msg := List1msg + Stregkode + ' ' + RightStr(Kommentar, Length(Kommentar)-6);
2201    end;    end;
2202    if Pakkernormal1.Checked then    if menuNatXpress1.Checked then
2203    begin    begin
2204      if (Kommentar = '***** Kommentar *****')                       // fra test printer funktionen      if (Kommentar = '***** Kommentar *****')                       // fra test printer funktionen
2205      or (BoghandlerNavn = 'Forbindelse ok')                         // fra test forbindelse funktionen      or (BoghandlerNavn = 'Forbindelse ok')                         // fra test forbindelse funktionen
# Line 2259  pakkeForkertSted : Integer; Line 2239  pakkeForkertSted : Integer;
2239    kontrolKoreliste : string;    kontrolKoreliste : string;
2240    nytRuteNummer, nyFarve : String;    nytRuteNummer, nyFarve : String;
2241  begin  begin
2242    if Budlevering1.Checked then  //  if (PrintNyLabel = True OR chkAltidPrintLabel.Checked = True) then
2243    //  begin
2244    //    LabelPrint.PrintLabel( Stregkode );
2245    //  end;
2246    //
2247    //  exit;
2248    
2249      if menuDaoDirekte1.Checked then
2250       RuteNummerST.Color := TUtils.HexToTColor(Farve);       RuteNummerST.Color := TUtils.HexToTColor(Farve);
2251    
2252    pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);    pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);
# Line 2297  begin Line 2284  begin
2284        end;        end;
2285    end    end
2286    else    else
2287    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2288    begin    begin
2289       if (BoghandlerNavn = 'Ukendt pakke') then       if (BoghandlerNavn = 'Ukendt pakke') then
2290       begin       begin
2291          PrintNyLabel := false;          PrintNyLabel := false;
2292    
2293          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
2294          MainForm.Color := clRed;          MainForm.Color := clRed;
2295          btnNulstil.Visible := true;          btnNulstil.Visible := true;
2296    
# Line 2323  begin Line 2310  begin
2310            logTekst := RightStr(List1Msg, Length(List1Msg)-10);            logTekst := RightStr(List1Msg, Length(List1Msg)-10);
2311            SkrivScanningLogFil(logTekst);            SkrivScanningLogFil(logTekst);
2312    
2313            if (PrinterNavn = 'Ingen') then  //          if (Config.PrinterNavn = 'Ingen') then
2314            begin  //          begin
2315               PrintNyLabel := false;  //             PrintNyLabel := false;
2316            end;  //          end;
2317    
2318            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
2319            begin            begin
2320              PlaySound(PWideChar(AlarmLyd));              PlaySound(PWideChar(Config.AlarmLyd));
2321              MainForm.Color := clRed;              MainForm.Color := clRed;
2322              btnNulstil.Visible := true;              btnNulstil.Visible := true;
2323            end;            end;
# Line 2356  begin Line 2343  begin
2343    
2344            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
2345            begin            begin
2346              PlaySound(PWideChar(AlarmLyd));              PlaySound(PWideChar(Config.AlarmLyd));
2347              MainForm.Color := clRed;              MainForm.Color := clRed;
2348              btnNulstil.Visible := true;              btnNulstil.Visible := true;
2349            end;            end;
# Line 2366  begin Line 2353  begin
2353    
2354    end;    end;
2355    
2356    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2357    begin    begin
2358      case BladhusSted of      case BladhusSted of
2359        00 :  begin;        00 :  begin;
# Line 2378  begin Line 2365  begin
2365               if PrintNyLabel or (RuteNummer = 'Rutenr') then               if PrintNyLabel or (RuteNummer = 'Rutenr') then
2366  // 20150304: slut  // 20150304: slut
2367                begin                begin
2368                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2369                    LabelPrint.PrintLabel( Stregkode );
2370                end;                end;
2371              end;              end;
2372        01 :  begin;        01 :  begin;
# Line 2386  begin Line 2374  begin
2374                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
2375                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
2376                begin                begin
2377                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2378                    LabelPrint.PrintLabel( Stregkode );
2379                end;                end;
2380              end;              end;
2381        02 :  begin;        02 :  begin;
2382                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
2383                begin                begin
2384                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2385                    LabelPrint.PrintLabel( Stregkode );
2386                end;                end;
2387              end;              end;
2388        03 :  begin;        03 :  begin;
# Line 2400  begin Line 2390  begin
2390                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
2391                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
2392               begin               begin
2393                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2394                    LabelPrint.PrintLabel( Stregkode );
2395               end;               end;
2396              end;              end;
2397        04 :  begin;        04 :  begin;
2398                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
2399                begin                begin
2400                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2401                    LabelPrint.PrintLabel( Stregkode );
2402                end;                end;
2403              end;              end;
       else  
        ShowMessage('Ukendt Bladhus sted: ' + IntToStr(BladhusSted));  
2404      end;      end;
2405    end;    end;
2406    
2407  // 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
2408    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
2409    begin    begin
2410      exit;      exit;
2411    end;    end;
2412    
2413    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
2414    begin    begin
2415    end    end
2416    else    else
2417    begin    begin
2418      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
2419      begin      begin
2420        logTekst := 'Printer label type ';        logTekst := 'Printer label type ';
2421        if (chkAltidPrintLabel.Checked) then        if (chkAltidPrintLabel.Checked) then
# Line 2443  begin Line 2433  begin
2433        logTekst := logTekst + ' for '+BoghandlerNavn;        logTekst := logTekst + ' for '+BoghandlerNavn;
2434        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
2435    
2436        LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;        //LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;
2437                LabelPrint.PrintLabel( Stregkode );
2438    
2439        end;
2440      end;
2441    
2442      // tilføjet 20161020
2443      if (menuPakkeshop1.Checked OR menuPakkeshopRetur1.Checked) then
2444        begin
2445        if (PrintNyLabel = True OR chkAltidPrintLabel.Checked = True) then
2446        begin
2447          LabelPrint.PrintLabel( Stregkode );
2448      end;      end;
2449    end;    end;
2450    
# Line 2454  end; Line 2454  end;
2454    
2455  procedure TMainForm.radioStorPakkeClick(Sender: TObject);  procedure TMainForm.radioStorPakkeClick(Sender: TObject);
2456  begin  begin
2457      Storepakker1.Checked := true;      menuStorePakker.Checked := true;
2458      radioStorPakke.Checked := true;      radioStorPakke.Checked := true;
2459  end;  end;
2460    
2461  procedure TMainForm.radioLillePakkeClick(Sender: TObject);  procedure TMainForm.radioLillePakkeClick(Sender: TObject);
2462  begin  begin
2463      Smpakker1.Checked := true;      menuSmaaPakker.Checked := true;
2464      radioLillePakke.Checked := true;      radioLillePakke.Checked := true;
2465  end;  end;
2466    
# Line 2478  begin Line 2478  begin
2478  end;  end;
2479    
2480    
2481    procedure TMainForm.chkUdenforSpecifikationClick(Sender: TObject);
2482    begin
2483      if (chkUdenforSpecifikation.Checked = true) then
2484      begin
2485        chkEmballageRepareret.Checked := false;
2486      end;
2487    end;
2488    
2489    procedure TMainForm.chkEmballageRepareretClick(Sender: TObject);
2490    begin
2491      if (chkEmballageRepareret.Checked = true) then
2492      begin
2493        chkUdenforSpecifikation.Checked := false;
2494      end;
2495    end;
2496    
2497  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);
2498  begin  begin
2499    if chkAltidPrintLabel.Checked then    if chkAltidPrintLabel.Checked then
# Line 2491  begin Line 2507  begin
2507    
2508  end;  end;
2509    
2510    
2511    
2512  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);
2513  begin  begin
2514    if chkScanTjekkode.Checked then    if chkScanTjekkode.Checked then
# Line 2503  begin Line 2521  begin
2521    end;    end;
2522  end;  end;
2523    
2524  procedure TMainForm.Pakkeshoplevering1Click(Sender: TObject);  procedure TMainForm.menuPakkeshop1Click(Sender: TObject);
2525  begin  begin
2526        Scanningtype := '5';        Scanningtype := '5';
2527        InitPakkeshoplevering();        InitPakkeshoplevering();
# Line 2512  end; Line 2530  end;
2530    
2531  procedure TMainForm.NulstilAutomatiskValg();  procedure TMainForm.NulstilAutomatiskValg();
2532  begin  begin
2533      Automatiskvalg1.Checked := false;      menuAutomatiskvalg1.Checked := false;
2534      PanelValgA.Color := clBtnFace;      PanelValgA.Color := clBtnFace;
2535      PanelValgA.Font.Color := clWindowText;      PanelValgA.Font.Color := clWindowText;
2536    
# Line 2524  begin Line 2542  begin
2542        // 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)
2543        PanelValgA.Enabled := false;        PanelValgA.Enabled := false;
2544        PanelValgA.Font.Color := clInactiveCaption;        PanelValgA.Font.Color := clInactiveCaption;
2545        Automatiskvalg1.Enabled := false;        menuAutomatiskvalg1.Enabled := false;
2546      end;      end;
2547  // 20150317: slut  // 20150317: slut
2548  end;  end;
# Line 2550  begin Line 2568  begin
2568      // Tjekker UrlNormal      // Tjekker UrlNormal
2569      if PanelValg1.Enabled = true then      if PanelValg1.Enabled = true then
2570      begin      begin
2571        TjekkerEnkeltUrl('UrlNormal', UrlNormal, urlFejl);        TjekkerEnkeltUrl('UrlNormal', Config.UrlNormal, urlFejl);
2572      end;      end;
2573    
2574      // Tjekker UrlReturDAO      // Tjekker UrlReturDAO
2575      if PanelValg2.Enabled = true then      if PanelValg2.Enabled = true then
2576      begin      begin
2577        TjekkerEnkeltUrl('UrlReturDAO', UrlReturDAO, urlFejl);        TjekkerEnkeltUrl('UrlReturDAO', Config.UrlReturDAO, urlFejl);
2578      end;      end;
2579    
2580      // Tjekker UrlReturBoghandler      // Tjekker UrlReturBoghandler
2581      if PanelValg3.Enabled = true then      if PanelValg3.Enabled = true then
2582      begin      begin
2583        TjekkerEnkeltUrl('UrlReturBoghandler', UrlReturBoghandler, urlFejl);        TjekkerEnkeltUrl('UrlReturBoghandler', Config.UrlReturBoghandler, urlFejl);
2584      end;      end;
2585    
2586      // Tjekker UrlBudlevering      // Tjekker UrlBudlevering
2587      if PanelValg4.Enabled = true then      if PanelValg4.Enabled = true then
2588      begin      begin
2589        TjekkerEnkeltUrl('UrlBudlevering', UrlBudlevering, urlFejl);        TjekkerEnkeltUrl('UrlBudlevering', Config.UrlBudlevering, urlFejl);
2590      end;      end;
2591    
2592      // Tjekker UrlPakkeshoplevering      // Tjekker UrlPakkeshoplevering
2593      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2594      begin      begin
2595        TjekkerEnkeltUrl('UrlPakkeshoplevering', UrlPakkeshoplevering, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshoplevering', Config.UrlPakkeshoplevering, urlFejl);
2596      end;      end;
2597    
2598      // Tjekker UrlReturPakkeshop      // Tjekker UrlReturPakkeshop
2599      if PanelValg6.Enabled = true then      if PanelValg6.Enabled = true then
2600      begin      begin
2601        TjekkerEnkeltUrl('UrlReturPakkeshop', UrlReturPakkeshop, urlFejl);        TjekkerEnkeltUrl('UrlReturPakkeshop', Config.UrlReturPakkeshop, urlFejl);
2602      end;      end;
2603    
2604      // Tjekker UrlManglendeScanninger      // Tjekker UrlManglendeScanninger
2605      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then
2606      begin      begin
2607        TjekkerEnkeltUrl('UrlManglendeScanninger', UrlManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlManglendeScanninger', Config.UrlManglendeScanninger, urlFejl);
2608      end;      end;
2609    
2610      // Tjekker UrlPakkeshopManglendeScanninger      // Tjekker UrlPakkeshopManglendeScanninger
2611      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2612      begin      begin
2613        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', UrlPakkeshopManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', Config.UrlPakkeshopManglendeScanninger, urlFejl);
2614      end;      end;
2615    
2616      // Tjekker UrlPakkeshopManglendeReturScanninger      // Tjekker UrlPakkeshopManglendeReturScanninger
2617      if PanelValg6.Enabled = true then      if PanelValg6.Enabled = true then
2618      begin      begin
2619        TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', UrlPakkeshopManglendeReturScanninger, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', Config.UrlPakkeshopManglendeReturScanninger, urlFejl);
2620      end;      end;
2621    
2622     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger
2623      if PanelValg7.Enabled = true then      if PanelValg7.Enabled = true then
2624      begin      begin
2625        TjekkerEnkeltUrl('UrlIndleveringsPakke', UrlIndleveringsPakke, urlFejl);        TjekkerEnkeltUrl('UrlIndleveringsPakke', Config.UrlIndleveringsPakke, urlFejl);
2626        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', UrlIndleveringsPakkeManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', Config.UrlIndleveringsPakkeManglendeScanninger, urlFejl);
2627      end;      end;
2628    
2629      // Tjekker UrlEKLoverforsel      // Tjekker UrlEKLoverforsel
2630      if PanelValg1.Enabled = true then      if PanelValg1.Enabled = true then
2631      begin      begin
2632        TjekkerEnkeltUrl('UrlEKLoverforsel', UrlEKLoverforsel, urlFejl);        TjekkerEnkeltUrl('UrlEKLoverforsel', Config.UrlEKLoverforsel, urlFejl);
2633      end;      end;
2634    
2635    
2636      // Tjekker UrlEKLoverforselPakkeshop      // Tjekker UrlEKLoverforselPakkeshop
2637      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2638      begin      begin
2639        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', UrlEKLoverforselPakkeshop, urlFejl);        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', Config.UrlEKLoverforselPakkeshop, urlFejl);
2640      end;      end;
2641    
2642    
2643      // Tjekker UrlFindPakketype      // Tjekker UrlFindPakketype
2644      TjekkerEnkeltUrl('UrlFindPakketype', UrlFindPakketype, urlFejl);      TjekkerEnkeltUrl('UrlFindPakketype', Config.UrlFindPakketype, urlFejl);
2645    
2646      // Tjekker UrlSendPrograminfo      // Tjekker UrlSendPrograminfo
2647      TjekkerEnkeltUrl('UrlSendPrograminfo', UrlSendPrograminfo, urlFejl);      TjekkerEnkeltUrl('UrlSendPrograminfo', Config.UrlSendPrograminfo, urlFejl);
2648    
2649    
2650    
# Line 2635  begin Line 2653  begin
2653      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
2654    
2655    Except    Except
2656      TjekUrls := '-';   // markerer at der var fejl      Config.TjekUrls := '-';   // markerer at der var fejl
2657    
2658    end;    end;
2659  end;  end;
# Line 2655  begin Line 2673  begin
2673      inc(urlFejl);   // Optæller antal fejl      inc(urlFejl);   // Optæller antal fejl
2674      logTekst := UrlNavn + ' svarer ikke: ' + Url;      logTekst := UrlNavn + ' svarer ikke: ' + Url;
2675      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2676      if TjekUrls = '1' then      if Config.TjekUrls = '1' then
2677      begin      begin
2678        logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';        logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
2679      end;      end;
2680    
2681      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
2682    
2683      if TjekUrls = '1' then      if Config.TjekUrls = '1' then
2684      begin      begin
2685        ShowMessage(logTekst);        ShowMessage(logTekst);
2686        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
2687        Application.Terminate;        Application.Terminate;
2688    
2689        raise Exception.Create('UrlFejl');        raise Exception.Create('UrlFejl');
# Line 2746  begin Line 2764  begin
2764    if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then    if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then
2765    begin    begin
2766       ShowMessage('Programmet afbrydes...');       ShowMessage('Programmet afbrydes...');
2767       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
2768       Application.Terminate;       Application.Terminate;
2769       exit;       exit;
2770    end;    end;
# Line 2757  begin Line 2775  begin
2775    begin    begin
2776       MainForm.Color := TUtils.HexToTColor(Farve);       MainForm.Color := TUtils.HexToTColor(Farve);
2777    end;    end;
2778    if (Budlevering1.Checked) then    if (menuDaoDirekte1.Checked) then
2779    begin    begin
2780       InitLillePakke();       InitLillePakke();
2781    end;    end;
# Line 2821  procedure TMainForm.PanelValgAClick(Send Line 2839  procedure TMainForm.PanelValgAClick(Send
2839  begin  begin
2840  // Skal ikke toggle men bare sætte funktionen on  // Skal ikke toggle men bare sætte funktionen on
2841  // Fravælges ved at vælge en scanningstype  // Fravælges ved at vælge en scanningstype
2842    AutomatiskValg1.Checked := true;    menuAutomatiskvalg1.Checked := true;
2843    PanelValgA.Color := clGreen;    PanelValgA.Color := clGreen;
2844    PanelValgA.Font.Color := clWhite;    PanelValgA.Font.Color := clWhite;
2845    
# Line 2829  begin Line 2847  begin
2847    
2848  end;  end;
2849    
2850  procedure TMainForm.Pakkernormal1Click(Sender: TObject);  procedure TMainForm.menuNatXpress1Click(Sender: TObject);
2851  begin  begin
2852        Scanningtype := '1';        Scanningtype := '1';
2853        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 2848  var Line 2866  var
2866    Leveringssted : String;    Leveringssted : String;
2867    orgTjekUrls : String;    orgTjekUrls : String;
2868  begin  begin
2869    orgTjekUrls := TjekUrls;    orgTjekUrls := Config.TjekUrls;
2870    if (TjekUrls = '1') or (TjekUrls = '2') then    if (Config.TjekUrls = '1') or (Config.TjekUrls = '2') then
2871    begin    begin
2872      TjekkerUrls();      TjekkerUrls();
2873    end;    end;
2874    if TjekUrls = '-' then    if Config.TjekUrls = '-' then
2875    begin    begin
2876      //ShowMessage('Der var fejl i een eller flere urls - se logvinduet');      //ShowMessage('Der var fejl i een eller flere urls - se logvinduet');
2877      RuteNummer := '';      RuteNummer := '';
# Line 2862  begin Line 2880  begin
2880      Koreliste := '';      Koreliste := '';
2881      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2882      // Her kommer en alarm og rød skærm      // Her kommer en alarm og rød skærm
2883      PlaySound(PWideChar(AlarmLyd));      PlaySound(PWideChar(Config.AlarmLyd));
2884      MainForm.Color := clRed;      MainForm.Color := clRed;
2885      btnNulstil.Visible := true;      btnNulstil.Visible := true;
2886    end    end
# Line 2875  begin Line 2893  begin
2893      SmsKode := '999999';      SmsKode := '999999';
2894      DBKbane := '999';      DBKbane := '999';
2895      Leveringssted := 'XXX';      Leveringssted := 'XXX';
2896    
2897    
2898      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2899      FocusControl(StregkodeST);      FocusControl(StregkodeST);
2900    end;    end;
2901    TjekUrls := orgTjekUrls;    Config.TjekUrls := orgTjekUrls;
2902    
2903  end;  end;
2904    
# Line 2888  var Line 2908  var
2908    Kommentar : String;    Kommentar : String;
2909    BoghandlerNavn : String;    BoghandlerNavn : String;
2910    Koreliste : String;    Koreliste : String;
2911    Falsk : Boolean;  //  Falsk : Boolean;
2912    SmsKode : String;  //  SmsKode : String;
2913    DBKbane : String;  //  DBKbane : String;
2914    Leveringssted : String;  //  Leveringssted : String;
2915  begin  begin
2916    RuteNummer := 'Rutenr';    RuteNummer := 'Rutenr';
2917    Kommentar := '***** Kommentar *****';    Kommentar := '***** Kommentar *****';
2918    BoghandlerNavn := 'Modtagernavn';    BoghandlerNavn := 'Modtagernavn';
2919    Falsk := False;  //  Falsk := False;
2920    
2921    
2922    if (LabelPrint.GetPrinterCount() = 0) then    if (LabelPrint.GetPrinterCount() = 0) then
2923    begin    begin
2924      ShowMessage('Der er ikke installeret en printer på denne PC.');      ShowMessage('Der er ikke installeret en printer på denne PC.');
2925    end    end
2926    else if PrinterNavn = 'Ingen' then  //  else if Config.PrinterNavn = 'Ingen' then //Det giver ikke længere mening at kunne fravælge printer
2927    begin  //  begin
2928      ShowMessage('Der er fravalgt printer i dette program.');  //    ShowMessage('Der er fravalgt printer i dette program.');
2929    end  //  end
2930    else    else
2931    begin    begin
2932      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2933      SmsKode := '999999';  //    SmsKode := '999999';
2934      DBKbane := '999';  //    DBKbane := '999';
2935      Leveringssted := 'XXX';  //    Leveringssted := 'XXX';
2936      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);  //    PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2937      LabelPrint.CheckPrintQue('Test', PrinterNavn);  
2938        LabelPrint.PrintTestLabel();
2939    
2940        LabelPrint.CheckPrintQue('Test', Config.PrinterNavn);
2941    
2942    end;    end;
2943    FocusControl(StregkodeST);    FocusControl(StregkodeST);
2944  end;  end;
2945    
2946  procedure TMainForm.Timer1Timer(Sender: TObject);  procedure TMainForm.Timer1Timer(Sender: TObject);
2947  begin  begin
2948    if (TjekPrinter = '1') then    if (Config.TjekPrinter = '1') then
2949    begin    begin
2950      LabelPrint.CheckPrintQue('Timer', PrinterNavn);      LabelPrint.CheckPrintQue('Timer', Config.PrinterNavn);
2951    end    end
2952    else    else
2953    begin    begin
# Line 2977  begin Line 3001  begin
3001      tekst := tekst+crlf+crlf;      tekst := tekst+crlf+crlf;
3002      tekst := tekst+crlf+crlf+'          **********  DETTE ER KUN EN TEST VERSION  **********';      tekst := tekst+crlf+crlf+'          **********  DETTE ER KUN EN TEST VERSION  **********';
3003      tekst := tekst+crlf+crlf;      tekst := tekst+crlf+crlf;
3004      tekst := tekst+crlf+crlf+'Url: '+url;      tekst := tekst+crlf+crlf+'Url: ' + Url;
3005    end;    end;
3006    
3007    MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK);    MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK);
3008    
3009  end;  end;
3010    
3011    
3012  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;
3013    Rect: TRect; State: TOwnerDrawState);    Rect: TRect; State: TOwnerDrawState);
3014  var  var
# Line 3098  begin Line 3123  begin
3123    
3124  end;  end;
3125    
3126  procedure TMainForm.ReturpakkerfraDAO1Click(Sender: TObject);  procedure TMainForm.menuNatxpressReturDAO1Click(Sender: TObject);
3127  begin  begin
3128        Scanningtype := '2';        Scanningtype := '2';
3129        NulstilAutomatiskValg();        NulstilAutomatiskValg();
3130        InitReturFraDao();        InitReturFraDao();
3131  end;  end;
3132    
3133  procedure TMainForm.Returpakkerfrapakkeshop1Click(Sender: TObject);  procedure TMainForm.menuPakkeshopRetur1Click(Sender: TObject);
3134  begin  begin
3135        Scanningtype := '6';        Scanningtype := '6';
3136        InitReturFraPakkeshop();        InitReturFraPakkeshop();
# Line 3114  end; Line 3139  end;
3139    
3140  procedure TMainForm.InitNatxpresslevering();  procedure TMainForm.InitNatxpresslevering();
3141  begin  begin
3142        AutomatiskTjekkodeStyring1.Enabled := true;        menuAutomatiskTjekkodeStyring.Enabled := true;
3143        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3144        Pakkernormal1.Checked := true;        menuNatXpress1.Checked := true;
3145        InitForm(FarveNormal,TitelNormal,UrlNormal);        InitForm(Config.FarveNormal,Config.TitelNormal,Config.UrlNormal);
3146        PanelValg1.Color := clGreen;        PanelValg1.Color := clGreen;
3147        PanelValg1.Font.Color := clWhite;        PanelValg1.Font.Color := clWhite;
3148    
# Line 3128  begin Line 3153  begin
3153        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3154        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3155        Sprgefterboghandlernummer1.Enabled := true;        Sprgefterboghandlernummer1.Enabled := true;
3156        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3157        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3158        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3159        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3160        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3144  begin Line 3169  begin
3169        if BladhusSted = 0 then        if BladhusSted = 0 then
3170        begin        begin
3171          IndlesScanningLogFil();          IndlesScanningLogFil();
3172          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3173        end;        end;
3174  end;  end;
3175    
3176  procedure TMainForm.InitReturFraDao();  procedure TMainForm.InitReturFraDao();
3177  begin  begin
3178        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3179        ReturpakkerfraDAO1.Checked := true;        menuNatxpressReturDAO1.Checked := true;
3180        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3181        InitForm(FarveReturDAO,TitelReturDAO,UrlReturDAO);        InitForm(Config.FarveReturDAO, Config.TitelReturDAO, Config.UrlReturDAO);
3182        PanelValg2.Color := clGreen;        PanelValg2.Color := clGreen;
3183        PanelValg2.Font.Color := clWhite;        PanelValg2.Font.Color := clWhite;
3184    
# Line 3164  begin Line 3189  begin
3189        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3190        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3191        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3192        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3193        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3194        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3195        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3196        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3181  end; Line 3206  end;
3206    
3207  procedure TMainForm.InitReturFraKunde();  procedure TMainForm.InitReturFraKunde();
3208  begin  begin
3209        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3210        Returpakkerfraboghandler1.Checked := true;        menuNatxpressReturfraKunde1.Checked := true;
3211        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3212        InitForm(FarveReturBoghandler,TitelReturBoghandler,UrlReturBoghandler);        InitForm(Config.FarveReturBoghandler, Config.TitelReturBoghandler, Config.UrlReturBoghandler);
3213        PanelValg3.Color := clGreen;        PanelValg3.Color := clGreen;
3214        PanelValg3.Font.Color := clWhite;        PanelValg3.Font.Color := clWhite;
3215    
# Line 3194  begin Line 3219  begin
3219        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3220        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3221        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3222        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3223        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3224        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3225        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3226        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3211  end; Line 3236  end;
3236    
3237  procedure TMainForm.InitDirektelevering();  procedure TMainForm.InitDirektelevering();
3238  begin  begin
3239        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3240        Budlevering1.Checked := true;        menuDaoDirekte1.Checked := true;
3241        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3242        InitForm(FarveBudlevering,TitelBudlevering,UrlBudlevering);        InitForm(Config.FarveBudlevering, Config.TitelBudlevering, Config.UrlBudlevering);
3243        PanelValg4.Color := clGreen;        PanelValg4.Color := clGreen;
3244        PanelValg4.Font.Color := clWhite;        PanelValg4.Font.Color := clWhite;
3245    
# Line 3225  begin Line 3250  begin
3250        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3251        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3252        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3253        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3254        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3255        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3256        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3257        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3244  begin Line 3269  begin
3269        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3270        begin        begin
3271            IndlesScanningLogFil();            IndlesScanningLogFil();
3272            IndlesManglendeScanninger();            IndlesManglendeScanningerAntal();
3273        end;        end;
3274    
3275  end;  end;
3276    
3277  procedure TMainForm.InitPakkeshoplevering();  procedure TMainForm.InitPakkeshoplevering();
3278  begin  begin
3279        AutomatiskTjekkodeStyring1.Enabled := true;        menuAutomatiskTjekkodeStyring.Enabled := true;
3280        Pakkeshoplevering1.Checked := true;        menuPakkeshop1.Checked := true;
3281        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3282        InitForm(FarvePakkeshoplevering,TitelPakkeshoplevering,UrlPakkeshoplevering);        InitForm(Config.FarvePakkeshoplevering, Config.TitelPakkeshoplevering, Config.UrlPakkeshoplevering);
3283        PanelValg5.Color := clGreen;        PanelValg5.Color := clGreen;
3284        PanelValg5.Font.Color := clWhite;        PanelValg5.Font.Color := clWhite;
3285    
# Line 3265  begin Line 3290  begin
3290        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3291        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3292        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3293        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3294        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3295        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3296        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3297        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3283  begin Line 3308  begin
3308        IndlesScanningLogFil();        IndlesScanningLogFil();
3309        if BladhusSted = 0 then        if BladhusSted = 0 then
3310        begin        begin
3311          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3312        end;        end;
3313        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3314        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 3291  end; Line 3316  end;
3316    
3317  procedure TMainForm.InitReturFraPakkeshop();  procedure TMainForm.InitReturFraPakkeshop();
3318  begin  begin
3319        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3320        Returpakkerfrapakkeshop1.Checked := true;        menuPakkeshopRetur1.Checked := true;
3321        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3322        InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop);        InitForm(Config.FarveReturPakkeshop, Config.TitelReturPakkeshop, Config.UrlReturPakkeshop);
3323        PanelValg6.Color := clGreen;        PanelValg6.Color := clGreen;
3324        PanelValg6.Font.Color := clWhite;        PanelValg6.Font.Color := clWhite;
3325    
# Line 3305  begin Line 3330  begin
3330        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3331        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3332        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3333        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3334        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3335        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3336        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3337        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3323  begin Line 3348  begin
3348        IndlesScanningLogFil();        IndlesScanningLogFil();
3349        if BladhusSted = 0 then        if BladhusSted = 0 then
3350        begin        begin
3351          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3352        end;        end;
3353        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3354        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3355  end;  end;
3356    
3357  procedure TMainForm.Returpakkerfraboghandler1Click(Sender: TObject);  procedure TMainForm.menuNatxpressReturfraKunde1Click(Sender: TObject);
3358  begin  begin
3359        Scanningtype := '3';        Scanningtype := '3';
3360        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 3339  end; Line 3364  end;
3364  procedure TMainForm.InitIndleveringskode();  procedure TMainForm.InitIndleveringskode();
3365  begin  begin
3366        menuIndlevering.Checked := true;        menuIndlevering.Checked := true;
3367        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3368    
3369        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3370        InitForm(FarveIndlevering, TitelIndlevering, UrlReturPakkeshop);        InitForm(Config.FarveIndlevering, Config.TitelIndlevering, Config.UrlReturPakkeshop);
3371        PanelValg7.Color := clGreen;        PanelValg7.Color := clGreen;
3372        PanelValg7.Font.Color := clWhite;        PanelValg7.Font.Color := clWhite;
3373    
# Line 3356  begin Line 3381  begin
3381    
3382    
3383    
3384        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3385        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3386        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3387        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3388        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3375  begin Line 3400  begin
3400        IndlesScanningLogFil();        IndlesScanningLogFil();
3401        if BladhusSted = 0 then        if BladhusSted = 0 then
3402        begin        begin
3403          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3404        end;        end;
3405        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3406        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3407  end;  end;
3408    
3409    
3410  procedure TMainForm.Storepakker1Click(Sender: TObject);  procedure TMainForm.menuStorePakkerClick(Sender: TObject);
3411  begin  begin
3412    InitStorPakke();    InitStorPakke();
3413  end;  end;
3414    
3415  procedure TMainForm.Smpakker1Click(Sender: TObject);  procedure TMainForm.menuSmaaPakkerClick(Sender: TObject);
3416  begin  begin
3417    InitLillePakke();    InitLillePakke();
3418  end;  end;
# Line 3395  end; Line 3420  end;
3420  procedure TMainForm.InitLillePakke();  procedure TMainForm.InitLillePakke();
3421  begin  begin
3422    radioLillePakke.Checked := true;    radioLillePakke.Checked := true;
3423    Smpakker1.Checked := true;    menuSmaaPakker.Checked := true;
3424  //  Stregkode := '';  //  Stregkode := '';
3425  end;  end;
3426    
3427  procedure TMainForm.InitStorPakke();  procedure TMainForm.InitStorPakke();
3428  begin  begin
3429    radioStorPakke.Checked := true;    radioStorPakke.Checked := true;
3430    Storepakker1.Checked := true;    menuStorePakker.Checked := true;
3431  // 20150310: start  // 20150310: start
3432  //  Stregkode := '';  //  Stregkode := '';
3433  // 20150310: slut  // 20150310: slut
# Line 3421  end; Line 3446  end;
3446    
3447  procedure TMainForm.Testlyd1Click(Sender: TObject);  procedure TMainForm.Testlyd1Click(Sender: TObject);
3448  begin  begin
3449     if AlarmLyd  <> '' then     if Config.AlarmLyd  <> '' then
3450     begin     begin
3451       PlaySound(PWideChar(AlarmLyd));       PlaySound(PWideChar(Config.AlarmLyd));
3452     end     end
3453     else     else
3454     begin     begin
# Line 3435  procedure TMainForm.Testlyd2Click(Sender Line 3460  procedure TMainForm.Testlyd2Click(Sender
3460  begin  begin
3461    if (PakkeshopText1.Caption = 'Tjekkode') then    if (PakkeshopText1.Caption = 'Tjekkode') then
3462    begin    begin
3463       if ScannetOkTilTjekkodeLyd  <> '' then       if Config.ScannetOkTilTjekkodeLyd  <> '' then
3464       begin       begin
3465         PlaySound(PWideChar(ScannetOkTilTjekkodeLyd));         PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd));
3466       end       end
3467       else       else
3468       begin       begin
# Line 3446  begin Line 3471  begin
3471       exit;       exit;
3472    end;    end;
3473    
3474    if Smpakker1.Checked then    if menuSmaaPakker.Checked then
3475       if ScannetOkLyd  <> '' then       if Config.ScannetOkLyd  <> '' then
3476       begin       begin
3477         PlaySound(PWideChar(ScannetOkLyd));         PlaySound(PWideChar(Config.ScannetOkLyd));
3478       end       end
3479       else       else
3480       begin       begin
3481         MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);         MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);
3482       end;       end;
3483    if Storepakker1.Checked then    if menuStorePakker.Checked then
3484       if ScannetOkStorLyd  <> '' then       if Config.ScannetOkStorLyd  <> '' then
3485       begin       begin
3486         PlaySound(PWideChar(ScannetOkStorLyd));         PlaySound(PWideChar(Config.ScannetOkStorLyd));
3487       end       end
3488       else       else
3489       begin       begin
# Line 3467  begin Line 3492  begin
3492  end;  end;
3493    
3494    
3495  procedure TMainForm.Budlevering1Click(Sender: TObject);  procedure TMainForm.menuDaoDirekte1Click(Sender: TObject);
3496  begin  begin
3497        Scanningtype := '4';        Scanningtype := '4';
3498        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 3495  begin Line 3520  begin
3520      logTekst := 'Overfører de scannede pakker til EKL';      logTekst := 'Overfører de scannede pakker til EKL';
3521      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
3522      StedKode := Sted;      StedKode := Sted;
3523      URLStr := Format(UrlEKLoverforsel,[StedKode,Sted]);      URLStr := Format(Config.UrlEKLoverforsel,[StedKode,Sted]);
3524    
3525      if PanelValg5.Color = clGreen then      if PanelValg5.Color = clGreen then
3526      begin      begin
3527        URLStr := Format(UrlEKLoverforselPakkeshop,[StedKode,Sted]);        URLStr := Format(Config.UrlEKLoverforselPakkeshop,[StedKode,Sted]);
3528      end;      end;
3529    
3530    
# Line 3559  begin Line 3584  begin
3584      // Hvis der var fejl i overførslen skal dette fejlmeldes her      // Hvis der var fejl i overførslen skal dette fejlmeldes her
3585      if status = 'Fejl' then      if status = 'Fejl' then
3586      begin   // Her skal komme en alarm og rød skærm      begin   // Her skal komme en alarm og rød skærm
3587         PlaySound(PWideChar(AlarmLyd));         PlaySound(PWideChar(Config.AlarmLyd));
3588         MainForm.Color := clRed;         MainForm.Color := clRed;
3589         RutenummerST.Caption := 'EKL overførsel';         RutenummerST.Caption := 'EKL overførsel';
3590         BoghandlerNavnST.Caption := 'Fejl:';         BoghandlerNavnST.Caption := 'Fejl:';
# Line 4089  const Line 4114  const
4114    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
4115    
4116  begin  begin
4117      IndlesManglendeScanninger();      IndlesManglendeScanningerListe();
4118      ListBox1.SetFocus;  // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode      ListBox1.SetFocus;  // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
4119  end;  end;
4120    
# Line 4103  begin Line 4128  begin
4128  end;  end;
4129    
4130    
4131    procedure TMainForm.IndlesManglendeScanningerAntal();
4132    var
4133      Node: IXMLNode;
4134    
4135      URLStr : String;
4136      StedKode : String;
4137      WebSvar : String;
4138    
4139      i : Integer;
4140    
4141      PakkeType : String;
4142      TotalAntal : String;
4143      AntalProdDato : String;
4144    
4145      CurrentPanel : TPanel;
4146    
4147    begin
4148      ListBox2.Clear();
4149    
4150      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
4151        begin
4152          StedKode := BladhusStedKode[BladhusSted];
4153        end
4154      else
4155        begin
4156          StedKode := Sted;
4157        end;
4158    
4159      URLStr := Format(Config.UrlHentPakkeAntal, [StedKode]);
4160    
4161    
4162      try
4163        WebSvar := IdHTTP1.Get(URLStr);
4164        except
4165          on e:EIdConnClosedGracefully do
4166          begin
4167            // Her skal vi ikke gøre noget - men vi skal forespørge igen
4168            WebSvar := IdHTTP1.Get(URLStr);
4169          end;
4170          on e:exception do
4171          begin
4172            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i web forespørgsel: '+e.Message);
4173            logTekst := 'Fejl i web forespørgsel: '+e.Message;
4174            SkrivScanningLogFil(logTekst);
4175            raise exception.CreateFmt('Fejl i web forespørgsel: %s',[e.Message]);
4176          end;
4177        end;
4178    
4179    
4180    
4181         try
4182    
4183          XMLDocument1.LoadFromXML(WebSvar);
4184    
4185          for i:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4186              Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4187    
4188              PakkeType := Node.ChildValues['PakkeType'];
4189              TotalAntal := Node.ChildValues['TotalAntal'];
4190              AntalProdDato := Node.ChildValues['AntalProdDato'];
4191    
4192    
4193              CurrentPanel := nil;
4194    
4195              if (PakkeType = 'natxpress') then
4196              begin
4197                 CurrentPanel := PanelManglendePakker1;
4198              end;
4199    
4200              if (PakkeType = 'daodirekte') then
4201              begin
4202                 CurrentPanel := PanelManglendePakker4;
4203              end;
4204    
4205  procedure TMainForm.IndlesManglendeScanninger();            if (PakkeType = 'pakkeshop') then
4206              begin
4207                 CurrentPanel := PanelManglendePakker5;
4208              end;
4209    
4210              if (CurrentPanel <> nil) then
4211              begin
4212                CurrentPanel.Caption := TotalAntal;
4213                if ( StrToInt(TotalAntal) > 0) then
4214                begin
4215                  CurrentPanel.Visible := true;
4216                end
4217                else
4218                begin
4219                  CurrentPanel.Visible := false;
4220                end;
4221              end;
4222    
4223    
4224          end;
4225    
4226    
4227     except on e:exception do
4228          begin
4229            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i XML-format: '+e.Message);
4230            logTekst := 'Fejl i XML-format: '+e.Message;
4231            SkrivScanningLogFil(logTekst);
4232            raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
4233          end;
4234        end;
4235    
4236    
4237    
4238      ListBox1.Items.Insert(0,'Pakkeantal indlæst - klar til scanning');
4239    
4240    end;
4241    
4242    procedure TMainForm.IndlesManglendeScanningerListe();
4243  var  var
4244    WebSvar : String;    WebSvar : String;
4245    URLStr : String;    URLStr : String;
# Line 4113  var Line 4248  var
4248    I: Integer;    I: Integer;
4249    stregkode, modtagernavn, modtageradresse, kommentar : string;    stregkode, modtagernavn, modtageradresse, kommentar : string;
4250    pakketype, tjekkodestatus : String;    pakketype, tjekkodestatus : String;
4251    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;    antalLiniefelter, antalFelterFundet, linienr : Integer;
4252    //pakketyper : TStrings;    //pakketyper : TStrings;
4253    pakketyper : TDictionary<String, Integer>;    pakketyper : TDictionary<String, Integer>;
4254    tmpAntal : Integer;    tmpAntal : Integer;
4255    
4256     time, timeSamlet : TTimingHelper;
4257    
4258    
4259    antlin : Integer;    antlin : Integer;
# Line 4153  var Line 4289  var
4289    
4290      if (Scanningtype = '7') then      if (Scanningtype = '7') then
4291       begin       begin
4292        URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]);        URLStr := Format(Config.UrlIndleveringsPakkeManglendeScanninger, [StedKode]);
4293       end       end
4294      else if (Scanningtype = '6') then      else if (Scanningtype = '6') then
4295       begin       begin
4296        URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]);        URLStr := Format(Config.UrlPakkeshopManglendeReturScanninger, [StedKode]);
4297       end       end
4298      else if (Scanningtype = '5') then      else if (Scanningtype = '5') then
4299       begin       begin
4300        URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]);        URLStr := Format(Config.UrlPakkeshopManglendeScanninger, [StedKode]);
4301       end       end
4302      else if (Scanningtype = '1') then      else if (Scanningtype = '1') then
4303       begin       begin
4304        URLStr := Format(UrlManglendeScanninger,[StedKode,'B2']);        URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'B2']);
4305       end       end
4306      else if (Scanningtype = '4') then      else if (Scanningtype = '4') then
4307       begin       begin
4308        URLStr := Format(UrlManglendeScanninger,[StedKode,'A2']);    // Budleveringer        URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'A2']);    // Budleveringer
4309       end       end
4310      else      else
4311       begin       begin
# Line 4177  var Line 4313  var
4313       end;       end;
4314  // 20150310: slut  // 20150310: slut
4315    
4316        time := TTimingHelper.create();        //DEBUG
4317        timeSamlet := TTimingHelper.create();        //DEBUG
4318    
4319      try      try
4320      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
4321  //    URLStr := string(Utf8Encode(URLStr));  //    URLStr := string(Utf8Encode(URLStr));
# Line 4186  var Line 4325  var
4325        begin        begin
4326          // 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
4327          WebSvar := IdHTTP1.Get(URLStr);          WebSvar := IdHTTP1.Get(URLStr);
4328    
4329    
4330    
4331        end;        end;
4332        on e:exception do        on e:exception do
4333        begin        begin
# Line 4196  var Line 4338  var
4338        end;        end;
4339      end;      end;
4340      try      try
4341          time.stop('HTTP Load');     //DEBUG
4342    
4343        XMLDocument1.LoadFromXML(WebSvar);        XMLDocument1.LoadFromXML(WebSvar);
4344    
4345          time.stop('XML Load');     //DEBUG
4346    
4347    
4348    
4349    
4350    
4351    
4352        antlin := 0;        antlin := 0;
4353        antlinIdag := 0;        antlinIdag := 0;
# Line 4240  var Line 4390  var
4390        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug
4391        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array
4392    
4393          time.stop('Antal Linier');//DEBUG
4394    
4395        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4396    
# Line 4251  var Line 4402  var
4402        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4403    
4404        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4405          time.stop('Antal Linier2');//DEBUG
4406    
4407    
4408        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
# Line 4311  var Line 4463  var
4463              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4464              begin              begin
4465                if (ScanningType = '1') then                if (ScanningType = '1') then
4466                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)                   ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)
4467                else if (ScanningType = '4') then                else if (ScanningType = '4') then
4468                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)
4469                else if (ScanningType = '5') then                else if (ScanningType = '5') then
# Line 4325  var Line 4477  var
4477        end;        end;
4478    
4479    
4480          time.stop('Fyld Listbox2');//DEBUG
4481    
4482    
4483        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4484    
4485    
# Line 4444  var Line 4599  var
4599        end;        end;
4600      end;      end;
4601    
4602        time.stop('Done');//DEBUG
4603        timeSamlet.stop('SamletTid');//DEBUG
4604    
4605    
4606  end;  end;
4607    
4608  procedure TMainForm.IndlesScanningLogFil();  procedure TMainForm.IndlesScanningLogFil();
# Line 4619  begin Line 4778  begin
4778          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');
4779          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';
4780          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
4781          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
4782        end;        end;
4783      end;      end;
4784    end    end
# Line 4628  begin Line 4787  begin
4787        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.');        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.');
4788        logTekst := 'Ruteskift fil '+filnavn+' findes ikke.';        logTekst := 'Ruteskift fil '+filnavn+' findes ikke.';
4789        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4790        PlaySound(PWideChar(AlarmLyd));        PlaySound(PWideChar(Config.AlarmLyd));
4791    end;    end;
4792  end;  end;
4793    
# Line 4699  begin Line 4858  begin
4858          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');
4859          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';
4860          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
4861          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
4862        end;        end;
4863      end;      end;
4864    end    end
# Line 4708  begin Line 4867  begin
4867        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.');        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.');
4868        logTekst := 'Kontrol fil '+filnavn+' findes ikke.';        logTekst := 'Kontrol fil '+filnavn+' findes ikke.';
4869        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4870        PlaySound(PWideChar(AlarmLyd));        PlaySound(PWideChar(Config.AlarmLyd));
4871    end;    end;
4872  end;  end;
4873    
# Line 4766  procedure TMainForm.VisAlarmSkaerm(strMe Line 4925  procedure TMainForm.VisAlarmSkaerm(strMe
4925  begin  begin
4926    //ShowMessage('Ændring ikke tilladt');    //ShowMessage('Ændring ikke tilladt');
4927    // Her skal komme en 'rød skærm' alarm    // Her skal komme en 'rød skærm' alarm
4928    PlaySound(PWideChar(AlarmLyd));    PlaySound(PWideChar(Config.AlarmLyd));
4929    MainForm.Color := clRed;    MainForm.Color := clRed;
4930    
4931    
# Line 4780  begin Line 4939  begin
4939      KommentarST.Caption := strMessage;      KommentarST.Caption := strMessage;
4940    end;    end;
4941    
4942      Stregkode := ''; //Nulstil stregkode feltet efter at fejl er vist
4943    
4944  end;  end;
4945    
4946  function TMainForm.getProddato() : TDate;  function TMainForm.getProddato() : TDate;
# Line 4853  begin Line 5014  begin
5014  end;  end;
5015    
5016    
5017    //Nedarvet fra IParentForm
5018    procedure TMainForm.Msg( msg : string);
5019    begin
5020      ShowMessage(msg);
5021    end;
5022    
5023  //Nedarvet fra IParentForm  //Nedarvet fra IParentForm
5024  procedure TMainForm.LogMessage( msg : string);  procedure TMainForm.LogMessage( msg : string);
# Line 4887  begin Line 5053  begin
5053    Result := self;    Result := self;
5054  end;  end;
5055    
5056    //Nedarvet fra IParentForm
5057    function TMainForm.GetXMLDocument() : TXMLDocument;
5058    begin
5059      Result := XMLDocument1
5060    end;
5061    
5062    
5063  end.  end.
5064    

Legend:
Removed from v.2977  
changed lines
  Added in v.3130

  ViewVC Help
Powered by ViewVC 1.1.20