본문 바로가기

파스칼

(5)
[DELPHI] 기본 문법 - 함수형, unit 델파이에서 사용되는 함수 형태는 크게 procedure 와 function 두가지 입니다. 이 둘의 차이는 C 에서 void 형인가 아닌가의 차이겠군요. 즉, 함수 자체가 인자를 받아서 함수 자체가 결과 값을 되돌려 주지 않는가 또는 주는가의 차이라 하곘습니다. 차이는 다음과 같이 알 수 있습니다. procedure testProc(input1 : integer); function testFunc(input1 : integer) : integer; procedure 인 testProc 는 입력인자로 integer 형으로 input1 이란 걸 받고 뭔가를 처리 할 것입니다. 반면 function 인 testFunc 는 입력으로 input1 을 받아서 뭔가를 다시 integer 형태로 결과를 돌려 주게 됩니..
[DELPHI] 기본 문법 - 구조체, 사용자 정의. 델파이는 기본적으로 구조체를 record 로 정의 하고 있습니다. 또한 이름은 관례적으로 T 를 앞에 붙이고 있습니다. type TstructExample = record testInt : integer; testByte : byte; testString : string; end; // of TstructExample; 이렇게 선언된 구조체는 class 내나 변수선언 부 에서 정의 할 수 있습니다. var structExample : TstructExample; 또한 이 구조체를 포인터로만 선언 하고 싶다면 다음과 같이 선언 할 수 있습니다. var pStructExample : ^TstructExample; C 에서 * 을 붙이는 것과 비슷하게 ^을 붙임으로서 포인터로 사용이 가능합니다. 하지만 델파이..
[DELPHI] 기본적인 문법 - 시작과 끝, 함수와 변수. 델파이는 기본적으로 pascal 문법을 사용하며, object pascal 형태로 C++ 과 함께 사용될 수 있습니다. 즉, DLL 을 class 로 만든 경우, 델파이에서도 그에 대응하는 class 를 구성함 으로서 사용이 가능하다는 것 입니다. 하지만 이런 방법 이전에 델파이가 사용하는 pascal 의 문법부터 알아 보는 시간을 가져야 겠습니다. 초창기의 pascal 은 매우 단순한 변수형들만 지원을 했습니다만, 컴파일러가 진화 하면서 점점 다양해 지기 시작 했습니다. 또한 pascal 은 상위언어에 속하는 지라 대소문자를 가리지 않습니다. (단, int64 와 Int64 는 다릅니다.) 기본적으로 수를 다루는 함수 형태는 다음과 같이 존재 합니다. Integer data types : Byte ( ..
[DELPHI] 델파이, 그 이전에 파스칼(PASCAL) 델파이 언어는 Object Pascal 이라는 객체지향 파스칼 언어에 해당합니다. 정확히는 Object Pascal 형의 언어가 되는 격 입니다 (코드기어 즉, 볼랜드 측에서는 델파이 랭귀지 라고 호칭합니다) C 에서도 C 와 C++ 이 존재 하듯이, Pascal 역시 Object Pascal 이 C++ 에 해당하는 구조라 하겠습니다. Pascal 의 경우는 C 와 달리 type casting이 매우 정확 해야 하며, 이로 인해 유연성이 C 에 비해 많이 떨어 지는 편 입니다. 그로 인해 델파이 에서는 그런 문제들을 위해 다양한 포인터를 지원하고 이로 인해 C 나 C++ 로 만든 DLL 과도 완벽한 호환이 가능하고 재사용이 가능합니다. 문법에 있어서는 C 이전에 나온 언어라 C 나 C++ 과 비슷한 면도..
64bit OS 를 위한 Free Pascal Compiler - Lazarus windows64 를 위한 C compiler 는 minGW 가 있었습니다만. pascal 을 위한 compiler 는 뭐가 있을까 하여 찾아 보다가 발견 했습니다. MinGW 와 마찬가지로 GPL 을 따르는 컴파일러 입니다만 , 여기에 편리한 GUI 를 지원해 주는 Lazarus 라는 프로젝트가 있음을 알았습니다. Borland(Code Gear) 사의 Delphi 처럼 간단히 비주얼적인 부분을 응용하여 win64 어플리케이션을 만들수 있으며, win32 용 빌더를 따로 제공하고 있습니다. 다만, 일반적으로 컴파일 할 경우 실행 파일의 크기가 너무크게 나오므로(보통 15MB ... ㄷㄷㄷ ...) 약간의 옵션수정을 해서 Publishing 해야 하는 노가다는 있습니다만, 64비트용 어플리케이션 개발을 ..