Hallo,
wollte ein Programm zur Umrechnung von Geschwindigkeiten (z.Bsp: 36km/h = 10m/s) und um ein paar Daten zusammenzufassen habe ich einen Record benutzt. Nun zeigt mit Delphi einen Fehler an.
Delphi-Quellcode:
TSpeed = record
Edit : TEdit;
(*das Edit-Feld in dem der Wert steht (zb. 36)*)
Value : Double;
(*der Wert im Edit-Feld in double*)
Combobox : TCombobox;
(*Eine Combobox in der sich die Einheit befindet (zb.: 'km')*)
ValueofCBItems : array of Integer;
(*Hier das zweite Item der Combox z.Bsp. hat den Wert 1000,
da man 36 muss mit 1000 multipl. um auf Meter zu kommen*)
end;
Hier wird InputRoute definiert
Delphi-Quellcode:
InputRoute.Edit := Form1.ed_RouteInput;
InputRoute.Combobox := Form1.cb_RouteUnitInput;
Setlength(InputRoute.ValueofCBItems, 2);
InputRoute.ValueofCBItems[0] := 1;
InputRoute.ValueofCBItems[1] := 1000;
InputRoute := Convert(InputRoute);
InputRoute := CalculateValue(InputRoute);
Und hier die Funktion.
Delphi-Quellcode:
function CalculateValue(Speed : TSpeed) : TSpeed;
begin
if Speed.Combobox.Items[Speed.Combobox.ItemIndex] = Speed.Combobox.Text then //hier wird der Fehler gemeldet
Speed.Value := Speed.Value * Speed.ValueofCBItems[Speed.Combobox.ItemIndex]
else
Speed.Combobox.ItemIndex := 0;
result := Speed;
end;
Hoffe ihr könnt mir helfen, danke im Voraus.