Registriert seit: 22. Jun 2018
2.175 Beiträge
|
AW: Zwei Listen filtern Denkproblem
28. Mai 2019, 12:34
Ich möchte Städte aus Liste 2 löschen die nicht in Liste 1 sind.
Delphi-Quellcode:
Staedte1 := TStringList.Create;
Staedte2 := TStringList.Create;
try
// Liste 1
Staedte1.Add('berlin');
Staedte1.Add('dusseldorf');
Staedte1.Add('koln');
Staedte1.Add('nurnberg');
// Liste 2
Staedte2.Add('berlin,berlin');
Staedte2.Add('berlin,dusseldorf');
Staedte2.Add('berlin,koln');
Staedte2.Add('berlin,napoli');
Staedte2.Add('berlin,nurnberg');
Staedte2.Add('dusseldorf,berlin');
Staedte2.Add('dusseldorf,dusseldorf');
Staedte2.Add('dusseldorf,koln');
Staedte2.Add('dusseldorf,napoli');
Staedte2.Add('dusseldorf,nurnberg');
Staedte2.Add('koln,berlin');
Staedte2.Add('koln,dusseldorf');
Staedte2.Add('koln,koln');
Staedte2.Add('koln,napoli');
Staedte2.Add('koln,nurnberg');
Staedte2.Add('napoli,berlin');
Staedte2.Add('napoli,dusseldorf');
Staedte2.Add('napoli,koln');
Staedte2.Add('napoli,napoli');
Staedte2.Add('napoli,nurnberg');
Staedte2.Add('nurnberg,berlin');
Staedte2.Add('nurnberg,dusseldorf');
Staedte2.Add('nurnberg,koln');
Staedte2.Add('nurnberg,napoli');
Staedte2.Add('nurnberg,nurnberg');
finally
Staedte1.Free;
Staedte2.Free;
end;
Bei diesem Beispiel sollen alle Einträge mit napoli aus Staedte2 entfernt werden.
Mein erster kläglicher Versuch
Delphi-Quellcode:
for i := 0 to Staedte1.Count - 1 do
begin
StadtListe1 := Staedte1.Strings[i];
StadtGefunden := False;
for j := Staedte2.Count - 1 downto 0 do
begin
Stadt1 := Staedte2.Strings[j].Split([','])[0];
Stadt2 := Staedte2.Strings[j].Split([','])[1];
StadtGefunden := (Stadt1 = StadtListe1) or (Stadt2 = StadtListe1);
if StadtGefunden then
Break;
end;
if not StadtGefunden then
ShowMessage(StadtListe1);
end;
Angezeigt bekomme ich nichts obwohl ich napoli sehen müsste.
Geändert von DieDolly (28. Mai 2019 um 12:48 Uhr)
|
|
Zitat
|