wwwi.tistory.com에서 가져옴
============================================================================================
델파이의 procedure와 function
값을 반환하는 서브루틴을 펑션(Function)이라하며 값을 반환하지않는 서브루틴을 프로시져(Procedure)라고 부른다.
procedure는 C에서 void형의 함수에 해당한다.
■ 프로시져 procedure
▶ 구조
label;
<라벨>
const
<상수 선언>
type
<형 선언>
var
<변수 선언>
<프로시져 및 펑션 선언>
begin
<프로시져 본문>
end;
프로시져 본체이외의 label, const, type, var 및 프로시져, 함수의 선언은 필요없는 경우 생략할 수 있다.
프로시져 안에 선언된 프로시져 또는 함수는 그 프로시져 안에서만 사용할 수 있다.
인수가 여러개 있는 경우는 세미콜론으로 구분한다.
▶ 사용예
procedure TestProc(nA:Integer; dB:double);
label 10;
const
NoMax = 256;
type
TTestRcd = record
nIdNo: Integer;
steId: String;
nVal: integer;
end;
var
arrItem: Array[0..NoMax] of Byte;
TempRcd: TTestRcd;
function InFunc(dB:double):double;
var
dC:double;
begin
//...
end;
begin
//...
//...
end;
■ 펑션 function
▶ 구조
label;
<라벨>
const
<상수 선언>
type
<형 선언>
var
<변수 선언>
<프로시져 및 펑션 선언>
begin
<프로시져 본문>
<프로시져 이름>:=<반환값>;
end;
▶ 사용예
함수값은 Result에 결과를 대입한다.
함수명에 반환값을 대입해도 된다.
function Testfunc(nA:Integer; dB:double):integer;
label 10;
const
NoMax = 256;
type
TTestRcd = record
nIdNo: Integer;
steId: String;
nVal: integer;
end;
var
arrItem: Array[0..NoMax] of Byte;
TempRcd: TTestRcd;
function InFunc(dB:double):double;
var
dC:double;
begin
//...
end;
begin
//...
//...
Result := nA * 2;
end;
'IT Life' 카테고리의 다른 글
PMP와 UMPC와의 고민.. (0) | 2008.01.02 |
---|---|
제로보드(Zeroboard 4) to 태터툴즈(tattertools) 변환 툴 만들기 (6) | 2007.12.28 |
포토샵과 비슷한 MS Paint.NET (0) | 2007.12.28 |
스카이 디지털 USB 메모리 구입 (0) | 2007.06.11 |
일반적인 LCD와 소니 LCD의 차이점 (0) | 2007.05.25 |
Microsoft Wireless Optical Desktop 3000 (0) | 2007.05.10 |
WebOS 현재 진행상황 (0) | 2007.05.07 |