Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Dynmaische Label finden

  Alt 11. Jul 2005, 08:38
die einfachste und vielleicht auch perfomanteste Lösung wäre wie schon angesprochen wohl diese
Delphi-Quellcode:
private
  LabelList: TList; //Liste in der die Labels gehalten werden
[...]
LabelList := TList.Create; //Liste muss natürlich erzeugt werden (im Create)
[...]
LabelList.Free; //und auch wieder zuerstört werden(im Destroy)
[...]
procedure TYourClass.ClearLabellist; //Diese Procedure gibt alle Labels frei
var LCount: Integer;
begin
  for LCount := 0 to LabelList.Count - 1 do //und zwar in dem alle Labels aus der Liste freigegeben werden
    TObject(LabelList.Items[LCount]).Free;
  LabelList.Clear;
end;
[...]
var
  i,j:integer;
begin
  ClearLabelList; //befor neue Labels angelegt werden geben wir die alten Labels frei
  Label4.Visible:=False;
  Wort:=sl.Strings[random(sl.Count)];
  Label4.Caption:=Wort;
  j:=176;
  for i:=1 to Label4.GetTextLen do
  begin
    Buchstabe:=TLabel.Create(nil);
    Buchstabe.Parent:=Form1;
    Buchstabe.Caption:=Copy(wort,i,1);
    Buchstabe.Left:=j+20;
    Buchstabe.Top:=176;
    j:=Buchstabe.Left;
    LabelList.Add(Buchstabe); //damits wieder freigegeben werden kann muss es noch in die Liste eingetragen werden
  end;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat