![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопроса по record
Glex © (2006-04-17 22:42:00)1)
type TIntArr =
Val: array[1..100] of integer;
Len: integer;
end;
var A: TIntArr;
Как сделать, чтобы конструкция вида A[i] указывала на A.Val[i]?
Glex (2006-05-02 00:15:00) [1]Спасибо!
jack128 (2006-04-18 01:54:00) [2]Для Delphi2006 можно:
type
TIntArr = record
Val: array[1..100] of integer;
Len: integer;
private
function GetVal(Index: Integer): Integer;
procedure SetVal(Index: Integer; const Value: Integer);
public
property Values[Index: Integer]: Integer read GetVal write SetVal; default;
end;
{ TIntArr }
function TIntArr.GetVal(Index: Integer): Integer;
begin
Result := Val[Index];
end;
procedure TIntArr.SetVal(Index: Integer; const Value: Integer);
begin
Val[Index] := Value;
end;
procedure TForm7.FormCreate(Sender: TObject);
var
Arr: TIntArr;
begin
Arr[10] := 20;
ShowMessage(IntToStr(Arr.Val[10]));
end;
Гаврила (2006-04-17 22:48:00) [3]НИкак. Это можно сделать только для классов и их свойств, а для записей и их полей нельзя.
Glex (2006-04-17 22:43:00) [4]
type TIntArr = record
Val: array[1..100] of integer;
Len: integer;
end;
var A: TIntArr;