![]() |
Array Eigenschaft mit record
Hallo,
habe eine Klasse die eine Array Eigenschaft hat. Diese Eigenschaft ist vom typ TGame welcher ein record bestehend aus den Feldern field und anz ist. Will ich jetzt den einzelnen Feldern etwas zuordnen sagt er mir immer der linken seite kann nichts zugeordnet werden. Was muss ich ändern ? Hier der relevante code der beiden units
Delphi-Quellcode:
und noch den code aus der Dart Klassetype TGame = record field : integer; anz : integer; end; type TPlayer = class(TObject) private f_name :String; f_stand:integer; f_games : array of Tgame; f_fields : array of integer; f_points : array of integer; function GetGames(index: integer): TGame; procedure SetGames(index: integer; const field , anz: TGame); public constructor Create(name : String); property games[index : integer]: TGame read GetGames write SetGames; end; implementation { TPlayer } constructor TPlayer.Create(name: String); begin SetName(name); setLength(f_points,1); setlength(f_games,1); end; function TPlayer.GetGames(index: integer): TGame; begin result := f_Games[index]; end; procedure TPlayer.SetGames(index: integer; const Value: TGame); begin if index > high(f_games)+1 then begin showMessage ('Falscher Index bei Tplayer.SetGames'); exit; end else if index = length(f_games) then setlength(f_games,length(f_games)); f_games[index] := value; end;
Delphi-Quellcode:
aspieler[i].games[0].field := 18; aspieler[i].games[0].anz := 1; |
Re: Array Eigenschaft mit record
Delphi-Quellcode:
muss eig. funzen.
type
TGame = record field: integer; anz: integer; end; TPlayer = class(TObject) private f_name: String; f_stand: integer; f_games: array of Tgame; f_fields: array of integer; f_points: array of integer; function GetGames(index: integer): TGame; procedure SetGames(index: integer; agame: TGame); public constructor Create(name : String); property games[index : integer]: TGame read GetGames write SetGames; end; implementation { TPlayer } constructor TPlayer.Create(name: String); begin SetName(name); setLength(f_points,1); setlength(f_games,1); end; function TPlayer.GetGames(index: integer): TGame; begin result := f_Games[index]; end; procedure TPlayer.SetGames(index: integer; agame: TGame); begin if (index > high(f_games)+1) or (index < 0) then begin showMessage ('Falscher Index bei Tplayer.SetGames'); exit; end else if index = length(f_games) then setlength(f_games,length(f_games)); f_games[index] := agame; end; |
Re: Array Eigenschaft mit record
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21: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-2025 by Thomas Breitkreuz