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

Diff of /dao/DelphiScanner/Main.pas

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

revision 3036 by torben, Mon May 23 13:03:49 2016 UTC revision 3124 by torben, Wed Oct 19 06:59:57 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();
255      procedure SkrivScanningLogFil(var tekst : string);      procedure SkrivScanningLogFil(var tekst : string);
256      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;
257      procedure VisAlarmSkaerm(strMessage: string);      procedure VisAlarmSkaerm(strMessage: string);
258      function InjectURL(Url : String) : String;  
259    
260    public    public
261      { Public declarations }      { Public declarations }
# Line 286  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 397  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 408  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 422  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 480  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 495  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    
 function TMainForm.InjectURL(Url : String) : String;  
 begin  
508    
   Url := Url + '&ver=' + TUtils.URLEncode( TUtils.Sto_GetFmtFileVersion(''));  
   Url := Url + '&host=' + TUtils.URLEncode( TUtils.GetComputerNameHelper());  
   Url := Url + '&user=' + TUtils.URLEncode( TUtils.GetCurrentUserName());  
   
   Result := Url;  
 end;  
509    
510  //InitForm kaldes før FormCreate  //InitForm kaldes før FormCreate
511  procedure TMainForm.FormCreate(Sender: TObject);  procedure TMainForm.FormCreate(Sender: TObject);
# Line 549  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 564  begin Line 557  begin
557      Sted := ReadString('Settings','Sted','');      Sted := ReadString('Settings','Sted','');
558      StedNavn := ReadString('Settings','Stednavn','');      StedNavn := ReadString('Settings','Stednavn','');
559    
560      UrlFindPakketype := ReadString('Settings','UrlFindPakketype','http://omdeling.info/webservices/bogpakkekontrol/FindPakketype.php?stregkode=%s');      Scanningtype := 'A'; //hardcoded
561      UrlFindPakketype := InjectURL(UrlFindPakketype);      Pakketype := '0';
   
     UrlSendPrograminfo := ReadString('Settings','UrlSendPrograminfo','http://omdeling.info/webservices/bogpakkekontrol/SendPrograminfo.php?programnavn=%s&sted=%s&scanningtype=%s&infotype=%s&info=%s');  
     UrlSendPrograminfo := InjectURL(UrlSendPrograminfo);  
   
     UrlNormal := ReadString('Settings','UrlNormal','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&tjekkode=%s');  
     UrlNormal := InjectURL(UrlNormal);  
   
     UrlReturDAO := ReadString('Settings','UrlReturDAO','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');  
     UrlReturDAO := InjectURL(UrlReturDAO);  
   
     UrlReturBoghandler := ReadString('Settings','UrlReturBoghandler','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');  
     UrlReturBoghandler := InjectURL(UrlReturBoghandler);  
   
     UrlBudlevering := ReadString('Settings','UrlBudlevering','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&leveringstype=%s&pakkestorrelse=%s');  
     UrlBudlevering := InjectURL(UrlBudlevering);  
   
     UrlManglendeScanninger := ReadString('Settings','UrlManglendeScanninger','http://omdeling.info/webservices/bogpakkekontrol/bogpakkemanglendescanninger.php?sted=%s&type=%s');  
     UrlManglendeScanninger := InjectURL(UrlManglendeScanninger);  
   
     UrlEKLoverforsel := ReadString('Settings','UrlEKLoverforsel','http://omdeling.info/webservices/bogpakkekontrol/bogpakkertilekl.php?sted=%s');  
     UrlEKLoverforsel := InjectURL(UrlEKLoverforsel);  
562    
     UrlEKLoverforselPakkeshop := ReadString('Settings','UrlEKLoverforselPakkeshop','http://omdeling.info/webservices/pakkeshop/pakkertilekl.php?sted=%s');  
     UrlEKLoverforselPakkeshop := InjectURL(UrlEKLoverforselPakkeshop);  
563    
     UrlPakkeshoplevering := ReadString('Settings','UrlPakkeshoplevering','http://omdeling.info/webservices/pakkeshop/pakkekontrol.php?sted=%s&stregkode=%s&tjekkode=%s');  
     UrlPakkeshoplevering := InjectURL(UrlPakkeshoplevering);  
564    
     UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s');  
     UrlReturPakkeshop := InjectURL(UrlReturPakkeshop);  
565    
     UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');  
     UrlPakkeshopManglendeScanninger := InjectURL(UrlPakkeshopManglendeScanninger);  
   
     UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');  
     UrlPakkeshopManglendeReturScanninger := InjectURL(UrlPakkeshopManglendeReturScanninger);  
   
     UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');  
     UrlIndleveringsPakke := InjectURL(UrlIndleveringsPakke);  
   
     UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');  
     UrlIndleveringsPakkeManglendeScanninger := InjectURL(UrlIndleveringsPakkeManglendeScanninger);  
   
     URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');  
     URLOmdirigerTilPakkeshop := InjectURL(URLOmdirigerTilPakkeshop);  
   
   
   
     FarveNormal := ReadString('Settings','FarveNormal','D8D8D8');  
     TitelNormal := ReadString('Settings','TitelNormal','Modtagelse af DAO NAT X-PRESS pakker');  
     FarveReturDAO := ReadString('Settings','FarveReturDAO','A9F5A9');  
     TitelReturDAO := ReadString('Settings','TitelReturDAO','Returforsendelse fra DAO');  
     FarveReturBoghandler := ReadString('Settings','FarveReturBoghandler','F2F5A9');  
     TitelReturBoghandler := ReadString('Settings','TitelReturBoghandler','Returforsendelse fra boghandler');  
     FarveBudlevering := ReadString('Settings','FarveBudlevering','2E9AFE');  
     TitelBudlevering := ReadString('Settings','TitelBudlevering','Modtagelse af DAO DIREKTE pakker');  
     FarvePakkeshoplevering := ReadString('Settings','FarvePakkeshoplevering','99FFFF');  
     TitelPakkeshoplevering := ReadString('Settings','TitelPakkeshoplevering','Modtagelse af DAO PAKKESHOP pakker');  
   
     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 666  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 674  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 685  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 696  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 741  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 759  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
# Line 780  begin Line 711  begin
711        //PanelValg6.Font.Color := clInactiveCaption;        //PanelValg6.Font.Color := clInactiveCaption;
712    
713       // her skal vi også disable de menupunkter FD 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    
# Line 800  begin Line 731  begin
731        //PanelValg6.Font.Color := clInactiveCaption;        //PanelValg6.Font.Color := clInactiveCaption;
732    
733       // her skal vi også disable de menupunkter BK 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        //Returpakkerfrapakkeshop1.Enabled := false;        //Returpakkerfrapakkeshop1.Enabled := false;
738    
# Line 817  begin Line 748  begin
748    
749      if SpecialVersionSted = 'DBK' then      if SpecialVersionSted = 'DBK' then
750      begin      begin
       //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil  
751        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
       // her skal vi også disable de knapper DBK ikke kan bruge  
       PanelValg2.Enabled := false;  
       PanelValg2.Font.Color := clInactiveCaption;  
       PanelValg3.Enabled := false;  
       PanelValg3.Font.Color := clInactiveCaption;  
       PanelValg5.Enabled := false;  
       PanelValg5.Font.Color := clInactiveCaption;  
       PanelValg6.Enabled := false;  
       PanelValg6.Font.Color := clInactiveCaption;  
   
   
      // her skal vi også disable de menupunkter DBK ikke kan bruge  
       ReturpakkerfraDAO1.Enabled := false;  
       Returpakkerfraboghandler1.Enabled := false;  
   
       Pakkeshoplevering1.Enabled := false;  
       Returpakkerfrapakkeshop1.Enabled := false;  
   
       if SpecialVersionScanningtype = 'A' then  
       begin  
          Scanningtype := '1';  
       end  
       else  
       begin  
         Scanningtype := SpecialVersionScanningtype;  
       end;  
752      end;      end;
753    
754      if (SpecialVersionSted = '01')      if (SpecialVersionSted = '01')
# Line 870  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 890  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 953  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 1005  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 1036  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;  
   
     if not FileExists(ScannetOkStorLyd) then  
     begin  
       ScannetOkStorLyd := '';  
     end;  
944    
945    
     if not FileExists(ScannetOkTilTjekkodeLyd) then  
     begin  
       ScannetOkTilTjekkodeLyd := '';  
     end;  
946    
947        LabelPrint := TLabelPrint.Create( self, Config, Config.PrinterNavn );
948        LabelPrint.CheckPrintQue('Opstart', Config.PrinterNavn);
   
     LabelPrint := TLabelPrint.Create( self, Config, PrinterNavn );  
     LabelPrint.CheckPrintQue('Opstart', PrinterNavn);  
949    
950    finally    finally
951      Free;      Free;
# Line 1070  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 1089  begin Line 973  begin
973      // Opbygger PanelManglendePakker information      // Opbygger PanelManglendePakker information
974      gemScanningtype := Scanningtype;      gemScanningtype := Scanningtype;
975    
976      if PanelValg6.Enabled then      IndlesManglendeScanningerAntal();
     begin  
        Scanningtype := '6';  
        IndlesManglendeScanninger();  
     end;  
   
     if PanelValg5.Enabled then  
     begin  
        Scanningtype := '5';  
        IndlesManglendeScanninger();  
     end;  
977    
978      if PanelValg4.Enabled then  //    if PanelValg6.Enabled then
979      begin  //    begin
980         Scanningtype := '4';  //       Scanningtype := '6';
981         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
982      end;  //    end;
983    //
984      if PanelValg3.Enabled then  //    if PanelValg5.Enabled then
985      begin  //    begin
986         Scanningtype := '3';  //       Scanningtype := '5';
987         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
988      end;  //    end;
989    //
990      if PanelValg2.Enabled then  //    if PanelValg4.Enabled then
991      begin  //    begin
992         Scanningtype := '2';  //       Scanningtype := '4';
993         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
994      end;  //    end;
995    //
996      if PanelValg1.Enabled then  //    if PanelValg3.Enabled then
997      begin  //    begin
998         Scanningtype := '1';  //       Scanningtype := '3';
999         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
1000      end;  //    end;
1001    //
1002    //    if PanelValg2.Enabled then
1003    //    begin
1004    //       Scanningtype := '2';
1005    //       IndlesManglendeScanningerAntal();
1006    //    end;
1007    //
1008    //    if PanelValg1.Enabled then
1009    //    begin
1010    //       Scanningtype := '1';
1011    //       IndlesManglendeScanningerAntal();
1012    //    end;
1013    
1014      Scanningtype := gemScanningtype;      Scanningtype := gemScanningtype;
1015    
# Line 1426  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 1481  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 1510  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 1522  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 1540  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 1555  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 1565  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 1577  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 1586  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 1603  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 1625  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 1644  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) 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 1660  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 1706  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 1768  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 1783  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 1802  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 1951  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 1977  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 2016  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 2042  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 2054  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 2093  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 2120  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 2128  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        if menuPakkeshop1.Checked then
2063        begin        begin
2064          try          try
2065            PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);            PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);
# Line 2151  begin Line 2082  begin
2082       if (Kommentar = 'Ok') then       if (Kommentar = 'Ok') then
2083       begin       begin
2084         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label
2085         PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc         PakkeshopLabel := TLabelData.Create( XMLDocument1 ); //Opret struct og parse xml doc
2086         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;
2087         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2088    
2089         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintLabel(PakkeshopLabel.Stregkode);
2090         chkForstorTilDirekte.Checked := false;  
2091    //       LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel );
2092    //       chkForstorTilDirekte.Checked := false;
2093    
2094       end;       end;
2095    
# Line 2169  begin Line 2102  begin
2102        Kommentar := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Kommentar').Text;        Kommentar := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Kommentar').Text;
2103        BoghandlerNavn := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('BoghandlerNavn').Text;        BoghandlerNavn := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('BoghandlerNavn').Text;
2104        Leveringssted := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Leveringssted').Text;        Leveringssted := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('Leveringssted').Text;
2105        if Budlevering1.Checked then        if menuDaoDirekte1.Checked then
2106          begin          begin
2107          try          try
2108            SmsKode := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('SmsKode').Text;            SmsKode := XMLDocument1.ChildNodes.FindNode('BogpakkeKontrol').ChildNodes.FindNode('SmsKode').Text;
# Line 2200  begin Line 2133  begin
2133      begin      begin
2134        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then
2135        begin        begin
2136            Kommentar := Kommentar + ' Pakke burde være hos DAO Distribution';            Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2137            PrintNyLabel := False;            //PrintNyLabel := False; //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel
2138        end;        end;
2139      end      end
2140      else if (Budlevering1.Checked) and (Leveringssted <> Sted) then      else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then
2141      begin      begin
2142         if (Leveringssted = 'E') and (Sted = 'DBK') then        Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2143         begin        //PrintNyLabel := False;  //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel
           // Det er ok at DBK scanner pakker til E     (Schenker)  
        end  
        else  
        begin  
           Kommentar := Kommentar + ' Pakke burde være hos DAO Distribution';  
           PrintNyLabel := False;  
        end;  
2144      end;      end;
2145    except on e:exception do    except on e:exception do
2146      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
# Line 2233  begin Line 2159  begin
2159    //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
2160    BoghandlerNavnST.Caption := StringReplace(BoghandlerNavn, ' & ', ' && ', [rfReplaceAll, rfIgnoreCase]);    BoghandlerNavnST.Caption := StringReplace(BoghandlerNavn, ' & ', ' && ', [rfReplaceAll, rfIgnoreCase]);
2161    List1msg := TimeToStr(now) + '; ';    List1msg := TimeToStr(now) + '; ';
2162    if Pakkeshoplevering1.Checked then    if menuPakkeshop1.Checked then
2163      List1msg := List1msg + PakkeshopStregkode + ' ' + PakkeshopTjekkode + '; ' + KommentarST.Caption + '; ';      List1msg := List1msg + PakkeshopStregkode + ' ' + PakkeshopTjekkode + '; ' + KommentarST.Caption + '; ';
2164    List1Pakkestorrelse := '';    List1Pakkestorrelse := '';
2165    if radioStorPakke.Checked then    if radioStorPakke.Checked then
# Line 2245  begin Line 2171  begin
2171      List1Pakkestorrelse := 'Lille pakke';      List1Pakkestorrelse := 'Lille pakke';
2172    end;    end;
2173    List1msg := List1msg + BoghandlerNavn + '; ';    List1msg := List1msg + BoghandlerNavn + '; ';
2174    if ReturpakkerfraDAO1.Checked then    if menuNatxpressReturDAO1.Checked then
2175    begin    begin
2176      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-8);      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-8);
2177    end;    end;
2178    if Returpakkerfraboghandler1.Checked then    if menuNatxpressReturfraKunde1.Checked then
2179    begin    begin
2180      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-16);      List1msg := List1msg + RightStr(Kommentar, Length(Kommentar)-16);
2181    end;    end;
2182    if ReturpakkerfraDAO1.Checked or Returpakkerfraboghandler1.Checked then    if menuNatxpressReturDAO1.Checked or menuNatxpressReturfraKunde1.Checked then
2183       List1msg := List1msg + '; ' + List1Pakkestorrelse;       List1msg := List1msg + '; ' + List1Pakkestorrelse;
2184    if length(BoghNr) > 0 then    if length(BoghNr) > 0 then
2185    begin    begin
2186      List1Msg := List1Msg + '; Indtastet ' + BoghNr;      List1Msg := List1Msg + '; Indtastet ' + BoghNr;
2187    end;    end;
2188    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2189    begin    begin
2190       List1msg := TimeToStr(now) + '; ' + Kommentar + '; ' + BoghandlerNavn;       List1msg := TimeToStr(now) + '; ' + Kommentar + '; ' + BoghandlerNavn;
2191        if (radioStorPakke.Checked) then        if (radioStorPakke.Checked) then
# Line 2271  begin Line 2197  begin
2197          List1msg := List1msg + '; Lille pakke';          List1msg := List1msg + '; Lille pakke';
2198        end;        end;
2199    end;    end;
2200    if Returpakkerfrapakkeshop1.Checked then    if menuPakkeshopRetur1.Checked then
2201    begin    begin
2202      List1msg := List1msg + Stregkode + ' ' + RightStr(Kommentar, Length(Kommentar)-6);      List1msg := List1msg + Stregkode + ' ' + RightStr(Kommentar, Length(Kommentar)-6);
2203    end;    end;
2204    if Pakkernormal1.Checked then    if menuNatXpress1.Checked then
2205    begin    begin
2206      if (Kommentar = '***** Kommentar *****')                       // fra test printer funktionen      if (Kommentar = '***** Kommentar *****')                       // fra test printer funktionen
2207      or (BoghandlerNavn = 'Forbindelse ok')                         // fra test forbindelse funktionen      or (BoghandlerNavn = 'Forbindelse ok')                         // fra test forbindelse funktionen
# Line 2315  pakkeForkertSted : Integer; Line 2241  pakkeForkertSted : Integer;
2241    kontrolKoreliste : string;    kontrolKoreliste : string;
2242    nytRuteNummer, nyFarve : String;    nytRuteNummer, nyFarve : String;
2243  begin  begin
2244    if Budlevering1.Checked then  //  if (PrintNyLabel = True OR chkAltidPrintLabel.Checked = True) then
2245    //  begin
2246    //    LabelPrint.PrintLabel( Stregkode );
2247    //  end;
2248    //
2249    //  exit;
2250    
2251      if menuDaoDirekte1.Checked then
2252       RuteNummerST.Color := TUtils.HexToTColor(Farve);       RuteNummerST.Color := TUtils.HexToTColor(Farve);
2253    
2254    pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);    pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);
# Line 2353  begin Line 2286  begin
2286        end;        end;
2287    end    end
2288    else    else
2289    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2290    begin    begin
2291       if (BoghandlerNavn = 'Ukendt pakke') then       if (BoghandlerNavn = 'Ukendt pakke') then
2292       begin       begin
2293          PrintNyLabel := false;          PrintNyLabel := false;
2294    
2295          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
2296          MainForm.Color := clRed;          MainForm.Color := clRed;
2297          btnNulstil.Visible := true;          btnNulstil.Visible := true;
2298    
# Line 2379  begin Line 2312  begin
2312            logTekst := RightStr(List1Msg, Length(List1Msg)-10);            logTekst := RightStr(List1Msg, Length(List1Msg)-10);
2313            SkrivScanningLogFil(logTekst);            SkrivScanningLogFil(logTekst);
2314    
2315            if (PrinterNavn = 'Ingen') then  //          if (Config.PrinterNavn = 'Ingen') then
2316            begin  //          begin
2317               PrintNyLabel := false;  //             PrintNyLabel := false;
2318            end;  //          end;
2319    
2320            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm
2321            begin            begin
2322              PlaySound(PWideChar(AlarmLyd));              PlaySound(PWideChar(Config.AlarmLyd));
2323              MainForm.Color := clRed;              MainForm.Color := clRed;
2324              btnNulstil.Visible := true;              btnNulstil.Visible := true;
2325            end;            end;
# Line 2412  begin Line 2345  begin
2345    
2346            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm
2347            begin            begin
2348              PlaySound(PWideChar(AlarmLyd));              PlaySound(PWideChar(Config.AlarmLyd));
2349              MainForm.Color := clRed;              MainForm.Color := clRed;
2350              btnNulstil.Visible := true;              btnNulstil.Visible := true;
2351            end;            end;
# Line 2422  begin Line 2355  begin
2355    
2356    end;    end;
2357    
2358    if Budlevering1.Checked then    if menuDaoDirekte1.Checked then
2359    begin    begin
2360      case BladhusSted of      case BladhusSted of
2361        00 :  begin;        00 :  begin;
# Line 2434  begin Line 2367  begin
2367               if PrintNyLabel or (RuteNummer = 'Rutenr') then               if PrintNyLabel or (RuteNummer = 'Rutenr') then
2368  // 20150304: slut  // 20150304: slut
2369                begin                begin
2370                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2371                    LabelPrint.PrintLabel( Stregkode );
2372                end;                end;
2373              end;              end;
2374        01 :  begin;        01 :  begin;
# Line 2442  begin Line 2376  begin
2376                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
2377                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
2378                begin                begin
2379                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2380                    LabelPrint.PrintLabel( Stregkode );
2381                end;                end;
2382              end;              end;
2383        02 :  begin;        02 :  begin;
2384                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
2385                begin                begin
2386                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2387                    LabelPrint.PrintLabel( Stregkode );
2388                end;                end;
2389              end;              end;
2390        03 :  begin;        03 :  begin;
# Line 2456  begin Line 2392  begin
2392                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
2393                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
2394               begin               begin
2395                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2396                    LabelPrint.PrintLabel( Stregkode );
2397               end;               end;
2398              end;              end;
2399        04 :  begin;        04 :  begin;
2400                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
2401                begin                begin
2402                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2403                    LabelPrint.PrintLabel( Stregkode );
2404                end;                end;
2405              end;              end;
2406        else        else
# Line 2471  begin Line 2409  begin
2409    end;    end;
2410    
2411  // 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
2412    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
2413    begin    begin
2414      exit;      exit;
2415    end;    end;
2416    
2417    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
2418    begin    begin
2419    end    end
2420    else    else
2421    begin    begin
2422      if ( (PrinterNavn <> 'Ingen') and (PrintNyLabel or chkAltidPrintLabel.Checked) and (RuteNummer <> 'Ukendt') or (RuteNummer = 'Rutenr')) then      if ( (Config.PrinterNavn <> 'Ingen') and (PrintNyLabel or chkAltidPrintLabel.Checked) and (RuteNummer <> 'Ukendt') or (RuteNummer = 'Rutenr')) then
2423      begin      begin
2424        logTekst := 'Printer label type ';        logTekst := 'Printer label type ';
2425        if (chkAltidPrintLabel.Checked) then        if (chkAltidPrintLabel.Checked) then
# Line 2499  begin Line 2437  begin
2437        logTekst := logTekst + ' for '+BoghandlerNavn;        logTekst := logTekst + ' for '+BoghandlerNavn;
2438        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
2439    
2440        LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;        //LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;
2441                LabelPrint.PrintLabel( Stregkode );
2442    
2443      end;      end;
2444    end;    end;
2445    
# Line 2510  end; Line 2449  end;
2449    
2450  procedure TMainForm.radioStorPakkeClick(Sender: TObject);  procedure TMainForm.radioStorPakkeClick(Sender: TObject);
2451  begin  begin
2452      Storepakker1.Checked := true;      menuStorePakker.Checked := true;
2453      radioStorPakke.Checked := true;      radioStorPakke.Checked := true;
2454  end;  end;
2455    
2456  procedure TMainForm.radioLillePakkeClick(Sender: TObject);  procedure TMainForm.radioLillePakkeClick(Sender: TObject);
2457  begin  begin
2458      Smpakker1.Checked := true;      menuSmaaPakker.Checked := true;
2459      radioLillePakke.Checked := true;      radioLillePakke.Checked := true;
2460  end;  end;
2461    
# Line 2534  begin Line 2473  begin
2473  end;  end;
2474    
2475    
2476    procedure TMainForm.chkUdenforSpecifikationClick(Sender: TObject);
2477    begin
2478      if (chkUdenforSpecifikation.Checked = true) then
2479      begin
2480        chkEmballageRepareret.Checked := false;
2481      end;
2482    end;
2483    
2484    procedure TMainForm.chkEmballageRepareretClick(Sender: TObject);
2485    begin
2486      if (chkEmballageRepareret.Checked = true) then
2487      begin
2488        chkUdenforSpecifikation.Checked := false;
2489      end;
2490    end;
2491    
2492  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);
2493  begin  begin
2494    if chkAltidPrintLabel.Checked then    if chkAltidPrintLabel.Checked then
# Line 2547  begin Line 2502  begin
2502    
2503  end;  end;
2504    
2505    
2506    
2507  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);
2508  begin  begin
2509    if chkScanTjekkode.Checked then    if chkScanTjekkode.Checked then
# Line 2559  begin Line 2516  begin
2516    end;    end;
2517  end;  end;
2518    
2519  procedure TMainForm.Pakkeshoplevering1Click(Sender: TObject);  procedure TMainForm.menuPakkeshop1Click(Sender: TObject);
2520  begin  begin
2521        Scanningtype := '5';        Scanningtype := '5';
2522        InitPakkeshoplevering();        InitPakkeshoplevering();
# Line 2568  end; Line 2525  end;
2525    
2526  procedure TMainForm.NulstilAutomatiskValg();  procedure TMainForm.NulstilAutomatiskValg();
2527  begin  begin
2528      Automatiskvalg1.Checked := false;      menuAutomatiskvalg1.Checked := false;
2529      PanelValgA.Color := clBtnFace;      PanelValgA.Color := clBtnFace;
2530      PanelValgA.Font.Color := clWindowText;      PanelValgA.Font.Color := clWindowText;
2531    
# Line 2580  begin Line 2537  begin
2537        // 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)
2538        PanelValgA.Enabled := false;        PanelValgA.Enabled := false;
2539        PanelValgA.Font.Color := clInactiveCaption;        PanelValgA.Font.Color := clInactiveCaption;
2540        Automatiskvalg1.Enabled := false;        menuAutomatiskvalg1.Enabled := false;
2541      end;      end;
2542  // 20150317: slut  // 20150317: slut
2543  end;  end;
# Line 2606  begin Line 2563  begin
2563      // Tjekker UrlNormal      // Tjekker UrlNormal
2564      if PanelValg1.Enabled = true then      if PanelValg1.Enabled = true then
2565      begin      begin
2566        TjekkerEnkeltUrl('UrlNormal', UrlNormal, urlFejl);        TjekkerEnkeltUrl('UrlNormal', Config.UrlNormal, urlFejl);
2567      end;      end;
2568    
2569      // Tjekker UrlReturDAO      // Tjekker UrlReturDAO
2570      if PanelValg2.Enabled = true then      if PanelValg2.Enabled = true then
2571      begin      begin
2572        TjekkerEnkeltUrl('UrlReturDAO', UrlReturDAO, urlFejl);        TjekkerEnkeltUrl('UrlReturDAO', Config.UrlReturDAO, urlFejl);
2573      end;      end;
2574    
2575      // Tjekker UrlReturBoghandler      // Tjekker UrlReturBoghandler
2576      if PanelValg3.Enabled = true then      if PanelValg3.Enabled = true then
2577      begin      begin
2578        TjekkerEnkeltUrl('UrlReturBoghandler', UrlReturBoghandler, urlFejl);        TjekkerEnkeltUrl('UrlReturBoghandler', Config.UrlReturBoghandler, urlFejl);
2579      end;      end;
2580    
2581      // Tjekker UrlBudlevering      // Tjekker UrlBudlevering
2582      if PanelValg4.Enabled = true then      if PanelValg4.Enabled = true then
2583      begin      begin
2584        TjekkerEnkeltUrl('UrlBudlevering', UrlBudlevering, urlFejl);        TjekkerEnkeltUrl('UrlBudlevering', Config.UrlBudlevering, urlFejl);
2585      end;      end;
2586    
2587      // Tjekker UrlPakkeshoplevering      // Tjekker UrlPakkeshoplevering
2588      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2589      begin      begin
2590        TjekkerEnkeltUrl('UrlPakkeshoplevering', UrlPakkeshoplevering, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshoplevering', Config.UrlPakkeshoplevering, urlFejl);
2591      end;      end;
2592    
2593      // Tjekker UrlReturPakkeshop      // Tjekker UrlReturPakkeshop
2594      if PanelValg6.Enabled = true then      if PanelValg6.Enabled = true then
2595      begin      begin
2596        TjekkerEnkeltUrl('UrlReturPakkeshop', UrlReturPakkeshop, urlFejl);        TjekkerEnkeltUrl('UrlReturPakkeshop', Config.UrlReturPakkeshop, urlFejl);
2597      end;      end;
2598    
2599      // Tjekker UrlManglendeScanninger      // Tjekker UrlManglendeScanninger
2600      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then      if (PanelValg1.Enabled = true) or (PanelValg4.Enabled = true) then
2601      begin      begin
2602        TjekkerEnkeltUrl('UrlManglendeScanninger', UrlManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlManglendeScanninger', Config.UrlManglendeScanninger, urlFejl);
2603      end;      end;
2604    
2605      // Tjekker UrlPakkeshopManglendeScanninger      // Tjekker UrlPakkeshopManglendeScanninger
2606      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2607      begin      begin
2608        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', UrlPakkeshopManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshopManglendeScanninger', Config.UrlPakkeshopManglendeScanninger, urlFejl);
2609      end;      end;
2610    
2611      // Tjekker UrlPakkeshopManglendeReturScanninger      // Tjekker UrlPakkeshopManglendeReturScanninger
2612      if PanelValg6.Enabled = true then      if PanelValg6.Enabled = true then
2613      begin      begin
2614        TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', UrlPakkeshopManglendeReturScanninger, urlFejl);        TjekkerEnkeltUrl('UrlPakkeshopManglendeReturScanninger', Config.UrlPakkeshopManglendeReturScanninger, urlFejl);
2615      end;      end;
2616    
2617     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger     // Tjekker UrlIndleveringsPakke og UrlIndleveringsPakkeManglendeScanninger
2618      if PanelValg7.Enabled = true then      if PanelValg7.Enabled = true then
2619      begin      begin
2620        TjekkerEnkeltUrl('UrlIndleveringsPakke', UrlIndleveringsPakke, urlFejl);        TjekkerEnkeltUrl('UrlIndleveringsPakke', Config.UrlIndleveringsPakke, urlFejl);
2621        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', UrlIndleveringsPakkeManglendeScanninger, urlFejl);        TjekkerEnkeltUrl('UrlIndleveringsPakkeManglendeScanninger', Config.UrlIndleveringsPakkeManglendeScanninger, urlFejl);
2622      end;      end;
2623    
2624      // Tjekker UrlEKLoverforsel      // Tjekker UrlEKLoverforsel
2625      if PanelValg1.Enabled = true then      if PanelValg1.Enabled = true then
2626      begin      begin
2627        TjekkerEnkeltUrl('UrlEKLoverforsel', UrlEKLoverforsel, urlFejl);        TjekkerEnkeltUrl('UrlEKLoverforsel', Config.UrlEKLoverforsel, urlFejl);
2628      end;      end;
2629    
2630    
2631      // Tjekker UrlEKLoverforselPakkeshop      // Tjekker UrlEKLoverforselPakkeshop
2632      if PanelValg5.Enabled = true then      if PanelValg5.Enabled = true then
2633      begin      begin
2634        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', UrlEKLoverforselPakkeshop, urlFejl);        TjekkerEnkeltUrl('UrlEKLoverforselPakkeshop', Config.UrlEKLoverforselPakkeshop, urlFejl);
2635      end;      end;
2636    
2637    
2638      // Tjekker UrlFindPakketype      // Tjekker UrlFindPakketype
2639      TjekkerEnkeltUrl('UrlFindPakketype', UrlFindPakketype, urlFejl);      TjekkerEnkeltUrl('UrlFindPakketype', Config.UrlFindPakketype, urlFejl);
2640    
2641      // Tjekker UrlSendPrograminfo      // Tjekker UrlSendPrograminfo
2642      TjekkerEnkeltUrl('UrlSendPrograminfo', UrlSendPrograminfo, urlFejl);      TjekkerEnkeltUrl('UrlSendPrograminfo', Config.UrlSendPrograminfo, urlFejl);
2643    
2644    
2645    
# Line 2691  begin Line 2648  begin
2648      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
2649    
2650    Except    Except
2651      TjekUrls := '-';   // markerer at der var fejl      Config.TjekUrls := '-';   // markerer at der var fejl
2652    
2653    end;    end;
2654  end;  end;
# Line 2711  begin Line 2668  begin
2668      inc(urlFejl);   // Optæller antal fejl      inc(urlFejl);   // Optæller antal fejl
2669      logTekst := UrlNavn + ' svarer ikke: ' + Url;      logTekst := UrlNavn + ' svarer ikke: ' + Url;
2670      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + logTekst);
2671      if TjekUrls = '1' then      if Config.TjekUrls = '1' then
2672      begin      begin
2673        logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';        logTekst := logTekst + crlf + crlf + 'Programmet afsluttes... ';
2674      end;      end;
2675    
2676      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
2677    
2678      if TjekUrls = '1' then      if Config.TjekUrls = '1' then
2679      begin      begin
2680        ShowMessage(logTekst);        ShowMessage(logTekst);
2681        UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut        Config.UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
2682        Application.Terminate;        Application.Terminate;
2683    
2684        raise Exception.Create('UrlFejl');        raise Exception.Create('UrlFejl');
# Line 2802  begin Line 2759  begin
2759    if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then    if BoghandlerNavnST.Caption = 'Fejl i forbindelse til server' then
2760    begin    begin
2761       ShowMessage('Programmet afbrydes...');       ShowMessage('Programmet afbrydes...');
2762       UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut       Config.UrlSendPrograminfo := '';   // Her sletter vi lige url, så der ikke forsøges at sende besked ved program slut
2763       Application.Terminate;       Application.Terminate;
2764       exit;       exit;
2765    end;    end;
# Line 2813  begin Line 2770  begin
2770    begin    begin
2771       MainForm.Color := TUtils.HexToTColor(Farve);       MainForm.Color := TUtils.HexToTColor(Farve);
2772    end;    end;
2773    if (Budlevering1.Checked) then    if (menuDaoDirekte1.Checked) then
2774    begin    begin
2775       InitLillePakke();       InitLillePakke();
2776    end;    end;
# Line 2877  procedure TMainForm.PanelValgAClick(Send Line 2834  procedure TMainForm.PanelValgAClick(Send
2834  begin  begin
2835  // Skal ikke toggle men bare sætte funktionen on  // Skal ikke toggle men bare sætte funktionen on
2836  // Fravælges ved at vælge en scanningstype  // Fravælges ved at vælge en scanningstype
2837    AutomatiskValg1.Checked := true;    menuAutomatiskvalg1.Checked := true;
2838    PanelValgA.Color := clGreen;    PanelValgA.Color := clGreen;
2839    PanelValgA.Font.Color := clWhite;    PanelValgA.Font.Color := clWhite;
2840    
# Line 2885  begin Line 2842  begin
2842    
2843  end;  end;
2844    
2845  procedure TMainForm.Pakkernormal1Click(Sender: TObject);  procedure TMainForm.menuNatXpress1Click(Sender: TObject);
2846  begin  begin
2847        Scanningtype := '1';        Scanningtype := '1';
2848        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 2904  var Line 2861  var
2861    Leveringssted : String;    Leveringssted : String;
2862    orgTjekUrls : String;    orgTjekUrls : String;
2863  begin  begin
2864    orgTjekUrls := TjekUrls;    orgTjekUrls := Config.TjekUrls;
2865    if (TjekUrls = '1') or (TjekUrls = '2') then    if (Config.TjekUrls = '1') or (Config.TjekUrls = '2') then
2866    begin    begin
2867      TjekkerUrls();      TjekkerUrls();
2868    end;    end;
2869    if TjekUrls = '-' then    if Config.TjekUrls = '-' then
2870    begin    begin
2871      //ShowMessage('Der var fejl i een eller flere urls - se logvinduet');      //ShowMessage('Der var fejl i een eller flere urls - se logvinduet');
2872      RuteNummer := '';      RuteNummer := '';
# Line 2918  begin Line 2875  begin
2875      Koreliste := '';      Koreliste := '';
2876      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2877      // Her kommer en alarm og rød skærm      // Her kommer en alarm og rød skærm
2878      PlaySound(PWideChar(AlarmLyd));      PlaySound(PWideChar(Config.AlarmLyd));
2879      MainForm.Color := clRed;      MainForm.Color := clRed;
2880      btnNulstil.Visible := true;      btnNulstil.Visible := true;
2881    end    end
# Line 2931  begin Line 2888  begin
2888      SmsKode := '999999';      SmsKode := '999999';
2889      DBKbane := '999';      DBKbane := '999';
2890      Leveringssted := 'XXX';      Leveringssted := 'XXX';
2891    
2892    
2893      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2894      FocusControl(StregkodeST);      FocusControl(StregkodeST);
2895    end;    end;
2896    TjekUrls := orgTjekUrls;    Config.TjekUrls := orgTjekUrls;
2897    
2898  end;  end;
2899    
# Line 2948  var Line 2907  var
2907    SmsKode : String;    SmsKode : String;
2908    DBKbane : String;    DBKbane : String;
2909    Leveringssted : String;    Leveringssted : String;
2910      LabelData : TLabelData;
2911  begin  begin
2912    RuteNummer := 'Rutenr';    RuteNummer := 'Rutenr';
2913    Kommentar := '***** Kommentar *****';    Kommentar := '***** Kommentar *****';
# Line 2959  begin Line 2919  begin
2919    begin    begin
2920      ShowMessage('Der er ikke installeret en printer på denne PC.');      ShowMessage('Der er ikke installeret en printer på denne PC.');
2921    end    end
2922    else if PrinterNavn = 'Ingen' then  //  else if Config.PrinterNavn = 'Ingen' then //Det giver ikke længere mening at kunne fravælge printer
2923    begin  //  begin
2924      ShowMessage('Der er fravalgt printer i dette program.');  //    ShowMessage('Der er fravalgt printer i dette program.');
2925    end  //  end
2926    else    else
2927    begin    begin
2928      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2929      SmsKode := '999999';  //    SmsKode := '999999';
2930      DBKbane := '999';  //    DBKbane := '999';
2931      Leveringssted := 'XXX';  //    Leveringssted := 'XXX';
2932      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);  //    PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2933      LabelPrint.CheckPrintQue('Test', PrinterNavn);  
2934    
2935        LabelData := TLabelData.Create(nil);
2936        LabelData.LabelType := 'simpel';
2937        LabelData.SimpelLinie1 := '999999';
2938        LabelData.SimpelLinie2 := '999';
2939        LabelData.SimpelLinie3 := 'xxx';
2940        LabelPrint.PrintLabelData(Labeldata);
2941    
2942        LabelPrint.CheckPrintQue('Test', Config.PrinterNavn);
2943    
2944        LabelData.Free();
2945    
2946    end;    end;
2947    FocusControl(StregkodeST);    FocusControl(StregkodeST);
2948  end;  end;
2949    
2950  procedure TMainForm.Timer1Timer(Sender: TObject);  procedure TMainForm.Timer1Timer(Sender: TObject);
2951  begin  begin
2952    if (TjekPrinter = '1') then    if (Config.TjekPrinter = '1') then
2953    begin    begin
2954      LabelPrint.CheckPrintQue('Timer', PrinterNavn);      LabelPrint.CheckPrintQue('Timer', Config.PrinterNavn);
2955    end    end
2956    else    else
2957    begin    begin
# Line 3033  begin Line 3005  begin
3005      tekst := tekst+crlf+crlf;      tekst := tekst+crlf+crlf;
3006      tekst := tekst+crlf+crlf+'          **********  DETTE ER KUN EN TEST VERSION  **********';      tekst := tekst+crlf+crlf+'          **********  DETTE ER KUN EN TEST VERSION  **********';
3007      tekst := tekst+crlf+crlf;      tekst := tekst+crlf+crlf;
3008      tekst := tekst+crlf+crlf+'Url: '+url;      tekst := tekst+crlf+crlf+'Url: ' + Url;
3009    end;    end;
3010    
3011    MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK);    MessageBox(Handle, PWideChar(tekst), 'Information', MB_OK);
3012    
3013  end;  end;
3014    
3015    
3016  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;
3017    Rect: TRect; State: TOwnerDrawState);    Rect: TRect; State: TOwnerDrawState);
3018  var  var
# Line 3154  begin Line 3127  begin
3127    
3128  end;  end;
3129    
3130  procedure TMainForm.ReturpakkerfraDAO1Click(Sender: TObject);  procedure TMainForm.menuNatxpressReturDAO1Click(Sender: TObject);
3131  begin  begin
3132        Scanningtype := '2';        Scanningtype := '2';
3133        NulstilAutomatiskValg();        NulstilAutomatiskValg();
3134        InitReturFraDao();        InitReturFraDao();
3135  end;  end;
3136    
3137  procedure TMainForm.Returpakkerfrapakkeshop1Click(Sender: TObject);  procedure TMainForm.menuPakkeshopRetur1Click(Sender: TObject);
3138  begin  begin
3139        Scanningtype := '6';        Scanningtype := '6';
3140        InitReturFraPakkeshop();        InitReturFraPakkeshop();
# Line 3170  end; Line 3143  end;
3143    
3144  procedure TMainForm.InitNatxpresslevering();  procedure TMainForm.InitNatxpresslevering();
3145  begin  begin
3146        AutomatiskTjekkodeStyring1.Enabled := true;        menuAutomatiskTjekkodeStyring.Enabled := true;
3147        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3148        Pakkernormal1.Checked := true;        menuNatXpress1.Checked := true;
3149        InitForm(FarveNormal,TitelNormal,UrlNormal);        InitForm(Config.FarveNormal,Config.TitelNormal,Config.UrlNormal);
3150        PanelValg1.Color := clGreen;        PanelValg1.Color := clGreen;
3151        PanelValg1.Font.Color := clWhite;        PanelValg1.Font.Color := clWhite;
3152    
# Line 3184  begin Line 3157  begin
3157        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3158        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3159        Sprgefterboghandlernummer1.Enabled := true;        Sprgefterboghandlernummer1.Enabled := true;
3160        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3161        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3162        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3163        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3164        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3200  begin Line 3173  begin
3173        if BladhusSted = 0 then        if BladhusSted = 0 then
3174        begin        begin
3175          IndlesScanningLogFil();          IndlesScanningLogFil();
3176          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3177        end;        end;
3178  end;  end;
3179    
3180  procedure TMainForm.InitReturFraDao();  procedure TMainForm.InitReturFraDao();
3181  begin  begin
3182        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3183        ReturpakkerfraDAO1.Checked := true;        menuNatxpressReturDAO1.Checked := true;
3184        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3185        InitForm(FarveReturDAO,TitelReturDAO,UrlReturDAO);        InitForm(Config.FarveReturDAO, Config.TitelReturDAO, Config.UrlReturDAO);
3186        PanelValg2.Color := clGreen;        PanelValg2.Color := clGreen;
3187        PanelValg2.Font.Color := clWhite;        PanelValg2.Font.Color := clWhite;
3188    
# Line 3220  begin Line 3193  begin
3193        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3194        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3195        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3196        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3197        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3198        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3199        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3200        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3237  end; Line 3210  end;
3210    
3211  procedure TMainForm.InitReturFraKunde();  procedure TMainForm.InitReturFraKunde();
3212  begin  begin
3213        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3214        Returpakkerfraboghandler1.Checked := true;        menuNatxpressReturfraKunde1.Checked := true;
3215        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3216        InitForm(FarveReturBoghandler,TitelReturBoghandler,UrlReturBoghandler);        InitForm(Config.FarveReturBoghandler, Config.TitelReturBoghandler, Config.UrlReturBoghandler);
3217        PanelValg3.Color := clGreen;        PanelValg3.Color := clGreen;
3218        PanelValg3.Font.Color := clWhite;        PanelValg3.Font.Color := clWhite;
3219    
# Line 3250  begin Line 3223  begin
3223        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3224        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3225        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3226        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3227        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3228        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3229        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3230        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3267  end; Line 3240  end;
3240    
3241  procedure TMainForm.InitDirektelevering();  procedure TMainForm.InitDirektelevering();
3242  begin  begin
3243        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3244        Budlevering1.Checked := true;        menuDaoDirekte1.Checked := true;
3245        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3246        InitForm(FarveBudlevering,TitelBudlevering,UrlBudlevering);        InitForm(Config.FarveBudlevering, Config.TitelBudlevering, Config.UrlBudlevering);
3247        PanelValg4.Color := clGreen;        PanelValg4.Color := clGreen;
3248        PanelValg4.Font.Color := clWhite;        PanelValg4.Font.Color := clWhite;
3249    
# Line 3281  begin Line 3254  begin
3254        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3255        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3256        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3257        Smpakker1.Enabled := true;        menuSmaaPakker.Enabled := true;
3258        Storepakker1.Enabled := true;        menuStorePakker.Enabled := true;
3259        radioStorPakke.Enabled := true;        radioStorPakke.Enabled := true;
3260        radioLillePakke.Enabled := true;        radioLillePakke.Enabled := true;
3261        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3300  begin Line 3273  begin
3273        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3274        begin        begin
3275            IndlesScanningLogFil();            IndlesScanningLogFil();
3276            IndlesManglendeScanninger();            IndlesManglendeScanningerAntal();
3277        end;        end;
3278    
3279  end;  end;
3280    
3281  procedure TMainForm.InitPakkeshoplevering();  procedure TMainForm.InitPakkeshoplevering();
3282  begin  begin
3283        AutomatiskTjekkodeStyring1.Enabled := true;        menuAutomatiskTjekkodeStyring.Enabled := true;
3284        Pakkeshoplevering1.Checked := true;        menuPakkeshop1.Checked := true;
3285        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3286        InitForm(FarvePakkeshoplevering,TitelPakkeshoplevering,UrlPakkeshoplevering);        InitForm(Config.FarvePakkeshoplevering, Config.TitelPakkeshoplevering, Config.UrlPakkeshoplevering);
3287        PanelValg5.Color := clGreen;        PanelValg5.Color := clGreen;
3288        PanelValg5.Font.Color := clWhite;        PanelValg5.Font.Color := clWhite;
3289    
# Line 3321  begin Line 3294  begin
3294        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3295        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3296        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3297        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3298        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3299        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3300        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3301        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3339  begin Line 3312  begin
3312        IndlesScanningLogFil();        IndlesScanningLogFil();
3313        if BladhusSted = 0 then        if BladhusSted = 0 then
3314        begin        begin
3315          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3316        end;        end;
3317        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3318        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 3347  end; Line 3320  end;
3320    
3321  procedure TMainForm.InitReturFraPakkeshop();  procedure TMainForm.InitReturFraPakkeshop();
3322  begin  begin
3323        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3324        Returpakkerfrapakkeshop1.Checked := true;        menuPakkeshopRetur1.Checked := true;
3325        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3326        InitForm(FarveReturPakkeshop,TitelReturPakkeshop,UrlReturPakkeshop);        InitForm(Config.FarveReturPakkeshop, Config.TitelReturPakkeshop, Config.UrlReturPakkeshop);
3327        PanelValg6.Color := clGreen;        PanelValg6.Color := clGreen;
3328        PanelValg6.Font.Color := clWhite;        PanelValg6.Font.Color := clWhite;
3329    
# Line 3361  begin Line 3334  begin
3334        Sprgefterboghandlernummer1.Checked := false;        Sprgefterboghandlernummer1.Checked := false;
3335        chkSporgEfterKunde.Checked := false;        chkSporgEfterKunde.Checked := false;
3336        Sprgefterboghandlernummer1.Enabled := false;        Sprgefterboghandlernummer1.Enabled := false;
3337        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3338        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3339        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3340        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3341        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3379  begin Line 3352  begin
3352        IndlesScanningLogFil();        IndlesScanningLogFil();
3353        if BladhusSted = 0 then        if BladhusSted = 0 then
3354        begin        begin
3355          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3356        end;        end;
3357        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3358        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3359  end;  end;
3360    
3361  procedure TMainForm.Returpakkerfraboghandler1Click(Sender: TObject);  procedure TMainForm.menuNatxpressReturfraKunde1Click(Sender: TObject);
3362  begin  begin
3363        Scanningtype := '3';        Scanningtype := '3';
3364        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 3395  end; Line 3368  end;
3368  procedure TMainForm.InitIndleveringskode();  procedure TMainForm.InitIndleveringskode();
3369  begin  begin
3370        menuIndlevering.Checked := true;        menuIndlevering.Checked := true;
3371        AutomatiskTjekkodeStyring1.Enabled := false;        menuAutomatiskTjekkodeStyring.Enabled := false;
3372    
3373        btnNulstil.Visible := false;        btnNulstil.Visible := false;
3374        InitForm(FarveIndlevering, TitelIndlevering, UrlReturPakkeshop);        InitForm(Config.FarveIndlevering, Config.TitelIndlevering, Config.UrlReturPakkeshop);
3375        PanelValg7.Color := clGreen;        PanelValg7.Color := clGreen;
3376        PanelValg7.Font.Color := clWhite;        PanelValg7.Font.Color := clWhite;
3377    
# Line 3412  begin Line 3385  begin
3385    
3386    
3387    
3388        Smpakker1.Enabled := false;        menuSmaaPakker.Enabled := false;
3389        Storepakker1.Enabled := false;        menuStorePakker.Enabled := false;
3390        radioStorPakke.Enabled := false;        radioStorPakke.Enabled := false;
3391        radioLillePakke.Enabled := false;        radioLillePakke.Enabled := false;
3392        ListBox1.Visible := true;        ListBox1.Visible := true;
# Line 3431  begin Line 3404  begin
3404        IndlesScanningLogFil();        IndlesScanningLogFil();
3405        if BladhusSted = 0 then        if BladhusSted = 0 then
3406        begin        begin
3407          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3408        end;        end;
3409        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3410        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3411  end;  end;
3412    
3413    
3414  procedure TMainForm.Storepakker1Click(Sender: TObject);  procedure TMainForm.menuStorePakkerClick(Sender: TObject);
3415  begin  begin
3416    InitStorPakke();    InitStorPakke();
3417  end;  end;
3418    
3419  procedure TMainForm.Smpakker1Click(Sender: TObject);  procedure TMainForm.menuSmaaPakkerClick(Sender: TObject);
3420  begin  begin
3421    InitLillePakke();    InitLillePakke();
3422  end;  end;
# Line 3451  end; Line 3424  end;
3424  procedure TMainForm.InitLillePakke();  procedure TMainForm.InitLillePakke();
3425  begin  begin
3426    radioLillePakke.Checked := true;    radioLillePakke.Checked := true;
3427    Smpakker1.Checked := true;    menuSmaaPakker.Checked := true;
3428  //  Stregkode := '';  //  Stregkode := '';
3429  end;  end;
3430    
3431  procedure TMainForm.InitStorPakke();  procedure TMainForm.InitStorPakke();
3432  begin  begin
3433    radioStorPakke.Checked := true;    radioStorPakke.Checked := true;
3434    Storepakker1.Checked := true;    menuStorePakker.Checked := true;
3435  // 20150310: start  // 20150310: start
3436  //  Stregkode := '';  //  Stregkode := '';
3437  // 20150310: slut  // 20150310: slut
# Line 3477  end; Line 3450  end;
3450    
3451  procedure TMainForm.Testlyd1Click(Sender: TObject);  procedure TMainForm.Testlyd1Click(Sender: TObject);
3452  begin  begin
3453     if AlarmLyd  <> '' then     if Config.AlarmLyd  <> '' then
3454     begin     begin
3455       PlaySound(PWideChar(AlarmLyd));       PlaySound(PWideChar(Config.AlarmLyd));
3456     end     end
3457     else     else
3458     begin     begin
# Line 3491  procedure TMainForm.Testlyd2Click(Sender Line 3464  procedure TMainForm.Testlyd2Click(Sender
3464  begin  begin
3465    if (PakkeshopText1.Caption = 'Tjekkode') then    if (PakkeshopText1.Caption = 'Tjekkode') then
3466    begin    begin
3467       if ScannetOkTilTjekkodeLyd  <> '' then       if Config.ScannetOkTilTjekkodeLyd  <> '' then
3468       begin       begin
3469         PlaySound(PWideChar(ScannetOkTilTjekkodeLyd));         PlaySound(PWideChar(Config.ScannetOkTilTjekkodeLyd));
3470       end       end
3471       else       else
3472       begin       begin
# Line 3502  begin Line 3475  begin
3475       exit;       exit;
3476    end;    end;
3477    
3478    if Smpakker1.Checked then    if menuSmaaPakker.Checked then
3479       if ScannetOkLyd  <> '' then       if Config.ScannetOkLyd  <> '' then
3480       begin       begin
3481         PlaySound(PWideChar(ScannetOkLyd));         PlaySound(PWideChar(Config.ScannetOkLyd));
3482       end       end
3483       else       else
3484       begin       begin
3485         MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);         MessageBox(Handle, PWideChar('Lyd fil ikke fundet (ScannetOkLyd)'), 'Information', MB_OK);
3486       end;       end;
3487    if Storepakker1.Checked then    if menuStorePakker.Checked then
3488       if ScannetOkStorLyd  <> '' then       if Config.ScannetOkStorLyd  <> '' then
3489       begin       begin
3490         PlaySound(PWideChar(ScannetOkStorLyd));         PlaySound(PWideChar(Config.ScannetOkStorLyd));
3491       end       end
3492       else       else
3493       begin       begin
# Line 3523  begin Line 3496  begin
3496  end;  end;
3497    
3498    
3499  procedure TMainForm.Budlevering1Click(Sender: TObject);  procedure TMainForm.menuDaoDirekte1Click(Sender: TObject);
3500  begin  begin
3501        Scanningtype := '4';        Scanningtype := '4';
3502        NulstilAutomatiskValg();        NulstilAutomatiskValg();
# Line 3551  begin Line 3524  begin
3524      logTekst := 'Overfører de scannede pakker til EKL';      logTekst := 'Overfører de scannede pakker til EKL';
3525      SkrivScanningLogFil(logTekst);      SkrivScanningLogFil(logTekst);
3526      StedKode := Sted;      StedKode := Sted;
3527      URLStr := Format(UrlEKLoverforsel,[StedKode,Sted]);      URLStr := Format(Config.UrlEKLoverforsel,[StedKode,Sted]);
3528    
3529      if PanelValg5.Color = clGreen then      if PanelValg5.Color = clGreen then
3530      begin      begin
3531        URLStr := Format(UrlEKLoverforselPakkeshop,[StedKode,Sted]);        URLStr := Format(Config.UrlEKLoverforselPakkeshop,[StedKode,Sted]);
3532      end;      end;
3533    
3534    
# Line 3615  begin Line 3588  begin
3588      // Hvis der var fejl i overførslen skal dette fejlmeldes her      // Hvis der var fejl i overførslen skal dette fejlmeldes her
3589      if status = 'Fejl' then      if status = 'Fejl' then
3590      begin   // Her skal komme en alarm og rød skærm      begin   // Her skal komme en alarm og rød skærm
3591         PlaySound(PWideChar(AlarmLyd));         PlaySound(PWideChar(Config.AlarmLyd));
3592         MainForm.Color := clRed;         MainForm.Color := clRed;
3593         RutenummerST.Caption := 'EKL overførsel';         RutenummerST.Caption := 'EKL overførsel';
3594         BoghandlerNavnST.Caption := 'Fejl:';         BoghandlerNavnST.Caption := 'Fejl:';
# Line 4145  const Line 4118  const
4118    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
4119    
4120  begin  begin
4121      IndlesManglendeScanninger();      IndlesManglendeScanningerListe();
4122      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
4123  end;  end;
4124    
# Line 4159  begin Line 4132  begin
4132  end;  end;
4133    
4134    
4135    procedure TMainForm.IndlesManglendeScanningerAntal();
4136    var
4137      Node: IXMLNode;
4138    
4139      URLStr : String;
4140      StedKode : String;
4141      WebSvar : String;
4142    
4143      i : Integer;
4144    
4145      PakkeType : String;
4146      TotalAntal : String;
4147      AntalProdDato : String;
4148    
4149      CurrentPanel : TPanel;
4150    
4151    begin
4152      ListBox2.Clear();
4153    
4154      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
4155        begin
4156          StedKode := BladhusStedKode[BladhusSted];
4157        end
4158      else
4159        begin
4160          StedKode := Sted;
4161        end;
4162    
4163      URLStr := Format(Config.UrlHentPakkeAntal, [StedKode]);
4164    
4165    
4166      try
4167        WebSvar := IdHTTP1.Get(URLStr);
4168        except
4169          on e:EIdConnClosedGracefully do
4170          begin
4171            // Her skal vi ikke gøre noget - men vi skal forespørge igen
4172            WebSvar := IdHTTP1.Get(URLStr);
4173          end;
4174          on e:exception do
4175          begin
4176            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i web forespørgsel: '+e.Message);
4177            logTekst := 'Fejl i web forespørgsel: '+e.Message;
4178            SkrivScanningLogFil(logTekst);
4179            raise exception.CreateFmt('Fejl i web forespørgsel: %s',[e.Message]);
4180          end;
4181        end;
4182    
4183  procedure TMainForm.IndlesManglendeScanninger();  
4184    
4185         try
4186    
4187          XMLDocument1.LoadFromXML(WebSvar);
4188    
4189          for i:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4190              Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4191    
4192              PakkeType := Node.ChildValues['PakkeType'];
4193              TotalAntal := Node.ChildValues['TotalAntal'];
4194              AntalProdDato := Node.ChildValues['AntalProdDato'];
4195    
4196    
4197              CurrentPanel := nil;
4198    
4199              if (PakkeType = 'natxpress') then
4200              begin
4201                 CurrentPanel := PanelManglendePakker1;
4202              end;
4203    
4204              if (PakkeType = 'daodirekte') then
4205              begin
4206                 CurrentPanel := PanelManglendePakker4;
4207              end;
4208    
4209              if (PakkeType = 'pakkeshop') then
4210              begin
4211                 CurrentPanel := PanelManglendePakker5;
4212              end;
4213    
4214              if (CurrentPanel <> nil) then
4215              begin
4216                CurrentPanel.Caption := TotalAntal;
4217                if ( StrToInt(TotalAntal) > 0) then
4218                begin
4219                  CurrentPanel.Visible := true;
4220                end
4221                else
4222                begin
4223                  CurrentPanel.Visible := false;
4224                end;
4225              end;
4226    
4227    
4228          end;
4229    
4230    
4231     except on e:exception do
4232          begin
4233            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i XML-format: '+e.Message);
4234            logTekst := 'Fejl i XML-format: '+e.Message;
4235            SkrivScanningLogFil(logTekst);
4236            raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
4237          end;
4238        end;
4239    
4240    
4241    
4242      ListBox1.Items.Insert(0,'Pakkeantal indlæst - klar til scanning');
4243    
4244    end;
4245    
4246    procedure TMainForm.IndlesManglendeScanningerListe();
4247  var  var
4248    WebSvar : String;    WebSvar : String;
4249    URLStr : String;    URLStr : String;
# Line 4169  var Line 4252  var
4252    I: Integer;    I: Integer;
4253    stregkode, modtagernavn, modtageradresse, kommentar : string;    stregkode, modtagernavn, modtageradresse, kommentar : string;
4254    pakketype, tjekkodestatus : String;    pakketype, tjekkodestatus : String;
4255    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;    antalLiniefelter, antalFelterFundet, linienr : Integer;
4256    //pakketyper : TStrings;    //pakketyper : TStrings;
4257    pakketyper : TDictionary<String, Integer>;    pakketyper : TDictionary<String, Integer>;
4258    tmpAntal : Integer;    tmpAntal : Integer;
4259    
4260     time, timeSamlet : TTimingHelper;
4261    
4262    
4263    antlin : Integer;    antlin : Integer;
# Line 4209  var Line 4293  var
4293    
4294      if (Scanningtype = '7') then      if (Scanningtype = '7') then
4295       begin       begin
4296        URLStr := Format(UrlIndleveringsPakkeManglendeScanninger, [StedKode]);        URLStr := Format(Config.UrlIndleveringsPakkeManglendeScanninger, [StedKode]);
4297       end       end
4298      else if (Scanningtype = '6') then      else if (Scanningtype = '6') then
4299       begin       begin
4300        URLStr := Format(UrlPakkeshopManglendeReturScanninger, [StedKode]);        URLStr := Format(Config.UrlPakkeshopManglendeReturScanninger, [StedKode]);
4301       end       end
4302      else if (Scanningtype = '5') then      else if (Scanningtype = '5') then
4303       begin       begin
4304        URLStr := Format(UrlPakkeshopManglendeScanninger, [StedKode]);        URLStr := Format(Config.UrlPakkeshopManglendeScanninger, [StedKode]);
4305       end       end
4306      else if (Scanningtype = '1') then      else if (Scanningtype = '1') then
4307       begin       begin
4308        URLStr := Format(UrlManglendeScanninger,[StedKode,'B2']);        URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'B2']);
4309       end       end
4310      else if (Scanningtype = '4') then      else if (Scanningtype = '4') then
4311       begin       begin
4312        URLStr := Format(UrlManglendeScanninger,[StedKode,'A2']);    // Budleveringer        URLStr := Format(Config.UrlManglendeScanninger,[StedKode,'A2']);    // Budleveringer
4313       end       end
4314      else      else
4315       begin       begin
# Line 4233  var Line 4317  var
4317       end;       end;
4318  // 20150310: slut  // 20150310: slut
4319    
4320        time := TTimingHelper.create();        //DEBUG
4321        timeSamlet := TTimingHelper.create();        //DEBUG
4322    
4323      try      try
4324      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
4325  //    URLStr := string(Utf8Encode(URLStr));  //    URLStr := string(Utf8Encode(URLStr));
# Line 4242  var Line 4329  var
4329        begin        begin
4330          // 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
4331          WebSvar := IdHTTP1.Get(URLStr);          WebSvar := IdHTTP1.Get(URLStr);
4332    
4333    
4334    
4335        end;        end;
4336        on e:exception do        on e:exception do
4337        begin        begin
# Line 4252  var Line 4342  var
4342        end;        end;
4343      end;      end;
4344      try      try
4345          time.stop('HTTP Load');     //DEBUG
4346    
4347        XMLDocument1.LoadFromXML(WebSvar);        XMLDocument1.LoadFromXML(WebSvar);
4348    
4349          time.stop('XML Load');     //DEBUG
4350    
4351    
4352    
4353    
4354    
4355    
4356        antlin := 0;        antlin := 0;
4357        antlinIdag := 0;        antlinIdag := 0;
# Line 4296  var Line 4394  var
4394        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug
4395        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array
4396    
4397          time.stop('Antal Linier');//DEBUG
4398    
4399        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4400    
# Line 4307  var Line 4406  var
4406        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4407    
4408        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4409          time.stop('Antal Linier2');//DEBUG
4410    
4411    
4412        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
# Line 4367  var Line 4467  var
4467              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4468              begin              begin
4469                if (ScanningType = '1') then                if (ScanningType = '1') then
4470                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)                   ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)
4471                else if (ScanningType = '4') then                else if (ScanningType = '4') then
4472                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)
4473                else if (ScanningType = '5') then                else if (ScanningType = '5') then
# Line 4381  var Line 4481  var
4481        end;        end;
4482    
4483    
4484          time.stop('Fyld Listbox2');//DEBUG
4485    
4486    
4487        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes        Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4488    
4489    
# Line 4500  var Line 4603  var
4603        end;        end;
4604      end;      end;
4605    
4606        time.stop('Done');//DEBUG
4607        timeSamlet.stop('SamletTid');//DEBUG
4608    
4609    
4610  end;  end;
4611    
4612  procedure TMainForm.IndlesScanningLogFil();  procedure TMainForm.IndlesScanningLogFil();
# Line 4675  begin Line 4782  begin
4782          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');
4783          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';
4784          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
4785          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
4786        end;        end;
4787      end;      end;
4788    end    end
# Line 4684  begin Line 4791  begin
4791        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.');        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Ruteskift fil '+filnavn+' findes ikke.');
4792        logTekst := 'Ruteskift fil '+filnavn+' findes ikke.';        logTekst := 'Ruteskift fil '+filnavn+' findes ikke.';
4793        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4794        PlaySound(PWideChar(AlarmLyd));        PlaySound(PWideChar(Config.AlarmLyd));
4795    end;    end;
4796  end;  end;
4797    
# Line 4755  begin Line 4862  begin
4862          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');          ListBox1.Items.Insert(0,TimeToStr(now) + ': ' +'Fandt ingen linier til '+imorgenYmd+'.');
4863          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';          logTekst := 'Fandt ingen linier til '+imorgenYmd+'.';
4864          SkrivScanningLogFil(logTekst);          SkrivScanningLogFil(logTekst);
4865          PlaySound(PWideChar(AlarmLyd));          PlaySound(PWideChar(Config.AlarmLyd));
4866        end;        end;
4867      end;      end;
4868    end    end
# Line 4764  begin Line 4871  begin
4871        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.');        ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Kontrol fil '+filnavn+' findes ikke.');
4872        logTekst := 'Kontrol fil '+filnavn+' findes ikke.';        logTekst := 'Kontrol fil '+filnavn+' findes ikke.';
4873        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4874        PlaySound(PWideChar(AlarmLyd));        PlaySound(PWideChar(Config.AlarmLyd));
4875    end;    end;
4876  end;  end;
4877    
# Line 4822  procedure TMainForm.VisAlarmSkaerm(strMe Line 4929  procedure TMainForm.VisAlarmSkaerm(strMe
4929  begin  begin
4930    //ShowMessage('Ændring ikke tilladt');    //ShowMessage('Ændring ikke tilladt');
4931    // Her skal komme en 'rød skærm' alarm    // Her skal komme en 'rød skærm' alarm
4932    PlaySound(PWideChar(AlarmLyd));    PlaySound(PWideChar(Config.AlarmLyd));
4933    MainForm.Color := clRed;    MainForm.Color := clRed;
4934    
4935    
# Line 4911  begin Line 5018  begin
5018  end;  end;
5019    
5020    
5021    //Nedarvet fra IParentForm
5022    procedure TMainForm.Msg( msg : string);
5023    begin
5024      ShowMessage(msg);
5025    end;
5026    
5027  //Nedarvet fra IParentForm  //Nedarvet fra IParentForm
5028  procedure TMainForm.LogMessage( msg : string);  procedure TMainForm.LogMessage( msg : string);
# Line 4945  begin Line 5057  begin
5057    Result := self;    Result := self;
5058  end;  end;
5059    
5060    //Nedarvet fra IParentForm
5061    function TMainForm.GetXMLDocument() : TXMLDocument;
5062    begin
5063      Result := XMLDocument1
5064    end;
5065    
5066    
5067  end.  end.
5068    

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

  ViewVC Help
Powered by ViewVC 1.1.20