AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Eine bestimmte Anzahl von RichEdits erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

Eine bestimmte Anzahl von RichEdits erzeugen

Ein Thema von Christoph · begonnen am 10. Feb 2006 · letzter Beitrag vom 11. Feb 2006
Antwort Antwort
Benutzerbild von Christoph
Christoph

Registriert seit: 23. Jan 2004
Ort: Heidelberg
48 Beiträge
 
Delphi 6 Personal
 
#1

Eine bestimmte Anzahl von RichEdits erzeugen

  Alt 10. Feb 2006, 15:29
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:
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;
Was ich bräuchte wäre eine Art RechtEdit[i], da ich nicht im vorhinein weiß, wie viele Einträge das array hat

Vielen Dank im Voraus.

Grüße,
Christoph
'Bist 900 Jahre alt wirst aussehen Du nicht gut!'
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Eine bestimmte Anzahl von RichEdits erzeugen

  Alt 10. Feb 2006, 16:29
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
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Eine bestimmte Anzahl von RichEdits erzeugen

  Alt 10. Feb 2006, 17:25
Es gab in Delphi3 mal die function FindComponent(Name), aber in bds2k6 ging das bei mir nicht mehr
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Eine bestimmte Anzahl von RichEdits erzeugen

  Alt 10. Feb 2006, 17:35
Ich würde es zwar begrüßen, wenn es die Methode nicht mehr gäbe, aber sie existiert sicher auch noch in D2006.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Christoph
Christoph

Registriert seit: 23. Jan 2004
Ort: Heidelberg
48 Beiträge
 
Delphi 6 Personal
 
#5

Re: Eine bestimmte Anzahl von RichEdits erzeugen

  Alt 11. Feb 2006, 20:51
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
'Bist 900 Jahre alt wirst aussehen Du nicht gut!'
  Mit Zitat antworten Zitat
Steve9825679

Registriert seit: 21. Jun 2005
Ort: Gmunden
24 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Eine bestimmte Anzahl von RichEdits erzeugen

  Alt 11. Feb 2006, 22:24
n'Abend!

Hier is a Beispielcode:

Delphi-Quellcode:
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;
Liebe Grüße, Stefan
Man strahlt hier nicht in Wien,
denn bald strahlt es aus Temmelin
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz