![]() |
Erstellen eines Eingabeformulars
Hallo Leute,
ich möchte eine Art Eingabeformular erstellen, wie man es z.B. von HTML-Formularen kennt. Wie z.B. Beschreibung 1 2 3 4 5 Punkt 1 O O O O O Punkt 2 O O O O O Punkt 3 O O O O O Punkt 4 O O O O O Punkt 5 O O O O O ..... Unter den "O" soll man sich dementsprechend Checkboxen oder ggf. RadioButtons vorstellen. Wichtig ist, dass die Anzahl der Punkte variabel ist, also es können genauso gut 10 Zeilen sein, aber auch 100. Nur zu jeder Zeile soll eine vordefinierte Anzahl von Checkboxen/RadioButtons hinzugefügt werden. Jemand eine Idee, wie man das annähernd machen kann? Weiss nicht, in welche Richtung ich überlegen soll.. MfG davar |
Re: Erstellen eines Eingabeformulars
Ich hab grade eben mal diesen Code geschrieben, seltsamerweise funktioniert er nicht...
Die Checkboxen werden gar nicht angezeigt.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; a: array of array of TLabel; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var xcount, ycount, I,J: Integer; begin xcount:=5; ycount:=10; setlength(a,xcount,ycount); for I:=0 to xcount-1 do for J:=0 to ycount-1 do begin a[I,J]:=TLabel.Create(Self); a[I,J].width:=16; a[I,J].height:=16; a[I,J].left:=8+I*24; a[I,J].top:=8+J*24; a[I,J].visible:=True; a[I,J].enabled:=True; a[I,J].Color:=clred; Application.ProcessMessages; end; end; end. |
Re: Erstellen eines Eingabeformulars
Musst den TLabels noch einen Parent zuweisen:
Delphi-Quellcode:
a[I,J]:=TLabel.Create(Self);
a[I,J].Parent := Self; |
Re: Erstellen eines Eingabeformulars
Setz mal den Parent der Elemente.
|
Re: Erstellen eines Eingabeformulars
Aso, ich dachte das geschieht schon bei Create(Self).
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; a: array of array of TCheckBox; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var xcount, ycount, I,J: Integer; begin xcount:=5; ycount:=10; setlength(a,xcount,ycount); for I:=0 to xcount-1 do for J:=0 to ycount-1 do begin a[I,J]:=TCheckBox.Create(Self); a[I,J].parent:=self; a[I,J].width:=16; a[I,J].height:=16; a[I,J].left:=8+I*24; a[I,J].top:=8+J*24; a[I,J].visible:=True; a[I,J].enabled:=True; end; end; end. |
Re: Erstellen eines Eingabeformulars
Moin Manuel,
Parent und Owner haben unterschiedliche Aufgaben. Der Owner ist für die Lebensdauer des Objektes zuständig. Wird dieser zerstört, werden auch alle übrigen, untergeordneten mit zerstört, ohne dass man sich darum selber kümmern müsste, ausser man gibt, Sonderfall, nil als Owner an. Der Parent ist für die Anzeige der Komponente zuständig, sie wird immer relativ zum Parent gezeichnet. Gibst Du keinen Parent an, siehst Du die Komponente auch nicht. |
Re: Erstellen eines Eingabeformulars
Also bei mir funktioniert der Code nicht.
In der Zeile
Delphi-Quellcode:
bekomme ich die Fehlermeldung " '[' erwartet, aber 'OF' gefunden" und "Ordinaltyp erforderlich."..
a: array of array of TCheckBox;
|
Re: Erstellen eines Eingabeformulars
Gibts bei Delphi 3 noch keine dynamischen Arrays? :gruebel:
|
Re: Erstellen eines Eingabeformulars
Zitat:
|
Re: Erstellen eines Eingabeformulars
Gibts da nicht einen Trick, mit dem man das nachbilden kann? :gruebel: Hab da mal was in der Codelib gesehen, vielleicht auch bei den Tutorials/Kursen....
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 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