Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#15

Re: CheckListBox und Memo verwenden

  Alt 30. Jun 2009, 00:50
:Kunoishi

Eigentlich ist das was du willst nicht schwer, aber ich weiß nicht ob du den Code verstehst;

Delphi-Quellcode:
type
  TData = class
    Zusatztext: String;
  end;

procedure TForm1.FormCreate(Sender: TObject);

  procedure Hinzu(Text, Zusatztext: String);
  var
    Data: TData;
  begin
    Data := TData.Create;
    Data.Zusatztext := Zusatztext;
    ListBox1.Items.AddObject(Text, Data);
  end;

begin
  Hinzu('Blume', 'Blumen blühen');
  Hinzu('Wasser', 'Wasser ist feucht');
  Hinzu('Erde', 'In der Erde wachsen Erdäpfel');
  Hinzu('Sand', 'Sand ist voller Sand');
  Hinzu('Dünger', 'Dünger düngt die Erde');
  Hinzu('Licht', 'Licht spendet Wärme');
  Hinzu('Schatten', 'Im Schatten ist es kühler');
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var
  Data: TData;
begin
  if ListBox1.ItemIndex < 0 then Exit;

  Data := TData(ListBox1.Items.Objects[ListBox1.ItemIndex]);

  Memo1.Lines.Text := Data.Zusatztext;
end;
Zuerst wird eine einfache Klasse mit einem String erstellt. Eigentlich ist es ein Record, aber wir brauchen ein Object.

In der Unterprozedur Hinzu wird das Objekt erstellt, der Zusatztext zugewiesen, und zuletzt der ListBox Text mit dem Objekt der ListBox hinzugefügt.

In der Hauptprozedur werden alle Werte hinzugefügt.

Zuletzt wird bei ListBox1Click der Zusatztext aus dem Objekt ermittelt und in Memo geschrieben.

//EDIT:

Da du an einer anderen Stelle mit Adressen und Postleitzahlen hantierst, gehe ich davon aus, daß es dir hier nicht um Blumen und Erde geht, sondern du eine Art Adressbuch schrieben willst. Es wäre also viel einfacher wenn du direkt sagen würdest was du willst, dann könnte man dir besser helfen. Das mit Blumen und dem Text über Blumen verwirt doch nur.

Edit2:
Tippfehler korrigiert.
  Mit Zitat antworten Zitat