Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Erstellen eines Eingabeformulars (https://www.delphipraxis.net/66649-erstellen-eines-eingabeformulars.html)

davar 1. Apr 2006 23:31


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

3_of_8 2. Apr 2006 00:07

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.

toms 2. Apr 2006 00:14

Re: Erstellen eines Eingabeformulars
 
Musst den TLabels noch einen Parent zuweisen:

Delphi-Quellcode:
a[I,J]:=TLabel.Create(Self);
a[I,J].Parent := Self;

omata 2. Apr 2006 00:15

Re: Erstellen eines Eingabeformulars
 
Setz mal den Parent der Elemente.

3_of_8 2. Apr 2006 00:19

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.

Christian Seehase 2. Apr 2006 01:43

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.

davar 2. Apr 2006 11:03

Re: Erstellen eines Eingabeformulars
 
Also bei mir funktioniert der Code nicht.

In der Zeile
Delphi-Quellcode:
  a: array of array of TCheckBox;
bekomme ich die Fehlermeldung " '[' erwartet, aber 'OF' gefunden" und "Ordinaltyp erforderlich."..

3_of_8 2. Apr 2006 11:21

Re: Erstellen eines Eingabeformulars
 
Gibts bei Delphi 3 noch keine dynamischen Arrays? :gruebel:

Balu der Bär 2. Apr 2006 11:22

Re: Erstellen eines Eingabeformulars
 
Zitat:

Zitat von 3_of_8
Gibts bei Delphi 3 noch keine dynamischen Arrays? :gruebel:

Nein gibt es nicht.

DGL-luke 2. Apr 2006 11:26

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 22:20 Uhr.
Seite 1 von 3  1 23      

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