/[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 2756 by torben, Thu Oct 22 14:06:23 2015 UTC revision 3046 by torben, Mon Jun 13 08:29:35 2016 UTC
# Line 25  uses Line 25  uses
25    ParentForm,    ParentForm,
26    LabelPrint,    LabelPrint,
27    Configuration,    Configuration,
28    Vcl.Imaging.pngimage    Vcl.Imaging.pngimage,
29      Generics.Collections
30    
31    ;    ;
32    
# Line 38  type Line 39  type
39      XMLDocument1: TXMLDocument;      XMLDocument1: TXMLDocument;
40      ApplicationEvents1: TApplicationEvents;      ApplicationEvents1: TApplicationEvents;
41      chkSporgEfterKunde: TCheckBox;      chkSporgEfterKunde: TCheckBox;
     KommentarST: TStaticText;  
42      MainMenu1: TMainMenu;      MainMenu1: TMainMenu;
43      N1: TMenuItem;      N1: TMenuItem;
44      Pakkernormal1: TMenuItem;      Pakkernormal1: TMenuItem;
# Line 104  type Line 104  type
104      PanelManglendePakker5: TPanel;      PanelManglendePakker5: TPanel;
105      PanelManglendePakker6: TPanel;      PanelManglendePakker6: TPanel;
106      menuIndlevering: TMenuItem;      menuIndlevering: TMenuItem;
107        chkForstorTilDirekte: TCheckBox;
108        chkEmballageRepareret: TCheckBox;
109        KommentarST: TLabel;
110    
111    
112    
# Line 192  type Line 195  type
195    
196    
197    
   
198    //Nedarvet fra IParentForm    //Nedarvet fra IParentForm
199      procedure Msg( msg : string);
200    procedure LogMessage( msg : string);    procedure LogMessage( msg : string);
201    procedure SetPrinterstatusText( txt: string; alert: boolean);    procedure SetPrinterstatusText( txt: string; alert: boolean);
202    function GetFormObject() : TForm;    function GetFormObject() : TForm;
203    
204    
205    
206    private    private
207      SpecialVersionSted, SpecialVersionScanningtype: String;    // Bruges når programmet skal bruges udenfor DAO scanningssteder      SpecialVersionSted, SpecialVersionScanningtype: String;    // Bruges når programmet skal bruges udenfor DAO scanningssteder
208      Stregkode : String;      Stregkode : String;
209      SkrivLog : String;      SkrivLog : String;
210      Sted : String;      Sted : String;
211      StedNavn : String;      StedNavn : String;
212      Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel : String;      Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering,
213                UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,
214                UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel, URLOmdirigerTilPakkeshop : String;
215    
216      UrlEKLoverforselPakkeshop : String;      UrlEKLoverforselPakkeshop : String;
217    
# Line 213  type Line 219  type
219      Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;      Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;
220      ScanTjekkode : String;      ScanTjekkode : String;
221      ScanTjekkodeAutomatik : string;      ScanTjekkodeAutomatik : string;
222      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop, FarveIndlevering : String;  
223      Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop, TitelIndlevering : String;      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop,
224              FarveIndlevering : String;
225    
226        Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop,
227              TitelIndlevering : String;
228    
229      AlarmLyd : String;      AlarmLyd : String;
230      ScannetOkLyd : String;      ScannetOkLyd : String;
# Line 253  type Line 263  type
263      procedure SkrivScanningLogFil(var tekst : string);      procedure SkrivScanningLogFil(var tekst : string);
264      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;
265      procedure VisAlarmSkaerm(strMessage: string);      procedure VisAlarmSkaerm(strMessage: string);
266        function InjectURL(Url : String) : String;
267    
268    public    public
269      { Public declarations }      { Public declarations }
# Line 351  begin Line 362  begin
362        else if (Sted = 'BR') then        else if (Sted = 'BR') then
363          begin StedNavn := 'Brøndby: '; end          begin StedNavn := 'Brøndby: '; end
364        else if (Sted = 'BK') then        else if (Sted = 'BK') then
365          begin StedNavn := 'Bladkompagniet: '; end          begin StedNavn := 'Bladkompagniet/ISV: '; end
366          else if (Sted = 'TK') then
367            begin StedNavn := 'BK/Trykkompagniet: '; end
368        else if (Sted = 'DBK') then        else if (Sted = 'DBK') then
369          begin StedNavn := 'DBK Køge: '; end          begin StedNavn := 'DBK/Køge: '; end
370        else if (Sted = '1') then        else if (Sted = '1') then
371          begin StedNavn := 'Ålborg: '; end          begin StedNavn := 'Ålborg: '; end
372        else if (Sted = '2') then        else if (Sted = '2') then
# Line 494  begin Line 507  begin
507       PanelValgA.Font.Color := clWhite;       PanelValgA.Font.Color := clWhite;
508  end;  end;
509    
510    function TMainForm.InjectURL(Url : String) : String;
511    begin
512    
513      Url := Url + '&ver=' + TUtils.URLEncode( TUtils.Sto_GetFmtFileVersion(''));
514      Url := Url + '&host=' + TUtils.URLEncode( TUtils.GetComputerNameHelper());
515      Url := Url + '&user=' + TUtils.URLEncode( TUtils.GetCurrentUserName());
516    
517      Result := Url;
518    end;
519    
520  //InitForm kaldes før FormCreate  //InitForm kaldes før FormCreate
521  procedure TMainForm.FormCreate(Sender: TObject);  procedure TMainForm.FormCreate(Sender: TObject);
# Line 544  begin Line 566  begin
566      SkrivLog := ReadString('Settings','SkrivLog','0');      SkrivLog := ReadString('Settings','SkrivLog','0');
567      Sted := ReadString('Settings','Sted','');      Sted := ReadString('Settings','Sted','');
568      StedNavn := ReadString('Settings','Stednavn','');      StedNavn := ReadString('Settings','Stednavn','');
569    
570      UrlFindPakketype := ReadString('Settings','UrlFindPakketype','http://omdeling.info/webservices/bogpakkekontrol/FindPakketype.php?stregkode=%s');      UrlFindPakketype := ReadString('Settings','UrlFindPakketype','http://omdeling.info/webservices/bogpakkekontrol/FindPakketype.php?stregkode=%s');
571        UrlFindPakketype := InjectURL(UrlFindPakketype);
572    
573      UrlSendPrograminfo := ReadString('Settings','UrlSendPrograminfo','http://omdeling.info/webservices/bogpakkekontrol/SendPrograminfo.php?programnavn=%s&sted=%s&scanningtype=%s&infotype=%s&info=%s');      UrlSendPrograminfo := ReadString('Settings','UrlSendPrograminfo','http://omdeling.info/webservices/bogpakkekontrol/SendPrograminfo.php?programnavn=%s&sted=%s&scanningtype=%s&infotype=%s&info=%s');
574        UrlSendPrograminfo := InjectURL(UrlSendPrograminfo);
575    
576      UrlNormal := ReadString('Settings','UrlNormal','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&tjekkode=%s');      UrlNormal := ReadString('Settings','UrlNormal','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&tjekkode=%s');
577        UrlNormal := InjectURL(UrlNormal);
578    
579      UrlReturDAO := ReadString('Settings','UrlReturDAO','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');      UrlReturDAO := ReadString('Settings','UrlReturDAO','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');
580        UrlReturDAO := InjectURL(UrlReturDAO);
581    
582      UrlReturBoghandler := ReadString('Settings','UrlReturBoghandler','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');      UrlReturBoghandler := ReadString('Settings','UrlReturBoghandler','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&boghandlernummer=%s&returpakketype=%s&pakkestorrelse=%s');
583        UrlReturBoghandler := InjectURL(UrlReturBoghandler);
584    
585      UrlBudlevering := ReadString('Settings','UrlBudlevering','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&leveringstype=%s&pakkestorrelse=%s');      UrlBudlevering := ReadString('Settings','UrlBudlevering','http://omdeling.info/webservices/bogpakkekontrol/bogpakkekontrol.php?sted=%s&pakkenummer=%s&leveringstype=%s&pakkestorrelse=%s');
586        UrlBudlevering := InjectURL(UrlBudlevering);
587    
588      UrlManglendeScanninger := ReadString('Settings','UrlManglendeScanninger','http://omdeling.info/webservices/bogpakkekontrol/bogpakkemanglendescanninger.php?sted=%s&type=%s');      UrlManglendeScanninger := ReadString('Settings','UrlManglendeScanninger','http://omdeling.info/webservices/bogpakkekontrol/bogpakkemanglendescanninger.php?sted=%s&type=%s');
589        UrlManglendeScanninger := InjectURL(UrlManglendeScanninger);
590    
591      UrlEKLoverforsel := ReadString('Settings','UrlEKLoverforsel','http://omdeling.info/webservices/bogpakkekontrol/bogpakkertilekl.php?sted=%s');      UrlEKLoverforsel := ReadString('Settings','UrlEKLoverforsel','http://omdeling.info/webservices/bogpakkekontrol/bogpakkertilekl.php?sted=%s');
592        UrlEKLoverforsel := InjectURL(UrlEKLoverforsel);
593    
594      UrlEKLoverforselPakkeshop := ReadString('Settings','UrlEKLoverforselPakkeshop','http://omdeling.info/webservices/pakkeshop/pakkertilekl.php?sted=%s');      UrlEKLoverforselPakkeshop := ReadString('Settings','UrlEKLoverforselPakkeshop','http://omdeling.info/webservices/pakkeshop/pakkertilekl.php?sted=%s');
595        UrlEKLoverforselPakkeshop := InjectURL(UrlEKLoverforselPakkeshop);
596    
597      UrlPakkeshoplevering := ReadString('Settings','UrlPakkeshoplevering','http://omdeling.info/webservices/pakkeshop/pakkekontrol.php?sted=%s&stregkode=%s&tjekkode=%s');      UrlPakkeshoplevering := ReadString('Settings','UrlPakkeshoplevering','http://omdeling.info/webservices/pakkeshop/pakkekontrol.php?sted=%s&stregkode=%s&tjekkode=%s');
598        UrlPakkeshoplevering := InjectURL(UrlPakkeshoplevering);
599    
600      UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s');      UrlReturPakkeshop := ReadString('Settings','UrlReturPakkeshop','http://omdeling.info/webservices/pakkeshop/returpakkekontrol.php?sted=%s&stregkode=%s');
601        UrlReturPakkeshop := InjectURL(UrlReturPakkeshop);
602    
603      UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');      UrlPakkeshopManglendeScanninger := ReadString('Settings','UrlPakkeshopManglendeScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendescanninger.php?sted=%s');
604      UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');      UrlPakkeshopManglendeScanninger := InjectURL(UrlPakkeshopManglendeScanninger);
605    
606        UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');
607        UrlPakkeshopManglendeReturScanninger := InjectURL(UrlPakkeshopManglendeReturScanninger);
608    
609      UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');      UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');
610        UrlIndleveringsPakke := InjectURL(UrlIndleveringsPakke);
611    
612      UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');      UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');
613        UrlIndleveringsPakkeManglendeScanninger := InjectURL(UrlIndleveringsPakkeManglendeScanninger);
614    
615        URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');
616        URLOmdirigerTilPakkeshop := InjectURL(URLOmdirigerTilPakkeshop);
617    
618    
619    
# Line 680  begin Line 731  begin
731  {$IfDef STED_BK}  {$IfDef STED_BK}
732      SpecialVersionSted := 'BK';      SpecialVersionSted := 'BK';
733  {$EndIf}  {$EndIf}
734    {$IfDef STED_TK}
735        SpecialVersionSted := 'TK';// BK-Trykkompagniet
736    {$EndIf}
737  {$IfDef STED_DBK}  {$IfDef STED_DBK}
738      SpecialVersionSted := 'DBK';      SpecialVersionSted := 'DBK';
739  {$EndIf}  {$EndIf}
# Line 690  begin Line 744  begin
744      SpecialVersionSted := 'NS';      SpecialVersionSted := 'NS';
745  {$EndIf}  {$EndIf}
746    
   
747      //SpecialVersionSted := '01';  // NS - bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)      //SpecialVersionSted := '01';  // NS - bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)
748      //SpecialVersionSted := '02';  // BK - BRUGES IKKE (brug i stedet ovenstående SpecialVersionSted BK)      //SpecialVersionSted := '02';  // BK - BRUGES IKKE (brug i stedet ovenstående SpecialVersionSted BK)
749      //SpecialVersionSted := '03';  // FD - (bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)      //SpecialVersionSted := '03';  // FD - (bruges sammen med nedenstående SpecialVersionScanningtype DIREKTE)
# Line 708  begin Line 761  begin
761    
762      if SpecialVersionSted = 'NS' then      if SpecialVersionSted = 'NS' then
763      begin      begin
764         SpecialVersionSted := '01';         //SpecialVersionSted := '01'; // Fra før NS overtog scanning løssalg
765         SpecialVersionScanningtype := '4';         //SpecialVersionScanningtype := '4';
766    
767          //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
768          Sted := SpecialVersionSted;
769         // her skal vi også disable de knapper BK ikke kan bruge
770          PanelValg2.Enabled := false;
771          PanelValg2.Font.Color := clInactiveCaption;
772          PanelValg3.Enabled := false;
773          PanelValg3.Font.Color := clInactiveCaption;
774          //PanelValg6.Enabled := false;
775          //PanelValg6.Font.Color := clInactiveCaption;
776    
777         // her skal vi også disable de menupunkter FD ikke kan bruge
778          ReturpakkerfraDAO1.Enabled := false;
779          Returpakkerfraboghandler1.Enabled := false;
780    
781          //Returpakkerfrapakkeshop1.Enabled := false;
782      end;      end;
783    
784      if SpecialVersionSted = 'FD' then      if SpecialVersionSted = 'FD' then
785      begin      begin
786         SpecialVersionSted := '03';         //SpecialVersionSted := '03'; //fra før at FD overtog scanning
787         SpecialVersionScanningtype := '4';         //SpecialVersionScanningtype := '4';
788    
789    
790          //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
791          Sted := SpecialVersionSted;
792         // her skal vi også disable de knapper BK ikke kan bruge
793          PanelValg2.Enabled := false;
794          PanelValg2.Font.Color := clInactiveCaption;
795          PanelValg3.Enabled := false;
796          PanelValg3.Font.Color := clInactiveCaption;
797          //PanelValg6.Enabled := false;
798          //PanelValg6.Font.Color := clInactiveCaption;
799    
800         // her skal vi også disable de menupunkter FD ikke kan bruge
801          ReturpakkerfraDAO1.Enabled := false;
802          Returpakkerfraboghandler1.Enabled := false;
803    
804          //Returpakkerfrapakkeshop1.Enabled := false;
805    
806      end;      end;
807    
808      if SpecialVersionSted = 'BK' then      if (SpecialVersionSted = 'BK') OR (SpecialVersionSted = 'TK') then
809      begin      begin
810        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
811        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
# Line 758  begin Line 846  begin
846        PanelValg5.Font.Color := clInactiveCaption;        PanelValg5.Font.Color := clInactiveCaption;
847        PanelValg6.Enabled := false;        PanelValg6.Enabled := false;
848        PanelValg6.Font.Color := clInactiveCaption;        PanelValg6.Font.Color := clInactiveCaption;
849        PanelValg7.Enabled := false;  
       PanelValg7.Font.Color := clInactiveCaption;  
850    
851       // her skal vi også disable de menupunkter DBK ikke kan bruge       // her skal vi også disable de menupunkter DBK ikke kan bruge
852        ReturpakkerfraDAO1.Enabled := false;        ReturpakkerfraDAO1.Enabled := false;
# Line 1116  begin Line 1203  begin
1203      or (NumberString = 'Retur fra kunde')      or (NumberString = 'Retur fra kunde')
1204      or (NumberString = 'DAO DIREKTE')      or (NumberString = 'DAO DIREKTE')
1205      or (NumberString = 'DAO PAKKESHOP')      or (NumberString = 'DAO PAKKESHOP')
1206        or (NumberString = 'DAO PAKKESHOP')
1207        or (LowerCase(NumberString) = 'for stor hjemmelevering' )
1208            or (LowerCase(NumberString) = 'for stor daodirekte' )
1209      or (NumberString = 'Retur fra pakkeshop') then      or (NumberString = 'Retur fra pakkeshop') then
1210    
1211      begin      begin
# Line 1126  begin Line 1216  begin
1216      begin      begin
1217        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');
1218      end;      end;
1219    end;    end;  // Slut ctrl-v
1220    
1221    if Key = #13 then     // Enter    if Key = #13 then     // Enter
1222    begin    begin
1223      if (Length(Trim(Stregkode)) = 0) then  
1224        // Sikre at den er trimmet inden vi går videre - DBK kan finde på at encode et space i enden af deres barcodes
1225        Stregkode := Trim(Stregkode);
1226    
1227        if (Length(Stregkode) = 0) then
1228      begin      begin
1229        VisAlarmSkaerm( 'Der skal scannes en stregkode...' );        VisAlarmSkaerm( 'Der skal scannes en stregkode...' );
1230    
# Line 1180  begin Line 1274  begin
1274         exit;         exit;
1275      end;      end;
1276    
1277        if (LowerCase(StregKode) = 'for stor hjemmelevering') OR (LowerCase(StregKode) = 'for stor daodirekte') then
1278        begin
1279          if chkForstorTilDirekte.Enabled then
1280          begin
1281            chkForstorTilDirekte.Checked := true;
1282          end
1283          else
1284          begin
1285             VisAlarmSkaerm( Stregkode + ' kan ikke vælges på denne scannings tilstand' );
1286          end;
1287          Stregkode := '';
1288          StregkodeST.Caption := StregKode;
1289          exit;
1290        end;
1291    
1292    
1293      if StregKode = 'Indtast kundenummer' then      if StregKode = 'Indtast kundenummer' then
1294      begin      begin
1295         if chkSporgEfterKunde.Enabled = true then         if chkSporgEfterKunde.Enabled = true then
# Line 1377  begin Line 1487  begin
1487        Pakkescanningtype := Scanningtype;        Pakkescanningtype := Scanningtype;
1488      end;      end;
1489    
1490      if (   (Pakkescanningtype = '1') and (PanelValg1.Enabled = false)      if (   ( (Pakkescanningtype = '1') and (PanelValg1.Enabled = false) )
1491          or (Pakkescanningtype = '2') and (PanelValg2.Enabled = false)          or ( (Pakkescanningtype = '2') and (PanelValg2.Enabled = false) )
1492          or (Pakkescanningtype = '3') and (PanelValg3.Enabled = false)          or ( (Pakkescanningtype = '3') and (PanelValg3.Enabled = false) )
1493          or (Pakkescanningtype = '4') and (PanelValg4.Enabled = false)          or ( (Pakkescanningtype = '4') and (PanelValg4.Enabled = false) )
1494          or (Pakkescanningtype = '5') and (PanelValg5.Enabled = false)          or ( (Pakkescanningtype = '5') and (PanelValg5.Enabled = false) )
1495          or (Pakkescanningtype = '6') and (PanelValg6.Enabled = false)  ) then          or ( (Pakkescanningtype = '6') and (PanelValg6.Enabled = false) ) ) then
1496      begin   // Her skal komme en alarm og rød skærm      begin   // Her skal komme en alarm og rød skærm
1497          VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );          VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
1498    
1499         exit;         exit;
1500      end;      end;
1501    
1502      if Automatiskvalg1.Checked and (Length(Stregkode) > 8) then      if (Automatiskvalg1.Checked and (Length(Stregkode) > 8) ) then
1503      begin      begin
1504        GemStregkode := Stregkode;        GemStregkode := Stregkode;
1505        if Pakketype = 'NatXpress' then        if Pakketype = 'NatXpress' then
# Line 1418  begin Line 1528  begin
1528                InitPakkeshoplevering();                InitPakkeshoplevering();
1529              end;              end;
1530            end            end
1531        // Retur kan ikke scannes med 'Automatisk valg'       else if Pakketype = 'PakkeshopRetur' then
1532              begin
1533                if Scanningtype <> '6' then
1534                begin
1535                 VisAlarmSkaerm( Stregkode + ' Pakkeshop retur,'#13#10' kan ikke bruges med automatisk valg' );
1536    
1537                 exit;
1538                end;
1539              end
1540    
1541    
1542        else        else
1543            begin            begin
1544            // Her skal komme en alarm og rød skærm            // Her skal komme en alarm og rød skærm
1545              VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );              //VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
1546                 VisAlarmSkaerm( Stregkode + ' kan ikke bruges med automatisk valg' );
1547    
1548               exit;               exit;
1549            end;            end;
# Line 1659  begin Line 1779  begin
1779    
1780    Key := #0;    Key := #0;
1781    
1782    
1783    
1784    
1785    
1786    
1787  end; //End of OnKeyPress  end; //End of OnKeyPress
1788    
1789    
1790    
1791  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);
1792  const  const
1793    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
# Line 1990  begin Line 2117  begin
2117    begin    begin
2118      exit;      exit;
2119    end;    end;
2120    
2121      if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er
2122      begin
2123        URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
2124      end;
2125    
2126    try    try
2127      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
2128      WebSvar := IdHTTP1.Get(URLStr);      WebSvar := IdHTTP1.Get(URLStr);
# Line 2011  begin Line 2144  begin
2144          end;          end;
2145      end;      end;
2146    end;    end;
2147    
2148    XMLDocument1.LoadFromXML(WebSvar);    XMLDocument1.LoadFromXML(WebSvar);
2149    try    try
2150      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then
# Line 2034  begin Line 2168  begin
2168          end;          end;
2169        end;        end;
2170       end       end
2171      else if menuIndlevering.Checked then      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then
2172      begin      begin
2173    
2174    
# Line 2049  begin Line 2183  begin
2183         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2184    
2185         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );
2186           chkForstorTilDirekte.Checked := false;
2187    
2188       end;       end;
2189    
# Line 2861  begin Line 2996  begin
2996      SmsKode := '999999';      SmsKode := '999999';
2997      DBKbane := '999';      DBKbane := '999';
2998      Leveringssted := 'XXX';      Leveringssted := 'XXX';
2999      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      LabelPrint.TestZpl();
3000        //PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
3001      LabelPrint.CheckPrintQue('Test', PrinterNavn);      LabelPrint.CheckPrintQue('Test', PrinterNavn);
3002    end;    end;
3003    FocusControl(StregkodeST);    FocusControl(StregkodeST);
# Line 2932  begin Line 3068  begin
3068    
3069  end;  end;
3070    
3071    
3072  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;
3073    Rect: TRect; State: TOwnerDrawState);    Rect: TRect; State: TOwnerDrawState);
3074  var  var
# Line 3085  begin Line 3222  begin
3222        BtnEKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3223        InitLillePakke();        InitLillePakke();
3224        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3225    
3226          chkForstorTilDirekte.Checked := false;
3227          chkForstorTilDirekte.Enabled := false;
3228    
3229        if BladhusSted = 0 then        if BladhusSted = 0 then
3230        begin        begin
3231          IndlesScanningLogFil();          IndlesScanningLogFil();
# Line 3116  begin Line 3257  begin
3257        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3258        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3259        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3260    
3261          chkForstorTilDirekte.Checked := false;
3262          chkForstorTilDirekte.Enabled := false;
3263    
3264        InitLillePakke();        InitLillePakke();
3265  end;  end;
3266    
# Line 3142  begin Line 3287  begin
3287        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3288        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3289        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3290    
3291          chkForstorTilDirekte.Checked := false;
3292          chkForstorTilDirekte.Enabled := false;
3293    
3294        InitLillePakke();        InitLillePakke();
3295  end;  end;
3296    
# Line 3173  begin Line 3322  begin
3322        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3323        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3324        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3325    
3326          chkForstorTilDirekte.Checked := false;
3327          chkForstorTilDirekte.Enabled := true;
3328    
3329        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3330        begin        begin
3331            IndlesScanningLogFil();            IndlesScanningLogFil();
# Line 3208  begin Line 3361  begin
3361    
3362        BtnEKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3363    
3364          chkForstorTilDirekte.Checked := false;
3365          chkForstorTilDirekte.Enabled := true;
3366    
3367        InitLillePakke();        InitLillePakke();
3368        IndlesScanningLogFil();        IndlesScanningLogFil();
3369        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3243  begin Line 3399  begin
3399        BtnDownloadKontrolfil.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3400        BtnOpdaterListen.Enabled := true;        BtnOpdaterListen.Enabled := true;
3401        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3402    
3403          chkForstorTilDirekte.Checked := false;
3404          chkForstorTilDirekte.Enabled := false;
3405    
3406    
3407        InitLillePakke();        InitLillePakke();
3408        IndlesScanningLogFil();        IndlesScanningLogFil();
3409        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3290  begin Line 3451  begin
3451        BtnDownloadKontrolfil.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3452        BtnOpdaterListen.Enabled := true;        BtnOpdaterListen.Enabled := true;
3453        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3454    
3455          chkForstorTilDirekte.Checked := false;
3456          chkForstorTilDirekte.Enabled := false;
3457    
3458    
3459        InitLillePakke();        InitLillePakke();
3460        IndlesScanningLogFil();        IndlesScanningLogFil();
3461        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 4033  var Line 4199  var
4199    stregkode, modtagernavn, modtageradresse, kommentar : string;    stregkode, modtagernavn, modtageradresse, kommentar : string;
4200    pakketype, tjekkodestatus : String;    pakketype, tjekkodestatus : String;
4201    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;
4202    pakketyper : TStrings;    //pakketyper : TStrings;
4203      pakketyper : TDictionary<String, Integer>;
4204      tmpAntal : Integer;
4205    
4206    
4207    
4208    antlin : Integer;    antlin : Integer;
4209    
4210    antlinIdag, antlinSenere : Integer;    antlinIdag, antlinSenere : Integer;
4211    
4212    XmlFelter : TStrings;    //XmlFelter : TStrings;
4213      XmlFelter : TDictionary<String, Integer>;
4214    
4215   begin   begin
4216      XmlFelter := TStringList.Create;  
4217      pakketyper := TStringList.Create;  
4218        XmlFelter := TDictionary<String, Integer>.Create;
4219        pakketyper := TDictionary<String, Integer>.Create;
4220    
4221      linienr := 0;      linienr := 0;
4222      ListBox2.Clear;      ListBox2.Clear;
4223      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Henter oversigt over pakker der endnu ikke er modtaget');      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Henter oversigt over pakker der endnu ikke er modtaget');
# Line 4057  var Line 4232  var
4232          StedKode := Sted;          StedKode := Sted;
4233        end;        end;
4234    
4235          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4236    
4237    
4238    
4239      if (Scanningtype = '7') then      if (Scanningtype = '7') then
# Line 4116  var Line 4293  var
4293            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
4294              if Node.NodeName = 'Stregkode' then              if Node.NodeName = 'Stregkode' then
4295              begin              begin
4296                 antlin := antlin + 1;                 Inc(antlin);
4297                 // 20150306: start                 // 20150306: start
4298                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4299                begin                begin
4300                   if (pos('(', Node.NodeValue) = 0) then                   if (pos('(', Node.NodeValue) = 0) then
4301                   begin                   begin
4302                     antlinIdag := antlinIdag + 1;                     Inc(antlinIdag);
4303                   end                   end
4304                   else                   else
4305                   begin                   begin
4306                     antlinSenere := antlinSenere + 1;                     Inc(antlinSenere);
4307                   end;                   end;
4308                end;                end;
4309                 // 20150306: slut                 // 20150306: slut
4310              end;              end;
4311            end;            end;
4312            if (XmlFelter.values[Node.NodeName] <> '') then            if ( XmlFelter.ContainsKey(Node.NodeName) ) then
4313                  XmlFelter.values[Node.NodeName] := IntToStr(StrToInt(XmlFelter.values[Node.NodeName]) + 1)                begin
4314                    XmlFelter.TryGetValue(Node.NodeName, tmpAntal);
4315                    XmlFelter.AddOrSetValue(Node.NodeName, tmpAntal + 1);
4316                  end
4317                else                else
4318                  XmlFelter.values[Node.NodeName] := '1';                begin
4319                    XmlFelter.Add(Node.NodeName, 1);
4320                  end;
4321    
4322        end;        end;
4323        antalLiniefelter := XmlFelter.Count;        antalLiniefelter := XmlFelter.Count;
# Line 4143  var Line 4325  var
4325        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug
4326        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array
4327    
4328    
4329          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4330    
4331        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
4332        if (antlinSenere > 0) then        if (antlinSenere > 0) then
4333        begin        begin
# Line 4151  var Line 4336  var
4336        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4337    
4338        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4339    
4340    
4341        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4342            Node:= XMLDocument1.DocumentElement.ChildNodes[I];            Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4343            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
# Line 4158  var Line 4345  var
4345                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4346                  stregkode := Node.NodeValue;                  stregkode := Node.NodeValue;
4347                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4348              end;              end
4349              if Node.NodeName = 'ModtagerNavn' then begin              else if Node.NodeName = 'ModtagerNavn' then begin
4350                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4351                  modtagernavn := Node.NodeValue;                  modtagernavn := Node.NodeValue;
4352                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4353              end;              end
4354              if Node.NodeName = 'ModtagerAdresse' then begin              else if Node.NodeName = 'ModtagerAdresse' then begin
4355                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4356                  modtageradresse := Node.NodeValue;                  modtageradresse := Node.NodeValue;
4357                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4358              end;              end
4359              if Node.NodeName = 'Kommentar' then begin              else if Node.NodeName = 'Kommentar' then begin
4360                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4361                  kommentar := Node.NodeValue;                  kommentar := Node.NodeValue;
4362                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4363              end;              end
4364              if Node.NodeName = 'PakkeType' then begin              else if Node.NodeName = 'PakkeType' then begin
4365                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4366                  pakketype := Node.NodeValue;                  pakketype := Node.NodeValue;
4367                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4368                if (pakketyper.values[pakketype] <> '') then                if ( pakketyper.ContainsKey(pakketype) ) then
4369                  pakketyper.values[pakketype] := IntToStr(StrToInt(pakketyper.values[pakketype]) + 1)                begin
4370                    pakketyper.TryGetValue(pakketype, tmpAntal);
4371                    pakketyper.AddOrSetValue(pakketype, tmpAntal + 1);
4372                  end
4373                else                else
4374                  pakketyper.values[pakketype] := '1';                  pakketyper.Add(pakketype, 1);
4375              end;              end
4376              if Node.NodeName = 'TjekkodeStatus' then begin              else if Node.NodeName = 'TjekkodeStatus' then begin
4377                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4378                  tjekkodestatus := Node.NodeValue;                  tjekkodestatus := Node.NodeValue;
4379                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
# Line 4201  var Line 4391  var
4391                    linienr := linienr + 1;                    linienr := linienr + 1;
4392                  end;                  end;
4393              end;              end;
4394    
4395    
4396              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4397              begin              begin
4398                if (ScanningType = '1') then                if (ScanningType = '1') then
# Line 4216  var Line 4408  var
4408              end;              end;
4409            end;            end;
4410        end;        end;
       for pakketypeix := 0 to pakketyper.Count-1 do  
         begin  
           ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + ' '+pakketyper[pakketypeix]+' pakke(r) ikke modtaget');  
         end;  
4411    
4412          // Free up the list object  
4413          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4414    
4415    
4416          for pakketype in pakketyper.Keys do
4417          begin
4418            pakketyper.TryGetValue(pakketype, tmpAntal);
4419            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + pakketype + ' ' + IntToStr(tmpAntal) + ' pakke(r) ikke modtaget');
4420          end;
4421    
4422            // Free up the dictionary object
4423        pakketyper.Free;        pakketyper.Free;
4424    
4425    
4426    
4427  //      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Der er '+IntToStr(antlin)+' pakker, der endnu ikke er modtaget.');  //      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Der er '+IntToStr(antlin)+' pakker, der endnu ikke er modtaget.');
4428        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
4429        if (antlinSenere > 0) then        if (antlinSenere > 0) then
# Line 4664  begin Line 4865  begin
4865      KommentarST.Caption := strMessage;      KommentarST.Caption := strMessage;
4866    end;    end;
4867    
4868      Stregkode := ''; //Nulstil stregkode feltet efter at fejl er vist
4869    
4870  end;  end;
4871    
4872  function TMainForm.getProddato() : TDate;  function TMainForm.getProddato() : TDate;
# Line 4737  begin Line 4940  begin
4940  end;  end;
4941    
4942    
4943    //Nedarvet fra IParentForm
4944    procedure TMainForm.Msg( msg : string);
4945    begin
4946      ShowMessage(msg);
4947    end;
4948    
4949  //Nedarvet fra IParentForm  //Nedarvet fra IParentForm
4950  procedure TMainForm.LogMessage( msg : string);  procedure TMainForm.LogMessage( msg : string);

Legend:
Removed from v.2756  
changed lines
  Added in v.3046

  ViewVC Help
Powered by ViewVC 1.1.20