/[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 2977 by torben, Tue Mar 15 13:44:38 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 351  begin Line 358  begin
358        else if (Sted = 'BR') then        else if (Sted = 'BR') then
359          begin StedNavn := 'Brøndby: '; end          begin StedNavn := 'Brøndby: '; end
360        else if (Sted = 'BK') then        else if (Sted = 'BK') then
361          begin StedNavn := 'Bladkompagniet: '; end          begin StedNavn := 'Bladkompagniet/ISV: '; end
362          else if (Sted = 'TK') then
363            begin StedNavn := 'BK/Trykkompagniet: '; end
364        else if (Sted = 'DBK') then        else if (Sted = 'DBK') then
365          begin StedNavn := 'DBK Køge: '; end          begin StedNavn := 'DBK/Køge: '; end
366        else if (Sted = '1') then        else if (Sted = '1') then
367          begin StedNavn := 'Ålborg: '; end          begin StedNavn := 'Ålborg: '; end
368        else if (Sted = '2') then        else if (Sted = '2') then
# Line 563  begin Line 572  begin
572    
573      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');
574      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');
575        URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');
576    
577    
578    
579    
# Line 680  begin Line 691  begin
691  {$IfDef STED_BK}  {$IfDef STED_BK}
692      SpecialVersionSted := 'BK';      SpecialVersionSted := 'BK';
693  {$EndIf}  {$EndIf}
694    {$IfDef STED_TK}
695        SpecialVersionSted := 'TK';// BK-Trykkompagniet
696    {$EndIf}
697  {$IfDef STED_DBK}  {$IfDef STED_DBK}
698      SpecialVersionSted := 'DBK';      SpecialVersionSted := 'DBK';
699  {$EndIf}  {$EndIf}
# Line 717  begin Line 731  begin
731         SpecialVersionScanningtype := '4';         SpecialVersionScanningtype := '4';
732      end;      end;
733    
734      if SpecialVersionSted = 'BK' then      if (SpecialVersionSted = 'BK') OR (SpecialVersionSted = 'TK') then
735      begin      begin
736        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
737        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
# Line 758  begin Line 772  begin
772        PanelValg5.Font.Color := clInactiveCaption;        PanelValg5.Font.Color := clInactiveCaption;
773        PanelValg6.Enabled := false;        PanelValg6.Enabled := false;
774        PanelValg6.Font.Color := clInactiveCaption;        PanelValg6.Font.Color := clInactiveCaption;
775        PanelValg7.Enabled := false;  
       PanelValg7.Font.Color := clInactiveCaption;  
776    
777       // her skal vi også disable de menupunkter DBK ikke kan bruge       // her skal vi også disable de menupunkter DBK ikke kan bruge
778        ReturpakkerfraDAO1.Enabled := false;        ReturpakkerfraDAO1.Enabled := false;
# Line 1116  begin Line 1129  begin
1129      or (NumberString = 'Retur fra kunde')      or (NumberString = 'Retur fra kunde')
1130      or (NumberString = 'DAO DIREKTE')      or (NumberString = 'DAO DIREKTE')
1131      or (NumberString = 'DAO PAKKESHOP')      or (NumberString = 'DAO PAKKESHOP')
1132        or (NumberString = 'DAO PAKKESHOP')
1133        or (LowerCase(NumberString) = 'for stor hjemmelevering' )
1134            or (LowerCase(NumberString) = 'for stor daodirekte' )
1135      or (NumberString = 'Retur fra pakkeshop') then      or (NumberString = 'Retur fra pakkeshop') then
1136    
1137      begin      begin
# Line 1126  begin Line 1142  begin
1142      begin      begin
1143        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');
1144      end;      end;
1145    end;    end;  // Slut ctrl-v
1146    
1147    if Key = #13 then     // Enter    if Key = #13 then     // Enter
1148    begin    begin
1149      if (Length(Trim(Stregkode)) = 0) then  
1150        // Sikre at den er trimmet inden vi går videre - DBK kan finde på at encode et space i enden af deres barcodes
1151        Stregkode := Trim(Stregkode);
1152    
1153        if (Length(Stregkode) = 0) then
1154      begin      begin
1155        VisAlarmSkaerm( 'Der skal scannes en stregkode...' );        VisAlarmSkaerm( 'Der skal scannes en stregkode...' );
1156    
# Line 1180  begin Line 1200  begin
1200         exit;         exit;
1201      end;      end;
1202    
1203        if (LowerCase(StregKode) = 'for stor hjemmelevering') OR (LowerCase(StregKode) = 'for stor daodirekte') then
1204        begin
1205          if chkForstorTilDirekte.Enabled then
1206          begin
1207            chkForstorTilDirekte.Checked := true;
1208          end
1209          else
1210          begin
1211             VisAlarmSkaerm( Stregkode + ' kan ikke vælges på denne scannings tilstand' );
1212          end;
1213          Stregkode := '';
1214          StregkodeST.Caption := StregKode;
1215          exit;
1216        end;
1217    
1218    
1219      if StregKode = 'Indtast kundenummer' then      if StregKode = 'Indtast kundenummer' then
1220      begin      begin
1221         if chkSporgEfterKunde.Enabled = true then         if chkSporgEfterKunde.Enabled = true then
# Line 1377  begin Line 1413  begin
1413        Pakkescanningtype := Scanningtype;        Pakkescanningtype := Scanningtype;
1414      end;      end;
1415    
1416      if (   (Pakkescanningtype = '1') and (PanelValg1.Enabled = false)      if (   ( (Pakkescanningtype = '1') and (PanelValg1.Enabled = false) )
1417          or (Pakkescanningtype = '2') and (PanelValg2.Enabled = false)          or ( (Pakkescanningtype = '2') and (PanelValg2.Enabled = false) )
1418          or (Pakkescanningtype = '3') and (PanelValg3.Enabled = false)          or ( (Pakkescanningtype = '3') and (PanelValg3.Enabled = false) )
1419          or (Pakkescanningtype = '4') and (PanelValg4.Enabled = false)          or ( (Pakkescanningtype = '4') and (PanelValg4.Enabled = false) )
1420          or (Pakkescanningtype = '5') and (PanelValg5.Enabled = false)          or ( (Pakkescanningtype = '5') and (PanelValg5.Enabled = false) )
1421          or (Pakkescanningtype = '6') and (PanelValg6.Enabled = false)  ) then          or ( (Pakkescanningtype = '6') and (PanelValg6.Enabled = false) ) ) then
1422      begin   // Her skal komme en alarm og rød skærm      begin   // Her skal komme en alarm og rød skærm
1423          VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );          VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
1424    
1425         exit;         exit;
1426      end;      end;
1427    
1428      if Automatiskvalg1.Checked and (Length(Stregkode) > 8) then      if (Automatiskvalg1.Checked and (Length(Stregkode) > 8) ) then
1429      begin      begin
1430        GemStregkode := Stregkode;        GemStregkode := Stregkode;
1431        if Pakketype = 'NatXpress' then        if Pakketype = 'NatXpress' then
# Line 1423  begin Line 1459  begin
1459        else        else
1460            begin            begin
1461            // Her skal komme en alarm og rød skærm            // Her skal komme en alarm og rød skærm
1462              VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );              //VisAlarmSkaerm( Stregkode + ' kan ikke vælges på dette scanningsted' );
1463                 VisAlarmSkaerm( Stregkode + ' kan ikke bruges med automatisk valg' );
1464    
1465               exit;               exit;
1466            end;            end;
# Line 1659  begin Line 1696  begin
1696    
1697    Key := #0;    Key := #0;
1698    
1699    
1700    
1701    
1702    
1703    
1704  end; //End of OnKeyPress  end; //End of OnKeyPress
1705    
1706    
1707    
1708  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);
1709  const  const
1710    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
# Line 1990  begin Line 2034  begin
2034    begin    begin
2035      exit;      exit;
2036    end;    end;
2037    
2038      if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er
2039      begin
2040        URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
2041      end;
2042    
2043    try    try
2044      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
2045      WebSvar := IdHTTP1.Get(URLStr);      WebSvar := IdHTTP1.Get(URLStr);
# Line 2011  begin Line 2061  begin
2061          end;          end;
2062      end;      end;
2063    end;    end;
2064    
2065    XMLDocument1.LoadFromXML(WebSvar);    XMLDocument1.LoadFromXML(WebSvar);
2066    try    try
2067      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then
# Line 2034  begin Line 2085  begin
2085          end;          end;
2086        end;        end;
2087       end       end
2088      else if menuIndlevering.Checked then      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then
2089      begin      begin
2090    
2091    
# Line 2049  begin Line 2100  begin
2100         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2101    
2102         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );
2103           chkForstorTilDirekte.Checked := false;
2104    
2105       end;       end;
2106    
# Line 3085  begin Line 3137  begin
3137        BtnEKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3138        InitLillePakke();        InitLillePakke();
3139        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3140    
3141          chkForstorTilDirekte.Checked := false;
3142          chkForstorTilDirekte.Enabled := false;
3143    
3144        if BladhusSted = 0 then        if BladhusSted = 0 then
3145        begin        begin
3146          IndlesScanningLogFil();          IndlesScanningLogFil();
# Line 3116  begin Line 3172  begin
3172        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3173        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3174        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3175    
3176          chkForstorTilDirekte.Checked := false;
3177          chkForstorTilDirekte.Enabled := false;
3178    
3179        InitLillePakke();        InitLillePakke();
3180  end;  end;
3181    
# Line 3142  begin Line 3202  begin
3202        ListBox1.Items.Clear;        ListBox1.Items.Clear;
3203        ListBox2.Items.Clear;        ListBox2.Items.Clear;
3204        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3205    
3206          chkForstorTilDirekte.Checked := false;
3207          chkForstorTilDirekte.Enabled := false;
3208    
3209        InitLillePakke();        InitLillePakke();
3210  end;  end;
3211    
# Line 3173  begin Line 3237  begin
3237        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3238        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3239        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
3240    
3241          chkForstorTilDirekte.Checked := false;
3242          chkForstorTilDirekte.Enabled := true;
3243    
3244        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3245        begin        begin
3246            IndlesScanningLogFil();            IndlesScanningLogFil();
# Line 3208  begin Line 3276  begin
3276    
3277        BtnEKLoverforsel.Enabled := true;        BtnEKLoverforsel.Enabled := true;
3278    
3279          chkForstorTilDirekte.Checked := false;
3280          chkForstorTilDirekte.Enabled := true;
3281    
3282        InitLillePakke();        InitLillePakke();
3283        IndlesScanningLogFil();        IndlesScanningLogFil();
3284        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3243  begin Line 3314  begin
3314        BtnDownloadKontrolfil.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3315        BtnOpdaterListen.Enabled := true;        BtnOpdaterListen.Enabled := true;
3316        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3317    
3318          chkForstorTilDirekte.Checked := false;
3319          chkForstorTilDirekte.Enabled := false;
3320    
3321    
3322        InitLillePakke();        InitLillePakke();
3323        IndlesScanningLogFil();        IndlesScanningLogFil();
3324        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 3290  begin Line 3366  begin
3366        BtnDownloadKontrolfil.Enabled := false;        BtnDownloadKontrolfil.Enabled := false;
3367        BtnOpdaterListen.Enabled := true;        BtnOpdaterListen.Enabled := true;
3368        BtnEKLoverforsel.Enabled := false;        BtnEKLoverforsel.Enabled := false;
3369    
3370          chkForstorTilDirekte.Checked := false;
3371          chkForstorTilDirekte.Enabled := false;
3372    
3373    
3374        InitLillePakke();        InitLillePakke();
3375        IndlesScanningLogFil();        IndlesScanningLogFil();
3376        if BladhusSted = 0 then        if BladhusSted = 0 then
# Line 4033  var Line 4114  var
4114    stregkode, modtagernavn, modtageradresse, kommentar : string;    stregkode, modtagernavn, modtageradresse, kommentar : string;
4115    pakketype, tjekkodestatus : String;    pakketype, tjekkodestatus : String;
4116    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;    pakketypeix, antalLiniefelter, antalFelterFundet, linienr : Integer;
4117    pakketyper : TStrings;    //pakketyper : TStrings;
4118      pakketyper : TDictionary<String, Integer>;
4119      tmpAntal : Integer;
4120    
4121    
4122    
4123    antlin : Integer;    antlin : Integer;
4124    
4125    antlinIdag, antlinSenere : Integer;    antlinIdag, antlinSenere : Integer;
4126    
4127    XmlFelter : TStrings;    //XmlFelter : TStrings;
4128      XmlFelter : TDictionary<String, Integer>;
4129    
4130   begin   begin
4131      XmlFelter := TStringList.Create;  
4132      pakketyper := TStringList.Create;  
4133        XmlFelter := TDictionary<String, Integer>.Create;
4134        pakketyper := TDictionary<String, Integer>.Create;
4135    
4136      linienr := 0;      linienr := 0;
4137      ListBox2.Clear;      ListBox2.Clear;
4138      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 4147  var
4147          StedKode := Sted;          StedKode := Sted;
4148        end;        end;
4149    
4150          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4151    
4152    
4153    
4154      if (Scanningtype = '7') then      if (Scanningtype = '7') then
# Line 4116  var Line 4208  var
4208            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
4209              if Node.NodeName = 'Stregkode' then              if Node.NodeName = 'Stregkode' then
4210              begin              begin
4211                 antlin := antlin + 1;                 Inc(antlin);
4212                 // 20150306: start                 // 20150306: start
4213                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4214                begin                begin
4215                   if (pos('(', Node.NodeValue) = 0) then                   if (pos('(', Node.NodeValue) = 0) then
4216                   begin                   begin
4217                     antlinIdag := antlinIdag + 1;                     Inc(antlinIdag);
4218                   end                   end
4219                   else                   else
4220                   begin                   begin
4221                     antlinSenere := antlinSenere + 1;                     Inc(antlinSenere);
4222                   end;                   end;
4223                end;                end;
4224                 // 20150306: slut                 // 20150306: slut
4225              end;              end;
4226            end;            end;
4227            if (XmlFelter.values[Node.NodeName] <> '') then            if ( XmlFelter.ContainsKey(Node.NodeName) ) then
4228                  XmlFelter.values[Node.NodeName] := IntToStr(StrToInt(XmlFelter.values[Node.NodeName]) + 1)                begin
4229                    XmlFelter.TryGetValue(Node.NodeName, tmpAntal);
4230                    XmlFelter.AddOrSetValue(Node.NodeName, tmpAntal + 1);
4231                  end
4232                else                else
4233                  XmlFelter.values[Node.NodeName] := '1';                begin
4234                    XmlFelter.Add(Node.NodeName, 1);
4235                  end;
4236    
4237        end;        end;
4238        antalLiniefelter := XmlFelter.Count;        antalLiniefelter := XmlFelter.Count;
# Line 4143  var Line 4240  var
4240        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug        SetLength(stregkoderMedTjekkodeArray, 0);    // reset fra tidligere brug
4241        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array        SetLength(stregkoderMedTjekkodeArray, antlin);  // sæt antal elementer i array
4242    
4243    
4244          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4245    
4246        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
4247        if (antlinSenere > 0) then        if (antlinSenere > 0) then
4248        begin        begin
# Line 4151  var Line 4251  var
4251        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4252    
4253        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4254    
4255    
4256        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4257            Node:= XMLDocument1.DocumentElement.ChildNodes[I];            Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4258            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
# Line 4158  var Line 4260  var
4260                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4261                  stregkode := Node.NodeValue;                  stregkode := Node.NodeValue;
4262                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4263              end;              end
4264              if Node.NodeName = 'ModtagerNavn' then begin              else if Node.NodeName = 'ModtagerNavn' then begin
4265                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4266                  modtagernavn := Node.NodeValue;                  modtagernavn := Node.NodeValue;
4267                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4268              end;              end
4269              if Node.NodeName = 'ModtagerAdresse' then begin              else if Node.NodeName = 'ModtagerAdresse' then begin
4270                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4271                  modtageradresse := Node.NodeValue;                  modtageradresse := Node.NodeValue;
4272                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4273              end;              end
4274              if Node.NodeName = 'Kommentar' then begin              else if Node.NodeName = 'Kommentar' then begin
4275                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4276                  kommentar := Node.NodeValue;                  kommentar := Node.NodeValue;
4277                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4278              end;              end
4279              if Node.NodeName = 'PakkeType' then begin              else if Node.NodeName = 'PakkeType' then begin
4280                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4281                  pakketype := Node.NodeValue;                  pakketype := Node.NodeValue;
4282                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4283                if (pakketyper.values[pakketype] <> '') then                if ( pakketyper.ContainsKey(pakketype) ) then
4284                  pakketyper.values[pakketype] := IntToStr(StrToInt(pakketyper.values[pakketype]) + 1)                begin
4285                    pakketyper.TryGetValue(pakketype, tmpAntal);
4286                    pakketyper.AddOrSetValue(pakketype, tmpAntal + 1);
4287                  end
4288                else                else
4289                  pakketyper.values[pakketype] := '1';                  pakketyper.Add(pakketype, 1);
4290              end;              end
4291              if Node.NodeName = 'TjekkodeStatus' then begin              else if Node.NodeName = 'TjekkodeStatus' then begin
4292                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4293                  tjekkodestatus := Node.NodeValue;                  tjekkodestatus := Node.NodeValue;
4294                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
# Line 4201  var Line 4306  var
4306                    linienr := linienr + 1;                    linienr := linienr + 1;
4307                  end;                  end;
4308              end;              end;
4309    
4310    
4311              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4312              begin              begin
4313                if (ScanningType = '1') then                if (ScanningType = '1') then
# Line 4216  var Line 4323  var
4323              end;              end;
4324            end;            end;
4325        end;        end;
       for pakketypeix := 0 to pakketyper.Count-1 do  
         begin  
           ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + ' '+pakketyper[pakketypeix]+' pakke(r) ikke modtaget');  
         end;  
4326    
4327          // Free up the list object  
4328          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4329    
4330    
4331          for pakketype in pakketyper.Keys do
4332          begin
4333            pakketyper.TryGetValue(pakketype, tmpAntal);
4334            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + pakketype + ' ' + IntToStr(tmpAntal) + ' pakke(r) ikke modtaget');
4335          end;
4336    
4337            // Free up the dictionary object
4338        pakketyper.Free;        pakketyper.Free;
4339    
4340    
4341    
4342  //      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.');
4343        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';        logTekst := 'Der er ' + IntToStr(antlin) + ' pakker, der endnu ikke er modtaget';
4344        if (antlinSenere > 0) then        if (antlinSenere > 0) then

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

  ViewVC Help
Powered by ViewVC 1.1.20