Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Über Strings auf Edit-Felder o.ä. zugreifen - wie???
Killi - Fr 03.01.03 13:39
Titel: Über Strings auf Edit-Felder o.ä. zugreifen - wie???
Hi!
Also - ich hab zum Beispiel nen String time:= '730' - jetzt will ich ÜBER diesen STRING auf ein Edit-Feld zugreifen, wie mache ich das? Hab gedacht mit sowas ähnlichem wie 'E' + time + '_1'.Text:= 'blabla' (Also heißt mein Edit-Feld "E730_1") - aber das geht nat. nicht! Wie mache ich das am besten???
Luncustaf - Fr 03.01.03 13:44
Quelltext
1: 2: 3: 4:
| with Edit1 do begin name := 'E'+ time +'_1'; end; |
so sollte es eigentlich funktionieren -> dann haste dem editfeld den namen E730_1 zugewiesen.
wenn du mehrere hast und jeweils auf den wert aus time zurückgreifen willst um dann auf die eigenschaft text zuzugreifen musste erst den namen vergeben und dann das verwenden um darauf zugreifen zu können
Quelltext
1:
| TEdit('E'+ time +'_1').Text := 'xxxx' |
korrigiert mich wenn ich falsch liege
gr€€tz
Killi - Fr 03.01.03 13:59
Danke für die schnelle Hilfe!
OK, die Objekte gibt es schon, ich muss ihnen nicht extra den Namen geben! Jetzt wollte ich grade bei nem Label die Farbe ändern:
Quelltext
1: 2: 3: 4:
| DecodeTime(Now, Hour, Min, Sec, MSec); Labeltest.Caption:= IntToStr(Hour) + ' - ' + IntToStr(Min); TLabel('L'+ IntToStr(Hour) + IntToStr(Min) +'_1').Color:= clYellow; |
Aber er hat mir n Fehler bei der EAccessViolation gegeben - Zugriffsverletzung! Wieso? Das Label heißt L130_1 - genau das hat mir das DecodeTime auch gegeben 13 und 0!?!?
maxk - Fr 03.01.03 14:28
Quelltext
1:
| (FindComponent('E' + time + '_1') as TEdit).Text:='Test'; |
Sollte gehen!
maxk
Killi - Fr 03.01.03 14:34
Danke! Hat geklappt!!!!
Ist total wichtig für meinen neuen Terminkalender, damit ich die jetzige Zeit hervorheben kann!
DANKE!!!
maxk - Fr 03.01.03 14:52
Pass auf!
Du solltest lieber vorher mit:
Quelltext
1:
| if not (FindComponent('E' + time + '_1') is TEdit) then exit; |
ob es sich wirklich um ein Edit handelt! Sonst kriegst du ne Exception
maxk
Killi - Fr 03.01.03 17:44
Basst scho! Hab 10.000 Labels bzw. Edits in 15 Minuten-schritten so benannt, also weiß ich auch dass es Labels bzw. Edits sind, und diejenigen, die es nicht gibt, habe ich eh mit ner Schleife ausgeschlossen!
Killi - Fr 10.01.03 16:07
Hi!
Nochmal Frage: Wie kann ich das ganze RÜCKWÄRTS machen? Also wenn ich auf n Label, das EPatient700_1 heißt klicke - will ich das 700 rausholen - wie mach ich das? Gibts da auch n Befehl???
tommie-lie - Fr 10.01.03 17:48
nimmst den Name als String, suchst dir die Position von 700 und kopierst's raus. Oder schneidest das EPatient und _1 raus, dann hast du auch die 700.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!