![]() |
zusatzinformationen in tlistbox
Hallo,
ich möchte gerne einen array
Delphi-Quellcode:
in einer listbox ausgeben. Die Werte sollen dann mit einem Klick auf die entsprechende zeile bearbeitet werden können.
type ttest = record //verbund
wert1: string[50]; wert2: string[50]; wert3: string[60]; end; tttest = array[1..800] of ttest; public myarray : tttest;
Delphi-Quellcode:
dazu muss ich an die einzelnen items zusätzliche (für den Nutzer unsichtbare)Informationen anhängen z.B. den index des arrays und wieder auslesen können. Ich hab schon viel im Internet rumgesucht und ich hab auch schon die Suchfunktion benutzt aber keine hilfreichen Infos gefunden. Da schreibt man das es mit addobject irgentwie geht aber ich komme damit nicht so richtig klar. :-( Ich bin noch Änfänger also bitte nicht ganz so chinesisch^^. Thx
Form1.Ausgabe.items.add ( myarray[1].wert1) ; //in listbox eintragen
Form1.Ausgabe.items.add ( myarray[1].wert2) ; Form1.Ausgabe.items.add ( myarray[1].wert3) ; Form1.Ausgabe.items.add ( myarray[2].wert1) ; ... |
Re: zusatzinformationen in tlistbox
Häng die Informationen als Objekt an die Listboxeintäge an mit der Methode AddObject. Zum Beispiel so:
![]() |
Re: zusatzinformationen in tlistbox
ja aber ich sehe da nicht so ganz durch
kann mir einer das in einer verständlichen Sprache erklären wie man einen unsichtbaren string an ein item hängt??? Und dann auch wieder liest?? Bitte :( Da ich es schon wieder sehe was bedeutet dieses zeichen ^ in delphi?? MFG eric |
Re: zusatzinformationen in tlistbox
Das was Luckie da mit den ^ fabriziert hat, das ist IMHO zuviel des guten. ^^ :mrgreen: Rest steht in der Hilfe :
Zitat:
|
Re: zusatzinformationen in tlistbox
Ich möchte ja eigentlich keine Bilder einfügen sondern nur einen kurzen String, ich kann mir nicht vorstellen das das so komplexx ist.
Erstmal danke für eure Antworten :thumb: :-D |
Re: zusatzinformationen in tlistbox
das ist es auch nicht ...
Delphi-Quellcode:
procedure TfoTest11.FormShow(Sender:TObject);
var i : Integer; Str : String; begin for i:=0 to 9 do begin Str:='hihihihi'; Listbox1.Items.AddObject('Hallo'+IntToStr(i),Pointer(Str)) end; end; procedure TfoTest11.ListBox1DblClick(Sender:TObject); begin ShowMessage(String(Listbox1.Items.Objects[Listbox1.ItemIndex])) end; |
Re: zusatzinformationen in tlistbox
okay danke leute für eure bemühungen!!!!
taaktaak ich werd das morgen gleich mal ausprobieren! Ich sag euch dann bescheid. Heute ist zu spät. thx hauta wa |
Re: zusatzinformationen in tlistbox
Taaktaak: Was geht denn wie nicht ?
|
Re: zusatzinformationen in tlistbox
Hallo eric – the master,
man kann das auch mit einem Object lösen. Zuerst das Object:
Delphi-Quellcode:
Und jetzt das Hauptprogramm:
unit uListBoxObjectClass;
interface uses Classes; type Ttest= Class(TObject) private FWert1: String; FWert2: String; FWert3: String; procedure GetFWerte1(const Value: String); procedure GetFWerte2(const Value: String); procedure GetFWerte3(const Value: String); function SetFWert1: String; function SetFWert2: String; function SetFWert3: String; public constructor Create(); destructor Destroy; override; property Wert1: String Read SetFWert1 write GetFWerte1; property Wert2: String Read SetFWert2 write GetFWerte2; property Wert3: String Read SetFWert3 write GetFWerte3; End; implementation { Ttest } constructor Ttest.Create; begin inherited Create; end; destructor Ttest.Destroy; begin inherited; end; procedure Ttest.GetFWerte1(const Value: String); begin if Value<>FWert1 then begin FWert1:= Value; end; end; procedure Ttest.GetFWerte2(const Value: String); begin if Value<>FWert2 then begin FWert2:= Value; end; end; procedure Ttest.GetFWerte3(const Value: String); begin if Value<>FWert3 then begin FWert3:= Value; end; end; function Ttest.SetFWert1: String; begin Result:= FWert1; end; function Ttest.SetFWert2: String; begin Result:= FWert2; end; function Ttest.SetFWert3: String; begin Result:= FWert3; end; end.
Delphi-Quellcode:
Bis bald Chemiker
unit frmListBox;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, uListBoxObjectClass; type TForm3 = class(TForm) ListBox1: TListBox; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Edit4: TEdit; procedure ListBox1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } Test: TTest; end; var Form3: TForm3; implementation {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); var strText: String; begin Test:= TTest.Create; // Object erstellen Test.Wert1:= Edit1.Text; // Text im Object ablegen Test.Wert2:= Edit2.Text; Test.Wert3:= Edit3.Text; strText:= Edit4.Text; ListBox1.AddItem(strText, Test); // In die Listbox end; procedure TForm3.FormDestroy(Sender: TObject); var I: Integer; begin for i:= ListBox1.Count - 1 downto 0 do begin Test:= TTest(ListBox1.Items.Objects[i]); if Test<>NIL then begin freeAndNil(Test); end; end end; procedure TForm3.ListBox1Click(Sender: TObject); var I: Integer; begin for I := 0 to ListBox1.Count - 1 do begin if ListBox1.Selected[i] then begin Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit1.Text:= TTest(ListBox1.Items.Objects[i]).Wert1; Edit2.Text:= TTest(ListBox1.Items.Objects[i]).Wert2; Edit3.Text:= TTest(ListBox1.Items.Objects[i]).Wert3; end; end; end; end. |
Re: zusatzinformationen in tlistbox
Moin, Moin.
@Hansa: War wohl irreführend :-D Eric schrieb: Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz