type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
function ReturnArray(): arInteger;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
function TForm1.ReturnArray: arInteger;
var
i: integer;
begin
SetLength(Result,10);
for i:=0 to 9 do Result[i] := i+1;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
ar: arInteger;
begin
Memo1.Lines.Clear;
ar := ReturnArray();
for i:=0 to 9 do Memo1.Lines.Add(inttostr(ar[i]));
SetLength(ar,0); //혹은 Finalize(ar);
ar := Nil;
end;
end.
<!--CodeE-->
테스트하니 잘되는군요..
그냥 덩그러니.. form 하나에 TButton, Tmemo 각각 1개 만들고..
하니..
잘되네요..
syntax의 활용은 많죠..
type은 object에 대한 모든 type을 재지정하는 것입니다..
따라서, 모든 정해진 object에 처리가능합니다.
function, procedure,object(컴포넌트들..Tform같은거죠..)
흠.. 이건 단지 syntax문제인 것 같네요..
syntax를 어떻게 사용하느냐의 문제이므로..
흠..
일단.. type을 선언하시구요...
그 type을 return 하게 하면 되겠군요..
밑의 예제는 function이지만, 뭐.. procedure로 주고받고 해도 되겠습니다..
대신.. 주고 받을때는 argument에 var를 붙여주심이 좋겠죠..
<!--CodeS-->
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type arInteger = array of Integer;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
function ReturnArray(): arInteger;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
function TForm1.ReturnArray: arInteger;
var
i: integer;
begin
SetLength(Result,10);
for i:=0 to 9 do Result[i] := i+1;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
ar: arInteger;
begin
Memo1.Lines.Clear;
ar := ReturnArray();
for i:=0 to 9 do Memo1.Lines.Add(inttostr(ar[i]));
SetLength(ar,0); //혹은 Finalize(ar);
ar := Nil;
end;
end.
<!--CodeE-->
테스트하니 잘되는군요..
그냥 덩그러니.. form 하나에 TButton, Tmemo 각각 1개 만들고..
하니..
잘되네요..
syntax의 활용은 많죠..
type은 object에 대한 모든 type을 재지정하는 것입니다..
따라서, 모든 정해진 object에 처리가능합니다.
function, procedure,object(컴포넌트들..Tform같은거죠..)
답이되셨길 바랍니다.