Delphi [델파이 문법] 문법 요소 #9

2012.11.05 20:44

관리자 조회 수:5934

단순문
단순문(simple statement)은 다른 문장을 포함하지 않습니다. 단순문에는 대입문, 프로시
저와 함수 호출, goto 문이 포함됩니다.


■ 대입문
대입문(assignment statement)의 형식은 다음과 같습니다.

1.png

여기서 variable은 어떤 변수 참조 형태이든 가능한데, 여기에는 변수, 변수 타입 캐스트, 역
참조(dereference) 포인터, 구조(structured) 변수의 컴포넌트 등이 있습니다. expression
은 대입이 가능한 모든 표현식이 될 수 있습니다. (함수 블럭 안에서 해당 함수 자체의 이름
을 variable로 쓸 수도 있습니다. 5장“프로시저 및 함수”를 참조하십시오.) := 기호를 대입
연산자라고 부르기도 합니다.

대입문은 variable의 현재 값을expression의 값으로 바꿉니다. 예를 들면,

2.png

이 문장은 변수 I에 값 3을 대입합니다. 대입 연산자의 왼쪽에 있는 변수 참조가 오른쪽의 표
현식에 사용될 수도 있습니다. 예를 들면,

3.png

이 문장은 I의 값을 증가시킵니다. 다른 대입문의 예는 다음과 같습니다.

4.png


■ 프로시저 및 함수 호출
프로시저 호출은 프로시저 이름(한정자가 지정될 수도 있습니다)과 (필요한 경우) 파라미터
리스트로 구성됩니다. 다음과 같은 예들이 있습니다.

5.png

확장 문법이 활성화된 상태에서는({$X+}) 함수 호출은 프로시저 호출과 마찬가지로 문장
으로서 사용될 수 있습니다.

6.png

함수 호출을 이런 방식으로 사용할 경우 리턴 값은 버려집니다.
프로시저와 함수에 대한 자세한 내용은 5장“프로시저 및 함수”를 참조하십시오.


■ Goto 문

goto 문의 형식은 다음과 같습니다.

7.png

이 문장은 프로그램 실행을 지정한 레이블이 표시된 문장으로 이동합니다. 문장에 레이블을
표시하려면 먼저 레이블을 선언해야 합니다. 그런 다음, 레이블로 표시하려는 문장 앞에 다
음과 같이 레이블과 콜론을 써넣습니다.

8.png

레이블은 다음과 같이 선언합니다.

9.png

다음과 같이 여러 개의 레이블을 한 번에 선언할 수도 있습니다.

10.png

레이블은 유효한 식별자 또는 0과 9999 사이의 숫자를 사용할 수 있습니다.
레이블 선언, 레이블이 표시된 문장, 그리고 goto 문은 같은 블럭에 있어야 합니다.(3장의
“블럭과 유효 범위”절을 참조) 따라서 프로시저나 함수의 안이나 밖으로 이동하는 것은 불
가능합니다. 한 블럭에서 둘 이상의 문장을 같은 레이블로 표시하지 마십시오.
예를 들면, 다음과 같습니다.

11.png

이 문장은 Beep 프로시저를 반복적으로 호출하는 무한 루프를 만듭니다.
또, try-finally나 try-except 문의 안이나 바깥으로 이동하는 것은 불가능합니다.
일반적으로 구조적 프로그램에서는 goto 문을 사용하지 않는 것이 좋습니다. 그러나 다음 예
제처럼 중첩된 루프로부터 빠져나가는 방법으로 사용되는 경우도 있습니다.

12.png

중첩 루프를 빠져나가기 위해 goto 문을 사용했다는 점을 눈여겨보십시오. 루프나 구조문의
안으로 이동해서는 안됩니다. 예기치 못한 결과를 일으킬 수 있기 때문입니다.

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15469
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13974
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16505
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22061
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23273
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18933
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39266
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174729
90 [온라인 세미나 발표자료] RAD Studio XE7! 관리자 2014.09.17 1641
89 [따라하기] 인공지능 오목게임(3) - 디자인 구성하기 file 대화마을 2017.09.14 1641
88 [따라하기] 인공지능 오목게임(2) - 최종결과물 [2] file 대화마을 2017.09.14 1626
87 [따라하기] 인공지능 오목게임(7) - 오목게임 승자(5돌) 결정 지능프로그램 file 대화마을 2017.10.17 1584
86 RFID 리더(한미IT RF Prisma) 연동하기 - 델파이에서 JAR 이용 [1] 험프리 2017.12.19 1550
85 [기술문서] Delphi 코딩 스타일과 아키텍처(Delphi 2009의 언어 기능 리뷰) 관리자 2014.09.16 1536
84 [안드로이드] 배포파일, 아이콘, 스플래쉬 등이 잘 배포되었는지 확인하기 file 험프리 2015.11.11 1524
83 [고객 사례- 델파이, 모바일, 전략] 축구 전술 기획 앱 - Soccer Playview 관리자 2021.08.20 1402
82 [따라하기] 도서대여 프로그램 만들기 - 6, 통합테스트 file 험프리 2017.02.02 1352
81 델파이용 로우 코드 앱 마법사(LOW CODE APP WIZARD) 관리자 2021.06.25 1285
80 윈도우 10에서의 High DPI 김원경 2020.03.02 1273
79 제너릭(Generic)과 제너릭을 사용한 예제(제너릭 콜렉션 등) file 김원경 2020.01.15 1230
78 [코드레이지 2019] 웹소켓(WebSocket)과 델파이 험프리 2020.01.22 1225
77 REST 웹서비스, 델파이에서 어떻게 활용해야 할까요? 관리자 2021.08.11 1214
76 델파이의 새 달력콤포넌트 기능향상 및 버그수정.. 나비스 2017.08.18 1209
75 내가 델파이를 계속 선택하는 이유 관리자 2021.06.01 1196
74 XE8로 구현한 멀티플랫폼 클립보드 공유앱 런칭 file c2design 2015.04.19 1185
73 델파이 문서화 도구 참고링크 Humphery 2015.09.11 1162
72 [DelphiCon 요약] Spring4D 소개 - 델파이 개발을 한수준 높이기 (Introduction to Spring4D - Taking Delphi Development to the Next Level) 관리자 2021.01.08 1146
71 부동소수점 숫자(실수)에 대한 참고 글 [1] 험프리 2016.12.14 1141