Hallo,
| sunday_2 hat folgendes geschrieben: |
| Wie sag ich den der Funktion das buchstabe den wert von ComboBox_zahl.text haben soll? |
das geht nicht. Da Buchstabe eben nur
ein Buchstabe ist und der Text in deiner Combobox ein String also
viele Buchstaben sind.
Wenn du aber z.B. willst, dass der erste Buchstabe deines Parameters sender ausgewertet wird, dann siht das so aus:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| function TSpieldefinition.buchstabe_zahl(Sender: String):integer; var buchstabe: char; zahl:integer; begin IF (sender <> '') THEN Buchstabe := Sender[1] ELSE Buchstabe := '' [...] |
Desweiteren solltest du eine vorkehrung, für den Fall das Buchstabe einen unerwarteten Wert hat, treffen. Das machst du am besten, indem du einen ELSE Zweig in deiner CASE Abfrage einbaust:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| [...] 'x': zahl:= 33; 'y': zahl:= 34; 'z': zahl:= 35; ELSE Zahl := 0; end; result:= zahl; end; |
In diesem Fall wird wenn ein Fehler Auftritt eine 0 zurückgegeben. Das kannst du dann wieder andersw abfragen.
Gruß
Klabautermann