Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Edit-Felder => array of integer (https://www.delphipraxis.net/128303-edit-felder-%3D-array-integer.html)

himitsu 29. Jan 2009 10:12

Re: Edit-Felder => array of integer
 
ich würde nicht über ComponentIndex gehen ... denn dieser ändert sich eventuell, wenn mal eine Komponente erstellt/gelöscht wird :zwinker:

'nen Zeiger auf die Objektinstanz ist da wohl besser geeignet. (hier also 'ne Variable vom Typ TEdit)

Delphi-Quellcode:
const maxidx = 9;

type
  TForm1 = class(TForm)
    Edit11: TEdit;
    Edit12: TEdit;
    Edit13: TEdit;
    ...
    Edit21: TEdit;
    Edit22: TEdit;
    Edit23: TEdit;
    ...
    Edit91: TEdit;
    Edit92: TEdit;
    Edit93: TEdit;
    ...
    Edit99: TEdit;

    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private-Deklarationen }
    EditComp: array[1..maxidx, 1..maxidx] of TEdit;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i,j: Integer;
begin
  for i := 1 to maxidx do
    for j := 1 to maxidx do
      EditComp[i, j] := FindComponent(Format('Edit%d%d', [i, j]));
end;

procedure TForm1.FormShow(Sender: TObject);
var i,j: Integer;
begin
  for i:=1 to maxidx do
    for j:=1 to maxidx do
      EditComp[i, j].Text := IntToStr(i) + IntToStr(j);
end;

globetrotter77 29. Jan 2009 19:06

Re: Edit-Felder => array of integer
 
@himitsu:

Da hast du natürlich recht!
Ich bin im ersten Ansatz einfach davon ausgegangen, dass bei dieser Art von Programm nachträglich keine Components hinzukommen oder wegfallen.

Egal, wie man's realisiert, würde ich aber immer empfehlen, alles, aber wirklich alles, was irgendwie mit den zweidimensional angeordneten Editfeldern zu tun hat, auch in der Form blabla(i,j) abrufbar zu machen, weil man sich sonst einfach hoffnungslos in den Indizes verheddert.

Die Zeiger sind natürlich besser, weil für jede Situation geeignet.

Z4ppy 29. Jan 2009 19:39

Re: Edit-Felder => array of integer
 
Super, viiiiiielen Danke euch allen :thumb:

MfG Z4ppy


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.
Seite 2 von 2     12   

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