본문 바로가기

델파이

(15)
Delphi Application 에 Windows Vista/7 관련 설정 하기. 구형 Delphi Compiler 를 사용하는 본인의 경우엔, windows7 의 DWM 이나 달라진 메시지 처리 등을 해야 합니다. 특히 ALT 키가 눌려졌을 경우 기존 윈도우 시스템과 달리, WM_UPDATEUISTATE 와 같은 메시지 처리는 필히 해 주지 않으면, 각 컨트롤 (버튼과 같은) 이 사라져 버리는 둥의 어처구니 없는 경우를 격게 됩니다. 대부분의 Delphi 프로그래머 들은 상위의 컴파일러와 IDE 를 구비하고 있겠지만, 저와 같은 서민층의 불쌍한 프로그래머들은 고가의 Delphi 를 구매할 여력이 없습니다. 그래서 개인에게 License 를 배포 받아 쓸 수 있는 (기간이 제한적인) Enterprise 버젼을 쓰는 분들이 더러 있을 겁니다. 기본적으로 Pre-compile 된 comp..
Delphi 용 Postgres SQL 라이브러리 - TPostgreSQL ODBC 를 이용하여 여러 SQL 과 붙이는 것은 delphi 내부에서도 되는 기능 중 하나 입니다만, Postgres SQL를 좀 더 신속히 쓰기 위해 만든 라이브러리를 공개 합니다. 원래 소스는 Tilo Ermlich 란 독일 사람이 2007년에 만든것 인데 클래스화가 안되어 있는 관계로 사용에 어려운 부분이 있어 클래스화 시킨 버젼 입니다. 모질라 라이센스 1.1 을 따르므로 변경이나 사용에 있어 소스를 공개 하는 것 이니, 필요하신 분들은 제약없이 사용하시되, 원작자 에 대해 반드시 명시해 주셔야 합니다. 현재 값들을 TStringGrid 에 출력하도록 되어 있습니다만, 이부분을 수정하여 다양한 matrix 에 저장할 수 있도록 하는 작업은 손수 해 보실 수 있을 듯 합니다. 압축 파일 안을 보시..
[Delphi] FastGraphicLib v1.0 이 라이브러리는 DIB Bitmap 과 256 color 처리를 위한 델파이 이미지 라이브러리 입니다. 이 코드의 원작자는 1999년에 만들어진 Gordon Alex 이며, 구 버젼의 Delphi 용으로 만들어진 컴퍼넌트를 라이브러리로 다시 만들었습니다. 기본적으로 델파이의 기본 Canvas 의 기능중 일부를 자체 구현하여 들고 있습니다. 사각형 그리기, 영역 채우기, 선, 부드러운 선, 폴리곤 선, 부드러운 폴리곤 선, 원호 그리기 를 지원 합니다. 간단한 예제는 포함된 testApp 를 참조 하시면 되며, LoadFromStream 과 PNG , JPG 등을 지원 하도록 수정하여 버젼을 향상 시키도록 하겠습니다.
Delphi 에서 USB 장치 인식 인지하기. 가끔 Device managing 관련 어플을 만들어야 할때가 있는데, 이때 도움이 되는 코드를 만들었습니다. USB 장치가 뜨면 GUID 와 해당 장치의 정보를 알아 올 수 있습니다. 먼저 USBdetector 유닛 소스 입니다. 이걸 쓰려면 다음과 같이 사용이 가능합니다. usb_detector := TUSBdetector .Create(Self); usb_detector.OnUSBArrival := OnConnected; usb_detector.OnUSBRemove := OnLeaved; usb_detector.OnUSBInfo := OnInfo; 예제를 더 들자면 다음과 같은 코드로 사용이 가능합니다.
C++ 에서 만든 DLL 과 math 연동시 오류 : Invalid Floating Point Operation 어느 댓글을 남겨 주신 광란의사랑님 말씀대로 이때까지 해 보지 않았던 math 연동 DLL 을 테스트 해 보았습니다. 일단 델파이 에서는 표시 할 수 없는 -1.#INF 가 나오므로 FloatToStr() 함수를 거치면 NAN 으로 표시 됩니다. 그냥 만들게 되면 Invalid Floating Point Operation 오류 가 발생 하는데, 이는 Delphi 의 FPU monitor 플래그 때문에 발생 하는 문제 입니다. 이 문제는 다음 실제 사용된 코드와 같이 쓰시면 해결이 가능합니다. 아래에 예제 샘플을 추가 합니다. 사용된 툴은 CodeBlocks 와 minGW , 그리고 TurboDelphi Explorer(2006) 입니다. 압축을 풀면 CUSTMATH 디렉터리와 , DELPHI 가 각각 있..
델파이 에서 C 코드 OBJ 로 함꼐 빌드 하기. 보통 윈도우용 프로그램을 만들때 delphi 보다는 C 로 만드는 것이 더 편리하거나 , C 로 잘 만들어진 라이브러리 등이 있는 경우 이를 delphi 에서 쓰려고 하면 별도로 DLL 을 만들어야 하는 불편함이 있긴 했습니다. 그러다가 BCC32 를 통해서 볼랜드용 COMF 포맷 OBJ 를 만들어서 delphi 내에서 LINK 하여 사용할 수 있다는 것을 이곳을 통해서 알게 되었습니다. 참조한 곳에서 설명은 command line 을 통해서 빌드하는 방법 이었지만, 이는 BCC32 환경을 구축해야 하는 어려움이 있기 때문에 다목적 컴파일러 IDE 인 CodeBlocks 를 통해서 obj 를 생성하여 delphi 에 link 해 보았습니다. 먼저 제가 사용한 방법은 debug 용 obj 를 통해서 del..
델파이 강좌 (C 언어 사용자들을 위한) 원래 의도는 C 를 알던 모르던 다 알만한 델파이 강좌를 할까 했는데 ... 그런 친절한 설명을 쓸 만한 여유가 눈꼽만치도 없는지라 결국 C 를 아는 사람들이 빠르게 델파이를 할 수 있도록 하는 강좌가 되었습니다 . 언어를 전혀 모르던 사람도 알만한 강좌를 쓰기엔 제가 여유와 실력이 딸리는군요 ㅠㅠ 혹시나 기대하셨던 분들께는 죄송할 따름 이네요 . 델파이 강좌는 다음 링크에서 확인 하실 수 있습니다. http://rageworx.tistory.com/category/Delphi강좌 읽어 보시고 개선 하실 점이나 추가했으면 하는 점을 방명록 등에 남겨 주시면 감사하겠습니다.
[DELPHI] 기본 문법 - 함수형, unit 델파이에서 사용되는 함수 형태는 크게 procedure 와 function 두가지 입니다. 이 둘의 차이는 C 에서 void 형인가 아닌가의 차이겠군요. 즉, 함수 자체가 인자를 받아서 함수 자체가 결과 값을 되돌려 주지 않는가 또는 주는가의 차이라 하곘습니다. 차이는 다음과 같이 알 수 있습니다. procedure testProc(input1 : integer); function testFunc(input1 : integer) : integer; procedure 인 testProc 는 입력인자로 integer 형으로 input1 이란 걸 받고 뭔가를 처리 할 것입니다. 반면 function 인 testFunc 는 입력으로 input1 을 받아서 뭔가를 다시 integer 형태로 결과를 돌려 주게 됩니..