/[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 2705 by torben, Fri Sep 4 12:39:33 2015 UTC revision 3036 by torben, Mon May 23 13:03:49 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 104  type Line 105  type
105      PanelManglendePakker5: TPanel;      PanelManglendePakker5: TPanel;
106      PanelManglendePakker6: TPanel;      PanelManglendePakker6: TPanel;
107      menuIndlevering: TMenuItem;      menuIndlevering: TMenuItem;
108        chkForstorTilDirekte: TCheckBox;
109    
110    
111    
# Line 192  type Line 194  type
194    
195    
196    
   
197    //Nedarvet fra IParentForm    //Nedarvet fra IParentForm
198    procedure LogMessage( msg : string);    procedure LogMessage( msg : string);
199    procedure SetPrinterstatusText( txt: string; alert: boolean);    procedure SetPrinterstatusText( txt: string; alert: boolean);
# Line 205  type Line 206  type
206      SkrivLog : String;      SkrivLog : String;
207      Sted : String;      Sted : String;
208      StedNavn : String;      StedNavn : String;
209      Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel : String;      Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering,
210                UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,
211                UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel, URLOmdirigerTilPakkeshop : String;
212    
213      UrlEKLoverforselPakkeshop : String;      UrlEKLoverforselPakkeshop : String;
214    
# Line 213  type Line 216  type
216      Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;      Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;
217      ScanTjekkode : String;      ScanTjekkode : String;
218      ScanTjekkodeAutomatik : string;      ScanTjekkodeAutomatik : string;
219      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop, FarveIndlevering : String;  
220      Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop, TitelIndlevering : String;      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop,
221              FarveIndlevering : String;
222    
223        Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop,
224              TitelIndlevering : String;
225    
226      AlarmLyd : String;      AlarmLyd : String;
227      ScannetOkLyd : String;      ScannetOkLyd : String;
# Line 253  type Line 260  type
260      procedure SkrivScanningLogFil(var tekst : string);      procedure SkrivScanningLogFil(var tekst : string);
261      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;      function TjekKoreliste(var RuteNummer, Koreliste : string) : string;
262      procedure VisAlarmSkaerm(strMessage: string);      procedure VisAlarmSkaerm(strMessage: string);
263        function InjectURL(Url : String) : String;
264    
265    public    public
266      { Public declarations }      { Public declarations }
# Line 351  begin Line 359  begin
359        else if (Sted = 'BR') then        else if (Sted = 'BR') then
360          begin StedNavn := 'Brøndby: '; end          begin StedNavn := 'Brøndby: '; end
361        else if (Sted = 'BK') then        else if (Sted = 'BK') then
362          begin StedNavn := 'Bladkompagniet: '; end          begin StedNavn := 'Bladkompagniet/ISV: '; end
363          else if (Sted = 'TK') then
364            begin StedNavn := 'BK/Trykkompagniet: '; end
365        else if (Sted = 'DBK') then        else if (Sted = 'DBK') then
366          begin StedNavn := 'DBK Køge: '; end          begin StedNavn := 'DBK/Køge: '; end
367        else if (Sted = '1') then        else if (Sted = '1') then
368          begin StedNavn := 'Ålborg: '; end          begin StedNavn := 'Ålborg: '; end
369        else if (Sted = '2') then        else if (Sted = '2') then
# Line 494  begin Line 504  begin
504       PanelValgA.Font.Color := clWhite;       PanelValgA.Font.Color := clWhite;
505  end;  end;
506    
507    function TMainForm.InjectURL(Url : String) : String;
508    begin
509    
510      Url := Url + '&ver=' + TUtils.URLEncode( TUtils.Sto_GetFmtFileVersion(''));
511      Url := Url + '&host=' + TUtils.URLEncode( TUtils.GetComputerNameHelper());
512      Url := Url + '&user=' + TUtils.URLEncode( TUtils.GetCurrentUserName());
513    
514      Result := Url;
515    end;
516    
517  //InitForm kaldes før FormCreate  //InitForm kaldes før FormCreate
518  procedure TMainForm.FormCreate(Sender: TObject);  procedure TMainForm.FormCreate(Sender: TObject);
# Line 544  begin Line 563  begin
563      SkrivLog := ReadString('Settings','SkrivLog','0');      SkrivLog := ReadString('Settings','SkrivLog','0');
564      Sted := ReadString('Settings','Sted','');      Sted := ReadString('Settings','Sted','');
565      StedNavn := ReadString('Settings','Stednavn','');      StedNavn := ReadString('Settings','Stednavn','');
566    
567      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');
568        UrlFindPakketype := InjectURL(UrlFindPakketype);
569    
570      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');
571        UrlSendPrograminfo := InjectURL(UrlSendPrograminfo);
572    
573      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');
574        UrlNormal := InjectURL(UrlNormal);
575    
576      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');
577        UrlReturDAO := InjectURL(UrlReturDAO);
578    
579      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');
580        UrlReturBoghandler := InjectURL(UrlReturBoghandler);
581    
582      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');
583        UrlBudlevering := InjectURL(UrlBudlevering);
584    
585      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');
586        UrlManglendeScanninger := InjectURL(UrlManglendeScanninger);
587    
588      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');
589        UrlEKLoverforsel := InjectURL(UrlEKLoverforsel);
590    
591      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');
592        UrlEKLoverforselPakkeshop := InjectURL(UrlEKLoverforselPakkeshop);
593    
594      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');
595        UrlPakkeshoplevering := InjectURL(UrlPakkeshoplevering);
596    
597      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');
598        UrlReturPakkeshop := InjectURL(UrlReturPakkeshop);
599    
600      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');
601      UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');      UrlPakkeshopManglendeScanninger := InjectURL(UrlPakkeshopManglendeScanninger);
602    
603        UrlPakkeshopManglendeReturScanninger := ReadString('Settings','UrlPakkeshopManglendeReturScanninger','http://omdeling.info/webservices/pakkeshop/pakkemanglendereturscanninger.php?sted=%s');
604        UrlPakkeshopManglendeReturScanninger := InjectURL(UrlPakkeshopManglendeReturScanninger);
605    
606      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');
607        UrlIndleveringsPakke := InjectURL(UrlIndleveringsPakke);
608    
609      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');
610        UrlIndleveringsPakkeManglendeScanninger := InjectURL(UrlIndleveringsPakkeManglendeScanninger);
611    
612        URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');
613        URLOmdirigerTilPakkeshop := InjectURL(URLOmdirigerTilPakkeshop);
614    
615    
616    
# Line 680  begin Line 728  begin
728  {$IfDef STED_BK}  {$IfDef STED_BK}
729      SpecialVersionSted := 'BK';      SpecialVersionSted := 'BK';
730  {$EndIf}  {$EndIf}
731    {$IfDef STED_TK}
732        SpecialVersionSted := 'TK';// BK-Trykkompagniet
733    {$EndIf}
734  {$IfDef STED_DBK}  {$IfDef STED_DBK}
735      SpecialVersionSted := 'DBK';      SpecialVersionSted := 'DBK';
736  {$EndIf}  {$EndIf}
# Line 711  begin Line 762  begin
762         SpecialVersionSted := '01';         SpecialVersionSted := '01';
763         SpecialVersionScanningtype := '4';         SpecialVersionScanningtype := '4';
764      end;      end;
765    
766      if SpecialVersionSted = 'FD' then      if SpecialVersionSted = 'FD' then
767      begin      begin
768         SpecialVersionSted := '03';         //SpecialVersionSted := '03'; //fra før at FD overtog scanning
769         SpecialVersionScanningtype := '4';         //SpecialVersionScanningtype := '4';
770    
771    
772          //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
773          Sted := SpecialVersionSted;
774         // her skal vi også disable de knapper BK ikke kan bruge
775          PanelValg2.Enabled := false;
776          PanelValg2.Font.Color := clInactiveCaption;
777          PanelValg3.Enabled := false;
778          PanelValg3.Font.Color := clInactiveCaption;
779          //PanelValg6.Enabled := false;
780          //PanelValg6.Font.Color := clInactiveCaption;
781    
782         // her skal vi også disable de menupunkter FD ikke kan bruge
783          ReturpakkerfraDAO1.Enabled := false;
784          Returpakkerfraboghandler1.Enabled := false;
785    
786          //Returpakkerfrapakkeshop1.Enabled := false;
787    
788      end;      end;
789    
790      if SpecialVersionSted = 'BK' then      if (SpecialVersionSted = 'BK') OR (SpecialVersionSted = 'TK') then
791      begin      begin
792        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
793        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
# Line 726  begin Line 796  begin
796        PanelValg2.Font.Color := clInactiveCaption;        PanelValg2.Font.Color := clInactiveCaption;
797        PanelValg3.Enabled := false;        PanelValg3.Enabled := false;
798        PanelValg3.Font.Color := clInactiveCaption;        PanelValg3.Font.Color := clInactiveCaption;
799        PanelValg6.Enabled := false;        //PanelValg6.Enabled := false;
800        PanelValg6.Font.Color := clInactiveCaption;        //PanelValg6.Font.Color := clInactiveCaption;
801    
802       // her skal vi også disable de menupunkter BK ikke kan bruge       // her skal vi også disable de menupunkter BK ikke kan bruge
803        ReturpakkerfraDAO1.Enabled := false;        ReturpakkerfraDAO1.Enabled := false;
804        Returpakkerfraboghandler1.Enabled := false;        Returpakkerfraboghandler1.Enabled := false;
805        Returpakkerfrapakkeshop1.Enabled := false;  
806          //Returpakkerfrapakkeshop1.Enabled := false;
807    
808        if SpecialVersionScanningtype = 'A' then        if SpecialVersionScanningtype = 'A' then
809        begin        begin
810           Scanningtype := '1';           Scanningtype := '1';
# Line 755  begin Line 828  begin
828        PanelValg5.Font.Color := clInactiveCaption;        PanelValg5.Font.Color := clInactiveCaption;
829        PanelValg6.Enabled := false;        PanelValg6.Enabled := false;
830        PanelValg6.Font.Color := clInactiveCaption;        PanelValg6.Font.Color := clInactiveCaption;
831        PanelValg7.Enabled := false;  
       PanelValg7.Font.Color := clInactiveCaption;  
832    
833       // her skal vi også disable de menupunkter DBK ikke kan bruge       // her skal vi også disable de menupunkter DBK ikke kan bruge
834        ReturpakkerfraDAO1.Enabled := false;        ReturpakkerfraDAO1.Enabled := false;
# Line 1113  begin Line 1185  begin
1185      or (NumberString = 'Retur fra kunde')      or (NumberString = 'Retur fra kunde')
1186      or (NumberString = 'DAO DIREKTE')      or (NumberString = 'DAO DIREKTE')
1187      or (NumberString = 'DAO PAKKESHOP')      or (NumberString = 'DAO PAKKESHOP')
1188        or (NumberString = 'DAO PAKKESHOP')
1189        or (LowerCase(NumberString) = 'for stor hjemmelevering' )
1190            or (LowerCase(NumberString) = 'for stor daodirekte' )
1191      or (NumberString = 'Retur fra pakkeshop') then      or (NumberString = 'Retur fra pakkeshop') then
1192    
1193      begin      begin
# Line 1123  begin Line 1198  begin
1198      begin      begin
1199        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');
1200      end;      end;
1201    end;    end;  // Slut ctrl-v
1202    
1203    if Key = #13 then     // Enter    if Key = #13 then     // Enter
1204    begin    begin
1205      if (Length(Trim(Stregkode)) = 0) then  
1206        // Sikre at den er trimmet inden vi går videre - DBK kan finde på at encode et space i enden af deres barcodes
1207        Stregkode := Trim(Stregkode);
1208    
1209        if (Length(Stregkode) = 0) then
1210      begin      begin
1211        VisAlarmSkaerm( 'Der skal scannes en stregkode...' );        VisAlarmSkaerm( 'Der skal scannes en stregkode...' );
1212    
# Line 1177  begin Line 1256  begin
1256         exit;         exit;
1257      end;      end;
1258    
1259        if (LowerCase(StregKode) = 'for stor hjemmelevering') OR (LowerCase(StregKode) = 'for stor daodirekte') then
1260        begin
1261          if chkForstorTilDirekte.Enabled then
1262          begin
1263            chkForstorTilDirekte.Checked := true;
1264          end
1265          else
1266          begin
1267             VisAlarmSkaerm( Stregkode + ' kan ikke vælges på denne scannings tilstand' );
1268          end;
1269          Stregkode := '';
1270          StregkodeST.Caption := StregKode;
1271          exit;
1272        end;
1273    
1274    
1275      if StregKode = 'Indtast kundenummer' then      if StregKode = 'Indtast kundenummer' then
1276      begin      begin
1277         if chkSporgEfterKunde.Enabled = true then         if chkSporgEfterKunde.Enabled = true then
# Line 1374  begin Line 1469  begin
1469        Pakkescanningtype := Scanningtype;        Pakkescanningtype := Scanningtype;
1470      end;      end;
1471    
1472      if (   (Pakkescanningtype = '1') and (PanelValg1.Enabled = false)      if (   ( (Pakkescanningtype = '1') and (PanelValg1.Enabled = false) )
1473          or (Pakkescanningtype = '2') and (PanelValg2.Enabled = false)          or ( (Pakkescanningtype = '2') and (PanelValg2.Enabled = false) )
1474          or (Pakkescanningtype = '3') and (PanelValg3.Enabled = false)          or ( (Pakkescanningtype = '3') and (PanelValg3.Enabled = false) )
1475          or (Pakkescanningtype = '4') and (PanelValg4.Enabled = false)          or ( (Pakkescanningtype = '4') and (PanelValg4.Enabled = false) )
1476          or (Pakkescanningtype = '5') and (PanelValg5.Enabled = false)          or ( (Pakkescanningtype = '5') and (PanelValg5.Enabled = false) )
1477          or (Pakkescanningtype = '6') and (PanelValg6.Enabled = false)  ) then          or ( (Pakkescanningtype = '6') and (PanelValg6.Enabled = false) ) ) then
1478      begin   // Her skal komme en alarm og rød skærm      begin   // Her skal komme en alarm og rød skærm
1479          VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );          VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
1480    
1481         exit;         exit;
1482      end;      end;
1483    
1484      if Automatiskvalg1.Checked and (Length(Stregkode) > 8) then      if (Automatiskvalg1.Checked and (Length(Stregkode) > 8) ) then
1485      begin      begin
1486        GemStregkode := Stregkode;        GemStregkode := Stregkode;
1487        if Pakketype = 'NatXpress' then        if Pakketype = 'NatXpress' then
# Line 1420  begin Line 1515  begin
1515        else        else
1516            begin            begin
1517            // Her skal komme en alarm og rød skærm            // Her skal komme en alarm og rød skærm
1518              VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );              //VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
1519                 VisAlarmSkaerm( Stregkode + ' kan ikke bruges med automatisk valg' );
1520    
1521               exit;               exit;
1522            end;            end;
# Line 1656  begin Line 1752  begin
1752    
1753    Key := #0;    Key := #0;
1754    
1755    
1756    
1757    
1758    
1759    
1760  end; //End of OnKeyPress  end; //End of OnKeyPress
1761    
1762    
1763    
1764  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);
1765  const  const
1766    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
# Line 1987  begin Line 2090  begin
2090    begin    begin
2091      exit;      exit;
2092    end;    end;
2093    
2094      if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er
2095      begin
2096        URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
2097      end;
2098    
2099    try    try
2100      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
2101      WebSvar := IdHTTP1.Get(URLStr);      WebSvar := IdHTTP1.Get(URLStr);
# Line 2008  begin Line 2117  begin
2117          end;          end;
2118      end;      end;
2119    end;    end;
2120    
2121    XMLDocument1.LoadFromXML(WebSvar);    XMLDocument1.LoadFromXML(WebSvar);
2122    try    try
2123      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then
# Line 2031  begin Line 2141  begin
2141          end;          end;
2142        end;        end;
2143       end       end
2144      else if menuIndlevering.Checked then      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then
2145      begin      begin
2146    
2147    
# Line 2046  begin Line 2156  begin
2156         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2157    
2158         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );
2159           chkForstorTilDirekte.Checked := false;
2160    
2161       end;       end;
2162    
# Line 3082  begin Line 3193  begin
3193        BtnEKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3194        InitLillePakke();        InitLillePakke();
3195        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3196    
3197          chkForstorTilDirekte.Checked := false;
3198          chkForstorTilDirekte.Enabled := false;
3199    
3200        if BladhusSted = 0 then        if BladhusSted = 0 then
3201        begin        begin
3202          IndlesScanningLogFil();          IndlesScanningLogFil();
# Line 3113  begin Line 3228  begin
3228        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3229        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3230        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3231    
3232          chkForstorTilDirekte.Checked := false;
3233          chkForstorTilDirekte.Enabled := false;
3234    
3235        InitLillePakke();        InitLillePakke();
3236  end;  end;
3237    
# Line 3139  begin Line 3258  begin
3258        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3259        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3260        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3261    
3262          chkForstorTilDirekte.Checked := false;
3263          chkForstorTilDirekte.Enabled := false;
3264    
3265        InitLillePakke();        InitLillePakke();
3266  end;  end;
3267    
# Line 3170  begin Line 3293  begin
3293        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3294        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3295        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3296    
3297          chkForstorTilDirekte.Checked := false;
3298          chkForstorTilDirekte.Enabled := true;
3299    
3300        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3301        begin        begin
3302            IndlesScanningLogFil();            IndlesScanningLogFil();
# Line 3205  begin Line 3332  begin
3332    
3333        BtnEKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3334    
3335          chkForstorTilDirekte.Checked := false;
3336          chkForstorTilDirekte.Enabled := true;
3337    
3338        InitLillePakke();        InitLillePakke();
3339        IndlesScanningLogFil();        IndlesScanningLogFil();
3340        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3240  begin Line 3370  begin
3370        BtnDownloadKontrolfil.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3371        BtnOpdaterListen.Enabled := true;        BtnOpdaterListen.Enabled := true;
3372        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3373    
3374          chkForstorTilDirekte.Checked := false;
3375          chkForstorTilDirekte.Enabled := false;
3376    
3377    
3378        InitLillePakke();        InitLillePakke();
3379        IndlesScanningLogFil();        IndlesScanningLogFil();
3380        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3287  begin Line 3422  begin
3422        BtnDownloadKontrolfil.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3423        BtnOpdaterListen.Enabled := true;        BtnOpdaterListen.Enabled := true;
3424        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3425    
3426          chkForstorTilDirekte.Checked := false;
3427          chkForstorTilDirekte.Enabled := false;
3428    
3429    
3430        InitLillePakke();        InitLillePakke();
3431        IndlesScanningLogFil();        IndlesScanningLogFil();
3432        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 4030  var Line 4170  var
4170    stregkode, modtagernavn, modtageradresse, kommentar : string;    stregkode, modtagernavn, modtageradresse, kommentar : string;
4171    pakketype, tjekkodestatus : String;    pakketype, tjekkodestatus : String;
4172    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;
4173    pakketyper : TStrings;    //pakketyper : TStrings;
4174      pakketyper : TDictionary<String, Integer>;
4175      tmpAntal : Integer;
4176    
4177    
4178    
4179    antlin : Integer;    antlin : Integer;
4180    
4181    antlinIdag, antlinSenere : Integer;    antlinIdag, antlinSenere : Integer;
4182    
4183    XmlFelter : TStrings;    //XmlFelter : TStrings;
4184      XmlFelter : TDictionary<String, Integer>;
4185    
4186   begin   begin
4187      XmlFelter := TStringList.Create;  
4188      pakketyper := TStringList.Create;  
4189        XmlFelter := TDictionary<String, Integer>.Create;
4190        pakketyper := TDictionary<String, Integer>.Create;
4191    
4192      linienr := 0;      linienr := 0;
4193      ListBox2.Clear;      ListBox2.Clear;
4194      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 4054  var Line 4203  var
4203          StedKode := Sted;          StedKode := Sted;
4204        end;        end;
4205    
4206          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4207    
4208    
4209    
4210      if (Scanningtype = '7') then      if (Scanningtype = '7') then
# Line 4113  var Line 4264  var
4264            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
4265              if Node.NodeName = 'Stregkode' then              if Node.NodeName = 'Stregkode' then
4266              begin              begin
4267                 antlin := antlin + 1;                 Inc(antlin);
4268                 // 20150306: start                 // 20150306: start
4269                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4270                begin                begin
4271                   if (pos('(', Node.NodeValue) = 0) then                   if (pos('(', Node.NodeValue) = 0) then
4272                   begin                   begin
4273                     antlinIdag := antlinIdag + 1;                     Inc(antlinIdag);
4274                   end                   end
4275                   else                   else
4276                   begin                   begin
4277                     antlinSenere := antlinSenere + 1;                     Inc(antlinSenere);
4278                   end;                   end;
4279                end;                end;
4280                 // 20150306: slut                 // 20150306: slut
4281              end;              end;
4282            end;            end;
4283            if (XmlFelter.values[Node.NodeName] <> '') then            if ( XmlFelter.ContainsKey(Node.NodeName) ) then
4284                  XmlFelter.values[Node.NodeName] := IntToStr(StrToInt(XmlFelter.values[Node.NodeName]) + 1)                begin
4285                    XmlFelter.TryGetValue(Node.NodeName, tmpAntal);
4286                    XmlFelter.AddOrSetValue(Node.NodeName, tmpAntal + 1);
4287                  end
4288                else                else
4289                  XmlFelter.values[Node.NodeName] := '1';                begin
4290                    XmlFelter.Add(Node.NodeName, 1);
4291                  end;
4292    
4293        end;        end;
4294        antalLiniefelter := XmlFelter.Count;        antalLiniefelter := XmlFelter.Count;
# Line 4140  var Line 4296  var
4296        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug
4297        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array
4298    
4299    
4300          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4301    
4302        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
4303        if (antlinSenere > 0) then        if (antlinSenere > 0) then
4304        begin        begin
# Line 4148  var Line 4307  var
4307        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4308    
4309        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4310    
4311    
4312        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4313            Node:= XMLDocument1.DocumentElement.ChildNodes[I];            Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4314            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
# Line 4155  var Line 4316  var
4316                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4317                  stregkode := Node.NodeValue;                  stregkode := Node.NodeValue;
4318                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4319              end;              end
4320              if Node.NodeName = 'ModtagerNavn' then begin              else if Node.NodeName = 'ModtagerNavn' then begin
4321                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4322                  modtagernavn := Node.NodeValue;                  modtagernavn := Node.NodeValue;
4323                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4324              end;              end
4325              if Node.NodeName = 'ModtagerAdresse' then begin              else if Node.NodeName = 'ModtagerAdresse' then begin
4326                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4327                  modtageradresse := Node.NodeValue;                  modtageradresse := Node.NodeValue;
4328                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4329              end;              end
4330              if Node.NodeName = 'Kommentar' then begin              else if Node.NodeName = 'Kommentar' then begin
4331                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4332                  kommentar := Node.NodeValue;                  kommentar := Node.NodeValue;
4333                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4334              end;              end
4335              if Node.NodeName = 'PakkeType' then begin              else if Node.NodeName = 'PakkeType' then begin
4336                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4337                  pakketype := Node.NodeValue;                  pakketype := Node.NodeValue;
4338                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4339                if (pakketyper.values[pakketype] <> '') then                if ( pakketyper.ContainsKey(pakketype) ) then
4340                  pakketyper.values[pakketype] := IntToStr(StrToInt(pakketyper.values[pakketype]) + 1)                begin
4341                    pakketyper.TryGetValue(pakketype, tmpAntal);
4342                    pakketyper.AddOrSetValue(pakketype, tmpAntal + 1);
4343                  end
4344                else                else
4345                  pakketyper.values[pakketype] := '1';                  pakketyper.Add(pakketype, 1);
4346              end;              end
4347              if Node.NodeName = 'TjekkodeStatus' then begin              else if Node.NodeName = 'TjekkodeStatus' then begin
4348                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4349                  tjekkodestatus := Node.NodeValue;                  tjekkodestatus := Node.NodeValue;
4350                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
# Line 4198  var Line 4362  var
4362                    linienr := linienr + 1;                    linienr := linienr + 1;
4363                  end;                  end;
4364              end;              end;
4365    
4366    
4367              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4368              begin              begin
4369                if (ScanningType = '1') then                if (ScanningType = '1') then
# Line 4213  var Line 4379  var
4379              end;              end;
4380            end;            end;
4381        end;        end;
       for pakketypeix := 0 to pakketyper.Count-1 do  
         begin  
           ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + ' '+pakketyper[pakketypeix]+' pakke(r) ikke modtaget');  
         end;  
4382    
4383          // Free up the list object  
4384          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4385    
4386    
4387          for pakketype in pakketyper.Keys do
4388          begin
4389            pakketyper.TryGetValue(pakketype, tmpAntal);
4390            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + pakketype + ' ' + IntToStr(tmpAntal) + ' pakke(r) ikke modtaget');
4391          end;
4392    
4393            // Free up the dictionary object
4394        pakketyper.Free;        pakketyper.Free;
4395    
4396    
4397    
4398  //      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.');
4399        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
4400        if (antlinSenere > 0) then        if (antlinSenere > 0) then
# Line 4661  begin Line 4836  begin
4836      KommentarST.Caption := strMessage;      KommentarST.Caption := strMessage;
4837    end;    end;
4838    
4839      Stregkode := ''; //Nulstil stregkode feltet efter at fejl er vist
4840    
4841  end;  end;
4842    
4843  function TMainForm.getProddato() : TDate;  function TMainForm.getProddato() : TDate;

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

  ViewVC Help
Powered by ViewVC 1.1.20