| Autor |
Beitrag |
Killi
      
Beiträge: 299
Win*
D6 Prof
|
Verfasst: Fr 03.01.03 13:39
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
      
Beiträge: 324
Win 2k
D7 Ent.
|
Verfasst: 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 
      
Beiträge: 299
Win*
D6 Prof
|
Verfasst: 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
      
Beiträge: 1696
Erhaltene Danke: 1
Win XP, Debian Lenny
Delphi 6 Personal
|
Verfasst: Fr 03.01.03 14:28
Quelltext 1:
| (FindComponent('E' + time + '_1') as TEdit).Text:='Test'; |
Sollte gehen!
maxk
_________________ Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
|
|
Killi 
      
Beiträge: 299
Win*
D6 Prof
|
Verfasst: 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
      
Beiträge: 1696
Erhaltene Danke: 1
Win XP, Debian Lenny
Delphi 6 Personal
|
Verfasst: 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
_________________ Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
|
|
Killi 
      
Beiträge: 299
Win*
D6 Prof
|
Verfasst: 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 
      
Beiträge: 299
Win*
D6 Prof
|
Verfasst: 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
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: 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.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|