AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Control name per variable?

Ein Thema von softtouch · begonnen am 30. Aug 2023 · letzter Beitrag vom 31. Aug 2023
Antwort Antwort
Benutzerbild von softtouch
softtouch

Registriert seit: 13. Feb 2015
Ort: Kerpen
235 Beiträge
 
Delphi 12 Athens
 
#1

Control name per variable?

  Alt 30. Aug 2023, 10:12
Schwer zu erklären, aber sagen wir mal, ich habe 3 TEdit, mit den name edit1, edit2 und edit3.
Gibt es eine Möglichkeit, auf diese in einer Schleife zuzugreifen, indem der Control Name in einer variablen steht?

Delphi-Quellcode:
Pseudo code:

for i:=1 to 3 do
begin
controlname:='edit'+i.tostring;
end;
Wie kann ich auf das Control mit dem Namen controlname zugrifen um properties zu setzen (text zum Beispiel)?
Ich kann ja schlecht controlname.text nutzen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

AW: Control name per variable?

  Alt 30. Aug 2023, 10:19
Self.FindComponent(dername)

nach Owner -> Delphi-Referenz durchsuchenTComponent.FindComponent
nach Parent -> Delphi-Referenz durchsuchenTWinControl.FindChildControl (nicht mit Delphi-Referenz durchsuchenFindControl)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von softtouch
softtouch

Registriert seit: 13. Feb 2015
Ort: Kerpen
235 Beiträge
 
Delphi 12 Athens
 
#3

AW: Control name per variable?

  Alt 30. Aug 2023, 10:24
Self.FindComponent(dername)

nach Owner -> Delphi-Referenz durchsuchenTComponent.FindComponent
nach Parent -> Delphi-Referenz durchsuchenTWinControl.FindChildControl (nicht mit Delphi-Referenz durchsuchenFindControl)
Danke, habe ich auch gerade gefunden. Funktioniert wunderbar.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.603 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Control name per variable?

  Alt 30. Aug 2023, 10:36
Oder einmalig (im Constructor) ein Array füllen, so dass man danach einfach per Index in dieses Array auf die Controls zugreifen kann. Dann ist man auch nicht darauf angewiesen, dass die Namen durchnummeriert sind.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#5

AW: Control name per variable?

  Alt 31. Aug 2023, 16:04
Dann würde ich doch eher zu einem Dictionary tendieren. Da kann man dann den Namen dem Objekt gegenüberstellen. Ähnlich wie im Emba Beispiel zu Dictionaries: https://docwiki.embarcadero.com/Libr...nary#Iteration

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#6

AW: Control name per variable?

  Alt 31. Aug 2023, 16:38
Ein Array mit ENUM ist im Code auch nett.

Zugriff per compiler-prüfbaren Namen
und die Möglichkeit mit FOR früberzulaufen.

Delphi-Quellcode:
type
  myControls = (mcEdit1, mcEdit2, mcEdit3);
var
  theControls: array[myControls] of string;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr.
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