Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

For-In - Index rauskriegen

  Alt 31. Mai 2007, 19:03
Hiho,

Ich nutze mittlerweile mal endlich die For-In-Schleife, ein richtig cooles Feature, und stoße nun das erste mal auf ein Problem...Folgendes:
Ich habe eine ObjectList und möchte nun ein Element löschen welches eine vorgegebene, eindeutige Bedingung erfüllt.
zu Deutsch: die Dinger haben eindeutige Namen und ich will Element "Hans-Otto" löschen.

folgendes erfüllt den Zweck (hoffentlich)
Delphi-Quellcode:
procedure TApplications.Delete(Titel: String);
var i: Integer;
begin
  for i:=0 to FApps.Count-1 do
  begin
    if TApplication(FApps[i]).Titel=Titel then
      FApps.Delete(i);
  end;
end;
Aber da das da eine ObjectList ist würde ich es eigentlich lieber mit For-In machen (ist natürlich eine reine Spielerei )
auch Folgendes würde wohl funktionieren
Delphi-Quellcode:
procedure TApplications.Delete(Titel: String);
var P: Pointer;
begin
  for P in FApps do
  begin
    if TApplication(P).Titel=Titel then
      FApps.Delete(FApps.IndexOf(P));
  end;
end;
Aber das ist ja jetzt echt nicht Sinn der Sache.
Geht das noch anders oder ist die For-In-Schleife an der Stelle echt am Ende ihrer Möglichkeiten angelangt?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat