![]() |
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Die ist etwas länger: Soll ich sie trotzdem posten?
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Da werden wir nicht drum herum kommen :)
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Delphi-Quellcode:
function Create_Fields(Mode, DLeft, DTop, DWidth, DHeight: Integer; DText: String): TDBEdit;
var DBE: TDBEdit; var DLabel: TLabel; var DMemo: TMemo; var DEdit: TEdit; var i, x, y, LabelNum, DLeft_Counter: Integer; begin LabelNum := 1; DLeft_Counter := 0; for x := 1 to (Length(LabelArray) + 1) do begin if LabelArray[x] = 'Artikel' then begin DMemo := TMemo.Create(Form1); with DMemo do begin Name := 'Memo_' + IntToStr(Save_NumFields); Parent := Form1.ScrollBox1; Left := Left + DLeft + DLeft_Counter; if x <= Length(LabelArray) then Top := Top + DTop + 16; Width := DWidth; Height := DHeight + 20; ScrollBars := ssVertical; Text := ''; end; end else begin if x <= Length(LabelArray) then begin DEdit := TEdit.Create(Form1); with DEdit do begin Name := 'Edit_' + IntToStr(Save_NumFields); Parent := Form1.ScrollBox1; Left := Left + DLeft + DLeft_Counter; if x <= Length(LabelArray) then Top := DTop + 32 else Top := DTop + 16; if (LabelArray[x] = 'EP') OR (LabelArray[x] = 'GP') then begin Width := DWidth - 80; Text := '0,00' end else begin Width := DWidth; Text := ''; end; Height := DHeight; if LabelArray[x] = 'GP' then Enabled := false; end; DBE := TDBEdit.Create(Form1); with DBE do begin Name := 'DBEdit_' + IntToStr(Save_NumFields); Parent := Form1.ScrollBox1; Left := Left + DLeft + DLeft_Counter; if x <= Length(LabelArray) then Top := DTop + 32 else Top := DTop + 16; if (LabelArray[x] = 'EP') OR (LabelArray[x] = 'GP') then Width := DWidth - 80 else Width := DWidth; Height := DHeight; Text := DText; Visible := false; end; end; DLabel := TLabel.Create(Form1); with DLabel do begin Name := 'Label_' + IntToStr(Save_NumFields); Parent := Form1.ScrollBox1; Left := Left + DLeft + DLeft_Counter; if x <= Length(LabelArray) then begin if LabelArray[x] = 'Artikel' then Top := DTop - 56 else TLabel(DLabel).Top := DTop + 16; end else Top := DTop - 16; Caption := LabelArray[x]; end; end; LabelNum := LabelNum + 1; if Mode = 0 then Save_NumFields := Save_NumFields + 1 else Save_NumFields := Save_NumFields - 1; DLeft_Counter := DLeft_Counter + 136; end; DLabel.Left := DLeft; DTop := DTop + 48; end; |
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
2 Dinge fallen mir spontan auf:
Delphi-Quellcode:
Du liest hier über das Array hinaus.
for x := 1 to (Length(LabelArray) + 1) do begin
Delphi-Quellcode:
Und was, wenn es kein DLabel gibt?
DLabel.Left := DLeft;
DTop := DTop + 48; |
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Zitat:
Zitat:
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Schau Dir mal TObjectList an, die dürfte einfacher sein als ein dynamisches Array und ist ja eigentlich genau für solche Fälle gemacht.
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
TObjectList sagt mir nun gar nichts. Find ich dafür eine Komponente im Programm?
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Eine TObjectList verwaltet eine Liste von (T)Object)en)
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Puuh, damit schmeißt ihr mich aber ins kalte Wasser :)... Kann mir darunter gerade gar nichts vorstellen. Hab zwar gerade einwenig gegoogelt, aber zurzeit weiß ich noch nicht, wie ich das wo in meinen bestehenden Code einbaue ^^.
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Eine TStringlist kennst Du aber, oder? Nun stell Dir das Gleiche vor mit Objekten statt Strings ;)
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Denk Link hab ich mir bereits auch durchgelesen, aber das hilf mir prinzipiell nicht weiter. Was eine TStringList ist, weiß ich glaub ich nicht. Zumindest hab ich mich bewusst damit nicht beschäftigt :).
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
F1 always helps :zwinker:
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
In dem Tutorial steht doch wie man die Liste anwendet und der Unterschied zu einem Array
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 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 by Thomas Breitkreuz