일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 시리얼 통신
- vb
- WIN32 SDK
- 데이터베이스
- SDK
- 파이어버드
- MySQL
- VB.NET
- 초보
- 소니
- Delphi
- 델파이
- xml
- PostgreSQL
- c#
- 파라미터
- 입문
- 인스톨
- Firebird
- 예제
- MFC
- winsock
- Visual Basic
- 설치
- SQL
- dll
- 문자열
- 셋업
- 기초
- Visual Studio 2005
- Today
- Total
프로그래밍 노트
델파이의 procedure와 function 본문
델파이의 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;