Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - string --> var [done]
TheHunter - Mo 12.05.03 19:58
Titel: string --> var [done]
servus
also ... ich hab in einer string variablen nen text stehen
( var test : string ;
test := hochhaus;
)
nun habe ich eine konstante festgelegt die ebenfalls hochhaus heißt
( const hochhaus = ' 11:00:00' ;)
wie kann ich es nun machen das ich meinetwegen die caption eines labels
ändern will dabei test verwende um an den inhalt von hochhaus zu kommen (leicht verwirrend ich weiß :P )
also das ich schreibe label1.caption := wasochimmer(test)
und dann '11:00:00' auf dem label steht
JacFab - Mo 12.05.03 21:52
hä? damit hast du das doch schon!
du schreibst dann für dein label einfach nur:
label1.caption:=test;
und dann hast du den wert deiner konstanten drauf!
Terra23 - Mo 12.05.03 22:32
... und überhaupt ist dein Posting alles andere als Einleuchtend. Komm doch mal zum Punkt :!:
foxy - Di 13.05.03 09:12
hat er doch :shock:
aber die antwort haste ja schon .... einfach deine variable oder const. in der caption verwenden
Simon Joker - Di 13.05.03 09:25
Hi
ich denke er meint das anders. Er will den Name der Constanten Hochhaus in der StringVariablen speichern und dann mit diesem auf den constanten Wert zugreifen.
Also so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| const hochhaus='blabla';
var Test:string;
... Test:='hochhaus'; Lable1.Caption:=GetConstValue(Test); ... |
Aber das ist meines Wissens nich möglich.
foxy - Di 13.05.03 10:06
joker wiso setzt du hochhaus als string hinter tes?? :shock:
das ist doch schon eine const O_O
und was du gerade beschrieben hast das macht absolut keinen sinn sry .. oder ich versteh ihn nicht :)
Simon Joker - Di 13.05.03 10:22
Das ist ja das Problem. Die StringVariable soll den Namen der Constanten enthalten. Und über die StringVariable soll dann auf die Constante zugegriffen werden. Das geht aber nicht, höchstens man merkt sich die Adresse der Const und liest den nullterminierten String aus.
TheHunter - Di 13.05.03 14:05
Titel: thx
yoa ich meinte das so wie simon, aber da es anscheinend nich geht muss ich mir wohl was anderes übalegn :?
trotzdem thx an alle
problem is folgendes
ich hab eine combobox mit einer reihe von items
z.bsp.
kraftwerk
siedlungskomplex
forschungszentrum
...
desweiteren hab ich einige konstanten
Quelltext
1: 2: 3:
| const DauerKraftwerk = '1:30:00' ; DauerSiedlungskomplex = '00:30:00' ; DauerForschungszentrum = '2:00:00' ; |
nun wollte ich folgenden code verwenden
Quelltext
1: 2: 3:
| procedure TForm1.ComboBox1Change(Sender: TObject); label1.caption := 'Dauer' + combobox1.item end; |
wenn ich jetzt z.bsp. das Kraftwerk auswähle steht aus dem label 'DauerKraftwerk'. ich wollte nun aber das er den wert aus der konstanten Dauerkraftwerk auf das label schreibt.
hoffe das ist jetzt verständlicher
Phantom1 - Di 13.05.03 14:46
ich würde das so hier lösen:
Quelltext
1:
| Const Eintrag: Array[0..2] of String=('1:30:00', '00:30:00', '2:00:00'); |
und hier:
Quelltext
1: 2: 3: 4:
| procedure TForm1.ComboBox1Change(Sender: TObject); begin Label1.caption := 'Dauer ' + Eintrag[combobox1.ItemIndex]; end; |
Simon Joker - Di 13.05.03 14:47
Hi
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| type TArrStr = array [0..1,0..1] of string; var Val:TArrStr=(('A1','02:00:30'),('A2','00:00:30'));
... procedure TForm1.ComboBox1Change(Sender: TObject); begin if ComboBox1.ItemIndex<>-1 then Label1.Caption:=Val[ComboBox1.ItemIndex,1]+' '+ComboBox1.text//Items[ComboBox1.ItemIndex] else Label1.Caption:=''; end;
procedure TForm1.FillCombo; var i:integer; begin ComboBox1.Items.Clear; for i:=0 to Length(Val)-1 do ComboBox1.Items.Add(Val[i,0]); end; ... |
So sollte es gehen.
EDIT: Wieder zu langsam. Er muss aber aufpassen, dass Inhalt der Combo und des Arrays zusammenpassen.
TheHunter - Di 13.05.03 14:51
wunderbar, schön dank nochmal :D
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!