![]() |
Edit Felder in einem array zusammenfassen?
Hi
Bin neu in diesem Forum und habe von Delphi momentan nicht sehr viel Ahnung. :( Da ich schon ziemlich lange auf der Suche war aber nichts gefunden habe hoffe ich einer von euch kann mir diese Frage beantworten (oder einen link geben wo es erklärt ist) :) . "Problem" angenommen man hat ein array of string und will diesem editfelder zuweisen array[1]:=edit1.text; array[2]:=edit2.text; . . . usw. wäre es sehr hilfreich wenn man das in einer schleife machen könnte for i:=1 to 10 do array[i]:=edit[i].text; (so funktioniert das natürlich nicht.) Kann mir einer von euch sagen wie man das hinbekommen könnte? vielleicht könnte es ja so gehen for.. array[i]:=TTExt(i) wobei TText zeiger auf die einzelnen Edit felder hat nur bekomme ich es nicht hin =( |
:roll:
vielleicht hilft das weiter ....
Code:
das sollte dein problem lösen
var: FEdit : array[0..35]of TEdit;
I : Byte; begin for I := 0 to 35 do begin FEdit := TEdit.Create(Self); FEdit[I].Name := 'Edit' + IntToStr(I); FEdit[I].Left := .....; .... FEdit[I].Text := FEdit[I].Name; end; end; :bounce1: :witch: |
Diesen Ansatz hatte ich auch nur steigt der Compiler mit der Fehlermeldung array und tedit sind incompatible typen aus :(
Funktioniert es denn bei dir? Wenn ja könntest du mir dann nen bsp. quelltext schicken (mit compiler einstellungen [ strg + O, O im quelltext]). garmoschka@hotmail.com =) |
das ist aus meinem CqellCode:
Global:
Code:
Procedure im Programm:
const Anzahl = 57;
var SpinEdit : array[1..Anzahl] of TSpinEdit; CheckBox : array[1..Anzahl] of TCheckBox; LabelFeld : array[1..Anzahl] of TLabel;
Code:
den Quellcode hab ich aus meiner Einkaufsliste kopiert - was ich hier mit SpinEdit und CO mache, geht Problemlos auch mit TEdit .....
procedure Komponenten_erstellen;
var I : Byte; begin for I := 1 to Anzahl do begin SpinEdit[I] := TSpinEdit.Create(Application); with SpinEdit[I] do begin Parent := TabControl1; case I of 1 ..19 : begin Left := 7; Top := 45 + ((I - 1) * 25); end; 20..38 : begin Left := 270; Top := 45 + ((I - 20) * 25); end; 39..57 : begin Left := 533; Top := 45 + ((I - 39) * 25); end; end; Width := 36; AutoSize := False; MaxValue := 99; MaxLength := 2; Name := 'SpinEdit' + IntToStr(I); OnChange := SpinChange; Tag := I; end; // Ende von SpinEdit CheckBox[I] := TCheckBox.Create(Application); with CheckBox[I] do begin Parent := TabControl1; case I of 1 ..19 : begin Left := 48; Top := 47 + ((I - 1) * 25); end; 20..38 : begin Left := 311; Top := 47 + ((I - 20) * 25); end; 39..57 : begin Left := 574; Top := 47 + ((I - 39) * 25); end; end; Width := 165; AutoSize := False; Name := 'CheckBox' + IntToStr(I); Caption := ''; ShowHint := True; PopupMenu := PopupMenu1; OnClick := CheckBoxClick; OnContextPopup := CheckBox_Kontext; Tag := I; end; // Ende von CheckBox LabelFeld[I] := TLabel.Create(Application); with LabelFeld[I] do begin Parent := TabControl1; case I of 1 ..19 : begin Left := 216; Top := 50 + ((I - 1) * 25); end; 20..38 : begin Left := 479; Top := 50 + ((I - 20) * 25); end; 39..57 : begin Left := 742; Top := 50 + ((I - 39) * 25); end; end; Width := 42; AutoSize := False; Name := 'Label' + IntToStr(I); Caption := ''; Alignment := taRightJustify; end; // Ende von Label end; end; // Komponenten erstellen hoffe, es geht - bei mir geht es doch auch .... :roll: |
Hmpf.... also mit TEdit funzt es einfach net... owbwohl die Fehlermeldung vonwegen incompatible doch garnicht kommen dürfte denn das array ist ja vom typ tedit......... :roll:
Naja dennoch danke für die Hilfe hab was dazu gelernt :coder: |
Schau nächste Freitag noch mal rein -- bis dahin hab ich dein Problem gelöst -- mit Quelltext :coder:
Wundere mich nur, das es nicht geht -- ..... :freak: |
:lol: Hat sich erledigt nach etwas dummen drüber lesen.... naja hab ich gesehen das am anfang ein [i] fehlte sprich er dem ganzen array das tedit zugewisesen hat ... also danke es geht wunderbar :)
( FEdit := TEdit.Create(Self); <---- FEdit[i] := TEdit.Create(Self); ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 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