![]() |
Eine bestimmte Anzahl von RichEdits erzeugen
Hallo,
ich habe in einem array of record verschiedene strings, die ich in RichEdits ausgeben möchte. StringGrid und DrawGrid kann ich nicht verwenden, da der integer-Wert eines RichEdits z.B. noch per UpDown veränderbar sein soll. Ich möchte die im array gespeicherte Anzahl der strings in jeweils ein RichEdit ausgeben. Es sollen also bei einer array-Anzahl von 10 Einträgen 10 RichEdits gezeichnet werden usw. Wie kann ich das umsetzen? Hier was ich bisher habe:
Delphi-Quellcode:
Was ich bräuchte wäre eine Art RechtEdit[i], da ich nicht im vorhinein weiß, wie viele Einträge das array hat
procedure TForm1.Button1Click(Sender: TObject);
var i : integer; RichEdit: TRichEdit; begin RichEdit := TRichEdit.Create(Form1); for i := 0 to High(array) do begin RichEdit.Parent:=Form1; RichEdit.Left := 4; RichEdit.Top := 4; RichEdit.Height := 20; RichEdit.Width := 250; RichEdit.Text := array[i].Text; end; end; Vielen Dank im Voraus. Grüße, Christoph |
Re: Eine bestimmte Anzahl von RichEdits erzeugen
Hallo Christoph,
so wie du deine records in einem array verwaltest, kannst du deine RichEdit-Komponenten in einer TObjectList (aber natürlich auch in einem array) verwalten. Wenn du den eigentlichen Hintergrund deines Problems erläuterst, kann man dir vielleicht eine elegantere Lösung aufzeigen. Grüße vom marabu |
Re: Eine bestimmte Anzahl von RichEdits erzeugen
Es gab in Delphi3 mal die function FindComponent(Name), aber in bds2k6 ging das bei mir nicht mehr
|
Re: Eine bestimmte Anzahl von RichEdits erzeugen
Ich würde es zwar begrüßen, wenn es die Methode nicht mehr gäbe, aber sie existiert sicher auch noch in D2006.
|
Re: Eine bestimmte Anzahl von RichEdits erzeugen
Hallo,
danke für Eure Tipps. Werde mal versuchen, meine RichEdits per array zu verwalten (wusste nicht, dass das so ohne weiteres geht). Danke und Gruß, Christoph |
Re: Eine bestimmte Anzahl von RichEdits erzeugen
n'Abend!
Hier is a Beispielcode:
Delphi-Quellcode:
Liebe Grüße, Stefan
procedure TForm1.Button1Click(Sender: TObject);
var R : array of TRichEdit; StrArr : array of String; StrAnz : Integer; LfVar : Integer; begin StrAnz:=10; setlength(StrArr, StrAnz); for LfVar:=0 to (high(StrArr)-1) do StrArr[LfVar]:='Ich bin String Nummer '+IntToStr(LfVar); setlength(R, StrAnz); for LfVar:=0 to (high(R)-1) do begin R[LfVar]:=TRichEdit.Create(nil); R[LfVar].Parent:=Self; R[LfVar].Name:='RichE'+IntToStr(LfVar); R[LfVar].Left:=4+60*LfVar; R[LfVar].Top:=40; R[LfVar].Width:=55; R[LfVar].Height:=60; R[LfVar].Text:=StrArr[LfVar]; R[LfVar].Visible:=true; R[LfVar].Invalidate; //zum Neuzeichnen end; Self.Invalidate; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 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