Registriert seit: 6. Okt 2003
372 Beiträge
|
Re: TList + Exception
9. Sep 2006, 22:40
So würde ich das machen:
Delphi-Quellcode:
type
TBenutzer = class
private
FName: string;
FNummer: Integer;
public
constructor: Create(const aString: string);
property Name: string read FName;
property Nummer: Integer read FNummer;
end;
TBenutzerListe = class
private
List: TList;
public
constructor Create;
destructor Destroy;
procedure Initialize(const ABenutzerListe: string);
function GetBenutzer(I: Integer): TBenutzer;
function GetCount: Integer;
property Benutzer[i: Integer]: TBenutzer read GetBenutzer; default;
property Count: Integer read GetCount;
end;
constructor TBenutzer.Create(const aString: string);
begin
FName := Copy(aString, 1, Pos(',', aString)-1);
FNummer := StrToInt(Copy(aString, Pos(',', aString)+1, Length(aString)));
end;
constructor TBenutzerListe.Create;
begin
inherited;
List := TList.Create;
end;
destrucotr TBenutzerListe.Destroy;
begin
inherited;
List.Free;
end;
function TBenutzerListe.GetBenutzer(I: Integer): TBenutzer;
begin
Result := List[i] as TBenutzer;
end;
function TBenutzerListe.GetCount: Integer;
begin
Result := List.Count;
end;
procedure TBenutzerListe.Initialize(const ABenutzerliste: string);
var
temp: TStringList;
i: Integer;
begin
temp := TStringList.Create;
try
temp.Text := ABenutzerListe;
for i := 0 to temp.Count-1 do
List.Add(TBenutzer.Create(temp[i]));
finally
temp.Free;
end;
end;
procedure FormButton1Click(Sender: TObject);
var
BenutzerListe: TBenutzerListe;
i: Integer;
begin
BenutzerListe := TBenutzerListe.Create;
BenutzerListe.Initialize(MeineBenutzerListe);
for i := 0 to BenutzerListe.Count-1 do
Memo.Lines.Add(Format('%s -> %d', (BenutzerListe[i].Name, BenutzerListe[i].Nummer]));
end;
Irgendwie so. Memo ist natürlich ein Memo-Feld auf dem Form. Woher MeineBenutzerListe kommt weiß ich nicht genau - die hast Du ja.
|
|
Zitat
|