Цитата(ПЕЛ @ 8.8.2009, 06:49 ) | | И как в дальнейшим использовать такого рода функцию в теле программы? просто присваиваем результат массиву а оттуда уже "дергаем"? |
| Код | procedure TForm1.Button2Click(Sender: TObject); var A: TMyDataArray; begin ShowMessageFmt('F: %d ; S: %d', [A[vtFirst], A[vtSecond]]); end;
|
Можно так, а можно и напрямую:
| Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
TVarTypes = (vtFirst, vtSecond); TMyDataArray = array[TVarTypes] of Integer;
var Form1: TForm1;
implementation
{$R *.dfm}
{ Возвращаем два значения в массиве } function Foo: TMyDataArray; begin Result[vtFirst] := 123; Result[vtSecond] := 345; end;
procedure TForm1.Button1Click(Sender: TObject); var I, J: Integer; begin I := Foo[vtFirst]; J := Foo[vtSecond]; ShowMessageFmt('I: %d ; J: %d', [I, J]); end;
end.
|
|