/[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 2780 by torben, Tue Nov 24 15:35:17 2015 UTC revision 3039 by torben, Wed Jun 1 13:25:34 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 711  begin Line 765  begin
765         SpecialVersionSted := '01';         SpecialVersionSted := '01';
766         SpecialVersionScanningtype := '4';         SpecialVersionScanningtype := '4';
767      end;      end;
768    
769      if SpecialVersionSted = 'FD' then      if SpecialVersionSted = 'FD' then
770      begin      begin
771         SpecialVersionSted := '03';         //SpecialVersionSted := '03'; //fra før at FD overtog scanning
772         SpecialVersionScanningtype := '4';         //SpecialVersionScanningtype := '4';
773    
774    
775          //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
776          Sted := SpecialVersionSted;
777         // her skal vi også disable de knapper BK ikke kan bruge
778          PanelValg2.Enabled := false;
779          PanelValg2.Font.Color := clInactiveCaption;
780          PanelValg3.Enabled := false;
781          PanelValg3.Font.Color := clInactiveCaption;
782          //PanelValg6.Enabled := false;
783          //PanelValg6.Font.Color := clInactiveCaption;
784    
785         // her skal vi også disable de menupunkter FD ikke kan bruge
786          ReturpakkerfraDAO1.Enabled := false;
787          Returpakkerfraboghandler1.Enabled := false;
788    
789          //Returpakkerfrapakkeshop1.Enabled := false;
790    
791      end;      end;
792    
793      if SpecialVersionSted = 'BK' then      if (SpecialVersionSted = 'BK') OR (SpecialVersionSted = 'TK') then
794      begin      begin
795        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
796        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
# Line 758  begin Line 831  begin
831        PanelValg5.Font.Color := clInactiveCaption;        PanelValg5.Font.Color := clInactiveCaption;
832        PanelValg6.Enabled := false;        PanelValg6.Enabled := false;
833        PanelValg6.Font.Color := clInactiveCaption;        PanelValg6.Font.Color := clInactiveCaption;
834        PanelValg7.Enabled := false;  
       PanelValg7.Font.Color := clInactiveCaption;  
835    
836       // her skal vi også disable de menupunkter DBK ikke kan bruge       // her skal vi også disable de menupunkter DBK ikke kan bruge
837        ReturpakkerfraDAO1.Enabled := false;        ReturpakkerfraDAO1.Enabled := false;
# Line 1116  begin Line 1188  begin
1188      or (NumberString = 'Retur fra kunde')      or (NumberString = 'Retur fra kunde')
1189      or (NumberString = 'DAO DIREKTE')      or (NumberString = 'DAO DIREKTE')
1190      or (NumberString = 'DAO PAKKESHOP')      or (NumberString = 'DAO PAKKESHOP')
1191        or (NumberString = 'DAO PAKKESHOP')
1192        or (LowerCase(NumberString) = 'for stor hjemmelevering' )
1193            or (LowerCase(NumberString) = 'for stor daodirekte' )
1194      or (NumberString = 'Retur fra pakkeshop') then      or (NumberString = 'Retur fra pakkeshop') then
1195    
1196      begin      begin
# Line 1126  begin Line 1201  begin
1201      begin      begin
1202        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');
1203      end;      end;
1204    end;    end;  // Slut ctrl-v
1205    
1206    if Key = #13 then     // Enter    if Key = #13 then     // Enter
1207    begin    begin
1208      if (Length(Trim(Stregkode)) = 0) then  
1209        // Sikre at den er trimmet inden vi går videre - DBK kan finde på at encode et space i enden af deres barcodes
1210        Stregkode := Trim(Stregkode);
1211    
1212        if (Length(Stregkode) = 0) then
1213      begin      begin
1214        VisAlarmSkaerm( 'Der skal scannes en stregkode...' );        VisAlarmSkaerm( 'Der skal scannes en stregkode...' );
1215    
# Line 1180  begin Line 1259  begin
1259         exit;         exit;
1260      end;      end;
1261    
1262        if (LowerCase(StregKode) = 'for stor hjemmelevering') OR (LowerCase(StregKode) = 'for stor daodirekte') then
1263        begin
1264          if chkForstorTilDirekte.Enabled then
1265          begin
1266            chkForstorTilDirekte.Checked := true;
1267          end
1268          else
1269          begin
1270             VisAlarmSkaerm( Stregkode + ' kan ikke vælges på denne scannings tilstand' );
1271          end;
1272          Stregkode := '';
1273          StregkodeST.Caption := StregKode;
1274          exit;
1275        end;
1276    
1277    
1278      if StregKode = 'Indtast kundenummer' then      if StregKode = 'Indtast kundenummer' then
1279      begin      begin
1280         if chkSporgEfterKunde.Enabled = true then         if chkSporgEfterKunde.Enabled = true then
# Line 1418  begin Line 1513  begin
1513                InitPakkeshoplevering();                InitPakkeshoplevering();
1514              end;              end;
1515            end            end
1516        // Retur kan ikke scannes med 'Automatisk valg'       else if Pakketype = 'PakkeshopRetur' then
1517              begin
1518                if Scanningtype <> '6' then
1519                begin
1520                 VisAlarmSkaerm( Stregkode + ' Pakkeshop retur,'#13#10' kan ikke bruges med automatisk valg' );
1521    
1522                 exit;
1523                end;
1524              end
1525    
1526    
1527        else        else
1528            begin            begin
# Line 1660  begin Line 1764  begin
1764    
1765    Key := #0;    Key := #0;
1766    
1767    
1768    
1769    
1770    
1771    
1772  end; //End of OnKeyPress  end; //End of OnKeyPress
1773    
1774    
1775    
1776  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);
1777  const  const
1778    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
# Line 1991  begin Line 2102  begin
2102    begin    begin
2103      exit;      exit;
2104    end;    end;
2105    
2106      if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er
2107      begin
2108        URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
2109      end;
2110    
2111    try    try
2112      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
2113      WebSvar := IdHTTP1.Get(URLStr);      WebSvar := IdHTTP1.Get(URLStr);
# Line 2012  begin Line 2129  begin
2129          end;          end;
2130      end;      end;
2131    end;    end;
2132    
2133    XMLDocument1.LoadFromXML(WebSvar);    XMLDocument1.LoadFromXML(WebSvar);
2134    try    try
2135      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then
# Line 2035  begin Line 2153  begin
2153          end;          end;
2154        end;        end;
2155       end       end
2156      else if menuIndlevering.Checked then      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then
2157      begin      begin
2158    
2159    
# Line 2050  begin Line 2168  begin
2168         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2169    
2170         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );
2171           chkForstorTilDirekte.Checked := false;
2172    
2173       end;       end;
2174    
# Line 2862  begin Line 2981  begin
2981      SmsKode := '999999';      SmsKode := '999999';
2982      DBKbane := '999';      DBKbane := '999';
2983      Leveringssted := 'XXX';      Leveringssted := 'XXX';
2984      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      LabelPrint.TestZpl();
2985        //PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2986      LabelPrint.CheckPrintQue('Test', PrinterNavn);      LabelPrint.CheckPrintQue('Test', PrinterNavn);
2987    end;    end;
2988    FocusControl(StregkodeST);    FocusControl(StregkodeST);
# Line 2933  begin Line 3053  begin
3053    
3054  end;  end;
3055    
3056    
3057  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;  procedure TMainForm.ListBox1DrawItem(Control: TWinControl; Index: Integer;
3058    Rect: TRect; State: TOwnerDrawState);    Rect: TRect; State: TOwnerDrawState);
3059  var  var
# Line 3086  begin Line 3207  begin
3207        BtnEKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3208        InitLillePakke();        InitLillePakke();
3209        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3210    
3211          chkForstorTilDirekte.Checked := false;
3212          chkForstorTilDirekte.Enabled := false;
3213    
3214        if BladhusSted = 0 then        if BladhusSted = 0 then
3215        begin        begin
3216          IndlesScanningLogFil();          IndlesScanningLogFil();
# Line 3117  begin Line 3242  begin
3242        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3243        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3244        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3245    
3246          chkForstorTilDirekte.Checked := false;
3247          chkForstorTilDirekte.Enabled := false;
3248    
3249        InitLillePakke();        InitLillePakke();
3250  end;  end;
3251    
# Line 3143  begin Line 3272  begin
3272        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3273        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3274        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3275    
3276          chkForstorTilDirekte.Checked := false;
3277          chkForstorTilDirekte.Enabled := false;
3278    
3279        InitLillePakke();        InitLillePakke();
3280  end;  end;
3281    
# Line 3174  begin Line 3307  begin
3307        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3308        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3309        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3310    
3311          chkForstorTilDirekte.Checked := false;
3312          chkForstorTilDirekte.Enabled := true;
3313    
3314        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3315        begin        begin
3316            IndlesScanningLogFil();            IndlesScanningLogFil();
# Line 3209  begin Line 3346  begin
3346    
3347        BtnEKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3348    
3349          chkForstorTilDirekte.Checked := false;
3350          chkForstorTilDirekte.Enabled := true;
3351    
3352        InitLillePakke();        InitLillePakke();
3353        IndlesScanningLogFil();        IndlesScanningLogFil();
3354        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3244  begin Line 3384  begin
3384        BtnDownloadKontrolfil.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3385        BtnOpdaterListen.Enabled := true;        BtnOpdaterListen.Enabled := true;
3386        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3387    
3388          chkForstorTilDirekte.Checked := false;
3389          chkForstorTilDirekte.Enabled := false;
3390    
3391    
3392        InitLillePakke();        InitLillePakke();
3393        IndlesScanningLogFil();        IndlesScanningLogFil();
3394        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3291  begin Line 3436  begin
3436        BtnDownloadKontrolfil.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3437        BtnOpdaterListen.Enabled := true;        BtnOpdaterListen.Enabled := true;
3438        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3439    
3440          chkForstorTilDirekte.Checked := false;
3441          chkForstorTilDirekte.Enabled := false;
3442    
3443    
3444        InitLillePakke();        InitLillePakke();
3445        IndlesScanningLogFil();        IndlesScanningLogFil();
3446        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 4034  var Line 4184  var
4184    stregkode, modtagernavn, modtageradresse, kommentar : string;    stregkode, modtagernavn, modtageradresse, kommentar : string;
4185    pakketype, tjekkodestatus : String;    pakketype, tjekkodestatus : String;
4186    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;
4187    pakketyper : TStrings;    //pakketyper : TStrings;
4188      pakketyper : TDictionary<String, Integer>;
4189      tmpAntal : Integer;
4190    
4191    
4192    
4193    antlin : Integer;    antlin : Integer;
4194    
4195    antlinIdag, antlinSenere : Integer;    antlinIdag, antlinSenere : Integer;
4196    
4197    XmlFelter : TStrings;    //XmlFelter : TStrings;
4198      XmlFelter : TDictionary<String, Integer>;
4199    
4200   begin   begin
4201      XmlFelter := TStringList.Create;  
4202      pakketyper := TStringList.Create;  
4203        XmlFelter := TDictionary<String, Integer>.Create;
4204        pakketyper := TDictionary<String, Integer>.Create;
4205    
4206      linienr := 0;      linienr := 0;
4207      ListBox2.Clear;      ListBox2.Clear;
4208      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 4058  var Line 4217  var
4217          StedKode := Sted;          StedKode := Sted;
4218        end;        end;
4219    
4220          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4221    
4222    
4223    
4224      if (Scanningtype = '7') then      if (Scanningtype = '7') then
# Line 4117  var Line 4278  var
4278            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
4279              if Node.NodeName = 'Stregkode' then              if Node.NodeName = 'Stregkode' then
4280              begin              begin
4281                 antlin := antlin + 1;                 Inc(antlin);
4282                 // 20150306: start                 // 20150306: start
4283                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4284                begin                begin
4285                   if (pos('(', Node.NodeValue) = 0) then                   if (pos('(', Node.NodeValue) = 0) then
4286                   begin                   begin
4287                     antlinIdag := antlinIdag + 1;                     Inc(antlinIdag);
4288                   end                   end
4289                   else                   else
4290                   begin                   begin
4291                     antlinSenere := antlinSenere + 1;                     Inc(antlinSenere);
4292                   end;                   end;
4293                end;                end;
4294                 // 20150306: slut                 // 20150306: slut
4295              end;              end;
4296            end;            end;
4297            if (XmlFelter.values[Node.NodeName] <> '') then            if ( XmlFelter.ContainsKey(Node.NodeName) ) then
4298                  XmlFelter.values[Node.NodeName] := IntToStr(StrToInt(XmlFelter.values[Node.NodeName]) + 1)                begin
4299                    XmlFelter.TryGetValue(Node.NodeName, tmpAntal);
4300                    XmlFelter.AddOrSetValue(Node.NodeName, tmpAntal + 1);
4301                  end
4302                else                else
4303                  XmlFelter.values[Node.NodeName] := '1';                begin
4304                    XmlFelter.Add(Node.NodeName, 1);
4305                  end;
4306    
4307        end;        end;
4308        antalLiniefelter := XmlFelter.Count;        antalLiniefelter := XmlFelter.Count;
# Line 4144  var Line 4310  var
4310        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug
4311        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array
4312    
4313    
4314          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4315    
4316        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
4317        if (antlinSenere > 0) then        if (antlinSenere > 0) then
4318        begin        begin
# Line 4152  var Line 4321  var
4321        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4322    
4323        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4324    
4325    
4326        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4327            Node:= XMLDocument1.DocumentElement.ChildNodes[I];            Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4328            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
# Line 4159  var Line 4330  var
4330                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4331                  stregkode := Node.NodeValue;                  stregkode := Node.NodeValue;
4332                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4333              end;              end
4334              if Node.NodeName = 'ModtagerNavn' then begin              else if Node.NodeName = 'ModtagerNavn' then begin
4335                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4336                  modtagernavn := Node.NodeValue;                  modtagernavn := Node.NodeValue;
4337                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4338              end;              end
4339              if Node.NodeName = 'ModtagerAdresse' then begin              else if Node.NodeName = 'ModtagerAdresse' then begin
4340                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4341                  modtageradresse := Node.NodeValue;                  modtageradresse := Node.NodeValue;
4342                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4343              end;              end
4344              if Node.NodeName = 'Kommentar' then begin              else if Node.NodeName = 'Kommentar' then begin
4345                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4346                  kommentar := Node.NodeValue;                  kommentar := Node.NodeValue;
4347                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4348              end;              end
4349              if Node.NodeName = 'PakkeType' then begin              else if Node.NodeName = 'PakkeType' then begin
4350                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4351                  pakketype := Node.NodeValue;                  pakketype := Node.NodeValue;
4352                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4353                if (pakketyper.values[pakketype] <> '') then                if ( pakketyper.ContainsKey(pakketype) ) then
4354                  pakketyper.values[pakketype] := IntToStr(StrToInt(pakketyper.values[pakketype]) + 1)                begin
4355                    pakketyper.TryGetValue(pakketype, tmpAntal);
4356                    pakketyper.AddOrSetValue(pakketype, tmpAntal + 1);
4357                  end
4358                else                else
4359                  pakketyper.values[pakketype] := '1';                  pakketyper.Add(pakketype, 1);
4360              end;              end
4361              if Node.NodeName = 'TjekkodeStatus' then begin              else if Node.NodeName = 'TjekkodeStatus' then begin
4362                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4363                  tjekkodestatus := Node.NodeValue;                  tjekkodestatus := Node.NodeValue;
4364                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
# Line 4202  var Line 4376  var
4376                    linienr := linienr + 1;                    linienr := linienr + 1;
4377                  end;                  end;
4378              end;              end;
4379    
4380    
4381              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4382              begin              begin
4383                if (ScanningType = '1') then                if (ScanningType = '1') then
# Line 4217  var Line 4393  var
4393              end;              end;
4394            end;            end;
4395        end;        end;
       for pakketypeix := 0 to pakketyper.Count-1 do  
         begin  
           ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + ' '+pakketyper[pakketypeix]+' pakke(r) ikke modtaget');  
         end;  
4396    
4397          // Free up the list object  
4398          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4399    
4400    
4401          for pakketype in pakketyper.Keys do
4402          begin
4403            pakketyper.TryGetValue(pakketype, tmpAntal);
4404            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + pakketype + ' ' + IntToStr(tmpAntal) + ' pakke(r) ikke modtaget');
4405          end;
4406    
4407            // Free up the dictionary object
4408        pakketyper.Free;        pakketyper.Free;
4409    
4410    
4411    
4412  //      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.');
4413        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
4414        if (antlinSenere > 0) then        if (antlinSenere > 0) then
# Line 4665  begin Line 4850  begin
4850      KommentarST.Caption := strMessage;      KommentarST.Caption := strMessage;
4851    end;    end;
4852    
4853      Stregkode := ''; //Nulstil stregkode feltet efter at fejl er vist
4854    
4855  end;  end;
4856    
4857  function TMainForm.getProddato() : TDate;  function TMainForm.getProddato() : TDate;
# Line 4738  begin Line 4925  begin
4925  end;  end;
4926    
4927    
4928    //Nedarvet fra IParentForm
4929    procedure TMainForm.Msg( msg : string);
4930    begin
4931      ShowMessage(msg);
4932    end;
4933    
4934  //Nedarvet fra IParentForm  //Nedarvet fra IParentForm
4935  procedure TMainForm.LogMessage( msg : string);  procedure TMainForm.LogMessage( msg : string);

Legend:
Removed from v.2780  
changed lines
  Added in v.3039

  ViewVC Help
Powered by ViewVC 1.1.20