![]() |
DBEdit1 Feld zur Laufzeit erzeugen
Hallo,
ich möchte gerne einen Formular Editor schreiben und dazu müße ich ein paar DBEdit Felder zur Laufzeit erzeugen. Wie mache ich das. Mit freundlichen Grüßen Christian18 |
Re: DBEdit1 Feld zur Laufzeit erzeugen
Delphi-Quellcode:
var DEditTEST: TDBEdit ;
begin DEditTEST:= TDBEdit.Create(self); // dann alles waste brauchst(captions ect.) DEditTEST.Parent := Form1(oder wwo dus halt haben willst) end; udn das baust du in ne schleife ein so zb
Delphi-Quellcode:
var DEditTEST: TDBEdit;
i : Integer; begin for i := 1 to 3 do begin DEditTEST:= TDBEdit.Create(self); // dann alles waste brauchst(captions ect.) DEditTEST.text := 'TEST'; DEditTEST.Parent := Form1;//(oder wwo dus halt haben willst) end; end; |
Re: DBEdit1 Feld zur Laufzeit erzeugen
Hallo,
ich habe das mal versuche, aber bei mir funktioniert es leider nicht. es kommt der Fehler: [Fehler] Unit1.pas(27): Undefinierter Bezeichner: 'TDBEdit' [Fehler] Unit1.pas(29): Operator oder Semikolon fehlt [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var test: TDBEdit; begin test:=TDBEdit.Create(self); end; |
Re: DBEdit1 Feld zur Laufzeit erzeugen
Hast du die Unit "DBCtrls" in die uses gepackt?
|
Re: DBEdit1 Feld zur Laufzeit erzeugen
ganzer text!
(ich hab die komponente nicht die unit woos drinnen isthalt auch rein)
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, ComCtrls, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var test: TDBEdit; begin test:=TDBEdit.Create(self); end; end. |
Re: DBEdit1 Feld zur Laufzeit erzeugen
was für ein delphi hast du?
|
Re: DBEdit1 Feld zur Laufzeit erzeugen
siehe auch Code-Library:
![]() |
Re: DBEdit1 Feld zur Laufzeit erzeugen
und jetzt nocheinmal eine andere frage, das mit der for schleife funktioniert bei mir nicht, er macht immer nur einen button. das programm soll soviele machen wie in mein Edit1 Feld geschrieben steht. hatte auch schon begonnen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var test : TDBEdit; i, a : Integer; begin a:=0; for i:=1 to StrToInt(Edit1.Text) do begin test:=TDBEdit.Create(self); test.Top:=a+20; test.Parent:=Form1; end; end; |
Re: DBEdit1 Feld zur Laufzeit erzeugen
Zitat:
schreib noch folgendes dazu:
Delphi-Quellcode:
mfG
test.Name: := format('dbedit%d', [i]);
mirage228 |
Re: DBEdit1 Feld zur Laufzeit erzeugen
christian
hab ein tut gemacht(gerade eben weil du der dritte ist der so schnell das fragt :D) --> ![]() ... es befindet sich auf der DP weil ich selebr derweil net auf unsere Seite zugriff habe :lol: :roll: |
Re: DBEdit1 Feld zur Laufzeit erzeugen
Zitat:
|
Re: DBEdit1 Feld zur Laufzeit erzeugen
.... --> das er die unit von der komponete reingeben soll (zb bei jedi JVComponents) oder wie alt die unit heißt ;)
|
Re: DBEdit1 Feld zur Laufzeit erzeugen
Achso...Hab irgendwie gedacht das wär von dem, der den Thread eröffnet hat. Egal...
|
Re: DBEdit1 Feld zur Laufzeit erzeugen
ja ok das meinte ich aber nicht!
ich habe ein edit feld und wenn ich da z.b. 3 eingebe, dann soll dort 3 edit felder untereinander erscheinen |
Re: DBEdit1 Feld zur Laufzeit erzeugen
ja! dann machs du meinen code in ner schleife von 1 to eingabe ^^
dürfte doch nicht allzuschwer siein das jetzt ohne codeinlage zu machen ^^ |
Re: DBEdit1 Feld zur Laufzeit erzeugen
nein ist es auch nicht, aber bei mir funktionier es leider nicht. hier nochmal mein code:
Delphi-Quellcode:
es wird bei mir nur ein edit feld angezeigt. egal wieviel ich in mein edit1 feld rein schreibe
procedure TForm1.Button1Click(Sender: TObject);
var test : TEdit; i, a : Integer; begin a:=0; i:=0; for i:=1 to StrToInt(Edit1.Text) do begin test:=TEdit.Create(self); test.Top:=a+30; test.Parent:=Form1; end; end; |
Re: DBEdit1 Feld zur Laufzeit erzeugen
Hi,
versuch mal den Parent zu erst zu setzen und danach erst den Top-Wert. Moment.. du erhöhst a niemals! a bleibt immer 0 + 30 = 30! Du solltest a nach dem Erstellen erhöhen! mfG mirage228 |
Re: DBEdit1 Feld zur Laufzeit erzeugen
weil a nur einmal raufgezählt wir du musst es so machen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var test : TEdit; i, a : Integer; begin a:=0; i:=0; // kannste auch weglassen for i:=1 to StrToInt(Edit1.Text) do begin a := a + 30; // oder inc(a,30); test:=TEdit.Create(self); test.Top:=a; // schlecht ist auch nie die anderen sachen zu vereinbaren aber egal(Height, // Width, left) muss nicht sein test.Parent:=Form1; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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