delphi function 및 procedure

Delphi는 데이터를 조작하는 방법을 두 가지로 나눈다.
하나는 function이고, 다른 하나는 procedure로 각각'함수'와'과정'이라고 부른다.
이 두 가지 가장 큰 차이는 함수가 되돌아오는 값을 가지고 과정이 없다는 것이다. 예를 들어 단추의 이벤트 응답 과정이 있는데 이것이 바로 과정이기 때문에 되돌아오는 값이 없다.
문자열의 길이를 구하는 함수 Length와 같은 간단한 함수
function Length(S:string):Integer;
이 함수에는 계산할 문자열의 매개 변수 S가 있습니다. 이 함수의 반환 값은 정수 형식입니다. 반환 문자열의 길이입니다.
예를 들어 말하자면 함수GetNum()이 필요하다고 가정하면 성형 파라미터num1,num2가 두 개 있고 함수는 계산을 거친 후에 이 두 정수의 평균수를 되돌려준다.
함수는 다음과 같습니다.
function GetNum(num1:Integer;num2:Integer):Integer;
//함수 이름 var haha:Integer;Begin Result:=(num1+num2)/2;
//Result에 계산 결과 부여
//GetNum:=(num1+num2)/2;
//이렇게 haha:=555라고 쓸 수도 있다.
//함수 이름에 값을 부여하면 함수가 되돌아온다. 즉, GetNum:=(num1+num2)/2를 사용하면함수에 값을 부여하면 이 문장은 영원히 실행되지 않을 것이다.
End;
 
함수의 성명:function 함수 표시자 (매개 변수 목록): 값을 되돌려줍니다.
함수의 정의: function MyFunc(Param1, Param2: Integer, Param3: Real): Integer,
//함수 매개 변수 사이를 분호로 구분하고 괄호 밖의 형식은 함수의 반환 형식이다.
Begin
//함수 정의 섹션
End;
 
함수 반환 값에는
하나는 함수 이름에 직접 값을 부여하는 것이고, 다른 하나는 Result 변수에 값을 부여하는 것이다.함수 이름에 값을 부여하면 함수가 되돌아옵니다.Result는 함수 특유의 국부 변수로, 함수의 반환 형식과 같고, 함수에 대한 값은 함수 이름에 대한 값과 같다.함수 이름과 달리 Result 변수는 값 부여 번호의 오른쪽에 나타날 수 있으며, 함수 이름이 값 부여 번호의 오른쪽에 나타날 때, 즉 함수가 자신을 호출하는 것을 의미한다.
또한 Result에 값을 지정하면 다음과 같은 함수가 반환되지 않습니다.
    function MyFunc(s:Integer):Integer;
    Begin Result:=Result*s;//값을 부여하지만 되돌아오지 않습니다.
         MyFunc:=s*s;//값을 부여한 후 프로그램이 되돌아옵니다.
    End;
 
예2:
    function MyFunc():Integer;
    Begin
        Result:=Result+5;//MyFunc():=MyFunc()+5를 사용하는 경우사순환을 초래할 것이다.
    End;
function MyFunc(s:Integer):Integer;

    Begin Result:=Result*s; //        。 

         MyFunc:=s*s;//       。 

    End; 2:

    function MyFunc():Integer;

    Begin 

        Result:=Result+5; //    MyFunc():=MyFunc()+5;      。

    End;

좋은 웹페이지 즐겨찾기