본문 바로가기

델파이

(15)
[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++ 과 비슷한 면도..
SSangeOn 을 위한 TurboDelphi Explorer 기본강좌 시작합니다. 같이 일하는 우수 병특인재 인 SSangeOn 의 급 Delphi 파워를 맛들이기 시작한지라, 강좌를 시작 해 볼까 합니다. 사내 100명이 넘는 인원중 Delphi 를 아는 사람이 저 포함 아마 2명 정도 될듯 합니다. 사람들은 C 는 어설프게 알더라도 Delphi 는 뭔지 모르거나, 비교 자체가 기분 나쁜 M$ Visual Basic (비베) 과 비교하는 경우가 있습니다. 비베 따위와 비교 당하는 것은 무척이나 기분 나쁜 일이죠. 아무튼. SSangeOn 을 위해서라도, 양병규님의 정신을 전파하기 위해서라도, 제가 아는 얇팍한 윈도우32 어플리케이션 꽁수들을 위해서라도 짬짬히 강좌를 써 보도록 하겠습니다. 기본으로 포함되는 일부 라이브러리 문제점을 수정 할 수 있는 팁과. 향상된 라이브러리 처리 등등..
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비트용 어플리케이션 개발을 ..
UltraEdit 에 Delphi(Pascal) 문법 syntax highlight 추가하기. 울트라에디터에 Delphi(pascal) 문법의 Syntax highlight 적용하기 보통 Delphi 는 기본 제공 IDE 로만 쓰는게 많습니다만 .. 가끔 UltraEditor 로 다른 소스를 참조할 떄가 있습니다. 그런데 UltraEdit 는 기본적으로 Delphi(pascal) 문법을 지원하질 않습니다. 그래서 수동으로 추가 해야 하는데요 .. 여기에 간단한 방법을 통해서 추가 해 보도록 하겠습니다. 먼저 UltraEdit 의 다음 메뉴를 엽니다 (저는 11.10 버젼을 사용중 입니다) Configuration 을 선택하면 다음 다이얼로그가 뜨게 됩니다. 화살표로 된 부분에 있는 Open 을 클릭하여 Syntax highlight 가 지정되어 있는 파일을 열고 창을 닫습니다. 이제 아래의 박스 ..
[Delphi] 마우스 커서에 위치한 윈도우의 핸들및 클래스이름 알아 오기. 마우스 커서에 위치한 윈도우의 핸들값과 클래스내임 등을 알아 낼수 있는 간단한 소스코드 입니다. SendMessage() 로 특별한 할 일을 할 수 있는 절호의 초간단 코드 입니다. var hWnd : THandle; clsName, Text : Array[0..511] of char; begin hWnd := WindowFromPoint(crPos); // 윈도우 핸들 입니다. GetClassName(hWnd, clsName, 512); // 클래스네임을 알아 옵니다. SendMessage(hWnd, WM_GETText, Sizeof(Text), Integer(@Text)); // 윈도우 타이틀을 알아 옵니다. end;원격 지원 프로그램을 만들수도 있는 좋은 방법 중 하나로 생각 됩니다 ^^