![]() |
Variablenverkettung: Wert einer Variable auslesen, die einem Pointer entspricht
Ich habe drei Variablenlisten: Nennen wir sie der Einfachheit halber "Auto", "Motor" und "Leistung".
Ich möchte die Leistung des Motors eines Autos bestimmen. 'MotorN' ist dabei zum einen String, der einem Auto zugewiesen wird und gleichzeitig eine gleichnamige Variable, der eine Leistung zugewiesen ist. Gesetzt wurde: Auto1 := 'Motor1' // 'Motor1' = String Motor1 := Leistung1 // Motor1 = Variable Leistung1 := '99' bzw. 99 // String oder Integerwert Mit Pchar(Auto1) kann ich den Motor auslesen. Meine Frage ist: Wie kann ich über den Motor die Leistung auslesen? Mit Pchar(Pchar(Auto1)) geht es nicht. Oder lässt sich das Problem einfacher abbilden? |
AW: Variablenverkettung: Wert einer Variable auslesen, die einem Pointer entspricht
Also, da Delphi sowieso garnicht den Name der Variable in der RTTI speichert, ist die ganze Sache eh irrelevant.
(ja, nicht als Variablen, sondern als Feld in ein Klasse ... aber neee)
Delphi-Quellcode:
Autos = [Auto1, Auto2]
Autos: TStringList; // oder oder ein String-Array oder sonstwas
Motoren: TDictionary<string,string>; Leistung: TDictionary<string,Integer>; Motoren = [Auto1:Motor1, Auto2:Motor2] Leistung = [Motor1:99, Motor2:150] Oder warum nicht gleich eine Liste, Dictionary oder Array mit einem Record, welcher 3 Felder besitzt. :stupid:
Delphi-Quellcode:
type
TAuto = record // oder als "class" Auto: string; Motor: string; Leistung: Integer; end;
Delphi-Quellcode:
TList<TAuto> // TObjectList<TAuto> wenn als CLASS
TArray<TAuto> TDictionary<string,TAuto> // also name des Autos, mit dessen Eigenschaften |
AW: Variablenverkettung: Wert einer Variable auslesen, die einem Pointer entspricht
Zitat:
Ich habe mich jetzt für eine einfache Funktion zur Abfrage der "Leistung" entschieden:
Code:
Leistung := GetLeistung(Pchar(Auto1))
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz