Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankfelder über String ansprechen (https://www.delphipraxis.net/146571-datenbankfelder-ueber-string-ansprechen.html)

sebastian1979 22. Jan 2010 19:55

Datenbank: Interbase • Zugriff über: BDE

Datenbankfelder über String ansprechen
 
Hallo,

ich habe folgendes Problem. Ich möchte ganz gerne Eigenschaftswerte bestimmter Tabellen ändern.

Vom Prinzip her ja kein Problem:

Delphi-Quellcode:
Datenbank.TabelleSpalte.DisplayLabel := 'Test';
Da ich aber ca. 300 Spalten in der Tabelle habe,
welche alle den gleichen Namen + "Zähler" habe (EDIT1,EDIT2...EDIT300)
würde ich das ganze gerne über eine "for to do" Schleife lösen.

Delphi-Quellcode:
for i:=1 to 300 do
begin
 DB.findcomponent('EDIT' + inttostr(i)).DisplayLabel := 'Test';
end;
Das Problem ist, dass das leider nicht funktioniert,
Delphi sagt mir "Undefinierter Bezeichner DisplayLabel"

Ich habe findcomponent bereits bei Edit Komponente benutzt dabei hat man von ein "as TEdit" hinter den string gesetzt.

Habe das ganze dann mal so ausprobiert:
Delphi-Quellcode:
...
DB.findcomponent(('EDIT' + inttostr(i)) as TIBTable).DisplayLabel
... und so...
DB.findcomponent(('EDIT' + inttostr(i)) as TIBStringfield).DisplayLabel
...
funktioniert auch nicht wieder "Undefinierter Bezeichner" nur für das hinter dem "as".

Ich hoffe mir kann jemand weiter helfen, vielen Dank schon mal für Eure Hilfe.

Gruß
Sebastian

[edit=Matze][delphi]-Tags eingefügt. Zukünftig bitte selbst daran denken. MfG, Matze[/edit]

mkinzler 22. Jan 2010 19:58

Re: Datenbankfelder über String ansprechen
 
Du musst noch in den richtigen typ casten:

Delphi-Quellcode:
(DB.findcomponent('EDIT' + inttostr(i)) as TField).DisplayLabel := 'Test';

sebastian1979 22. Jan 2010 20:20

Re: Datenbankfelder über String ansprechen
 
Hallo Markus,

hatte erst Probleme ... wieder undefinierter Bezeichner.
Aber die Delphi Hilfe kannte TField und zeigte mir die Unit DB an.
Habe diese geladen und jetzt funzt es.

Vielen Dank und einen schönen Abend noch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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