본문 바로가기

delphi451

델파이 다중 동적 배열 델파이 다중 동적 배열 laBuffer : array [0..9, 0..19] of Integer ​ var laBuffer: array of array of Integer; I: Integer; begin SetLength(laBuffer, 10); for I := 0 to 9 do SetLength(laBuffer[I], 20); end; 2021. 5. 11.
델파이 예외처리 try except on E: Exception do ShowMessage(E.Message); end; 2021. 5. 6.
Delphi OOP와 C++과의 차이 [5] Delphi OOP와 C++과의 차이 [5] Exception Handling ================== C++과 델파이에서의 예외처리를 비교하기 위해서 13월과같이 유효하지않은 입력을 했을때의 Exception Handling을 처리하는 방법을 살펴보자. 컴파일러는 볼랜드 C++ 4.5 를 이용했다. #include #include // 유효하지않은 월 입력의 에러코드 #define ErrorCodeInvalidMonth 100 // 예외 에러코드핸들링을 위한 크래스 선언 class Exception { private: int m_ErrorCode; public: Exception(int ErrorCode) { m_ErrorCode = ErrorCode; } int GetErrorCode() {.. 2021. 4. 30.
Delphi OOP와 C++과의 차이 [4] Delphi OOP와 C++과의 차이 [4] Message Hook ============ 델파이에서의 메시지 후킹을 알아보기전에 C++과 비교하는 의미로써 MFC를 이용한 간단한 예제를 올린다. 다음 소스는 메시지 맵핑테이블을 이용해 서 마우스이벤트를 후킹한다. #include #include //---- MainWindow Frame Class class CTestWnd : public CFrameWnd { public: CTestWnd(); virtual ~CTestWnd(); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); DECLARE_MESSAGE_MAP() }; BEGIN_MESSAGE_MAP(CTestWnd, CFrameWnd) ON_WM_.. 2021. 4. 29.
Delphi OOP와 C++과의 차이 [3] Delphi OOP와 C++과의 차이 [3] Virtual Method ============== 버추얼함수는 선조의 메소드를 후손에서 오버라이딩해서 사용하게 할 수있 도록해주는 C++이 갖는 가장 큰 장점인 Polymorphic Behavior 메카니즘을 제공해준다. 델파이는 C++과 마찬가지로 호출될 함수의 포인 터를 갖는 VMT(Virtual Method Table)을 생성한다. 그러나 델파이는 추가 적으로 런타임시에 힙으로부터 VMT를 생성해주는 Dynamic Virtual Method 를 제공한다. VMT가 런타임시에 동적으로 생성되는것만 다르고, C++의 버 추얼함수하고는 같은 기능을 갖는다. 이 기능은 실행화일상에 VMT 테이블 이 생성되는것을 피해서 화일 사이즈를 작게 만들도록해준다. C+.. 2021. 4. 28.
Delphi OOP와 C++과의 차이 [2] Delphi OOP와 C++과의 차이 [2] Access Method ============= 보통 C++에서는, private 멤버를 참조하기 위해 Get..., Set...으로 시작 하는 메소드를 두게된다. class MyClass { private: int m_privateInt; public: int GetPrivateInt() const; void SetPrivateInt(); // range checking }; void foo() { MyClass myobject; int MyInt; MyInt = meobject.GetPrivateInt(); myobject.SetPrivateInt(1); }; 델파이에서는 access method 메카니즘에 의해서 보다 편하게 사용 할 수 있는 방법이 제.. 2021. 4. 27.
Delphi란...{5} Delphi란...{5} 폼에서 컴포넌트 다루기 ────────────────────────────────── 이번에는 폼에서 컴포넌트를 다루는 기초적인 방법들을 알아보겠다. 개발자가 윈도우의 기본적인 인터페이스에 익숙해져 있다면, 델파이 의 폼에서 컴포넌트를 다루는 것에도 쉽게 익숙해질 것은 자명한 일 이다. 역시 이번에도 다시 사용할 수 있는 About 상자를 만들어 보면서 폼 에서 컴포넌트를 다루는 방법을 알아보기로 한다. => About 상자를 만들기 위하여 새로운 프로젝트를 시작하자. 메뉴의 를 선택하면 된다. 폼의 속성 설정 ────────────────────────────────── Form1의 속성을 다음과 같이 설정하도록 하라. ─────────.. 2021. 4. 26.
Delphi란...{4} Delphi란...{4} 델파이의 프로젝트 ────────────────────────────────── 델파이로 프로그램을 작성할 때 프로젝트에 대한 이해는 필수적이다. 하나의 프로그램은 하나의 프로젝트로 구성된다. 한 프로젝트에는 한 개 이상의 폼과, 한 개 이상의 관련 파일들로 구성된다. 델파이로 새로운 프로그램을 작성할 때, 개발자는 비어 있는 프로젝 트로 시작하거나 이미 만들어져 있는 폼 양식(Template)이나 다른 프로그램의 프로젝트로 시작할 수 있다. 다음은 델파이 프로젝트를 구성하는 파일들이다. * 프로젝트 파일 (.DPR) * 유닛 파일 (.PAS) * 폼 파일 (.DFM) * 폼이 없는 소스 코드 파일 델파이를 처음 시작하면 이라 이름하는 다음과 같은 비어 있는 프로젝트가 열린다. .. 2021. 4. 26.
Delphi란...{3} Delphi란...{3} 새 프로젝트 시작하기 ───────────────────────────────── 지난번에 만든 가장 간단한 프로그램에 이어서 이번에도 간단한 프로 그램을 또 하나 만들어 보자. 새로운 프로그램을 만들기 위해서는 새로운 프로젝트를 만들어야 한다. => 새로운 프로젝트를 만들기 위하여 메뉴의 File/New Project를 선택 하라. 그러면, 환경설정을 어떻게 했느냐에 따라서 다음 중 한가지 일이 일어날 것이다. * 혹시라도 다른 사람이 메뉴의 Options/Environment를 실행하여 Gallery 항목에서 를 선택하여 설정하지 않았다면, 기본으로 설정되어 있는 새로운 프로젝트가 생성될 것이다. 이 프로젝트는 비어있는 프로젝트이다. * 메뉴의 Options/Environme.. 2021. 4. 23.
Delphi란...{2} Delphi란...{2} @ 본 강좌에 사용하는 용어 중에 특별히 구별하여 사용한 용어가 있습니다. 아래에 그 의미를 적겠습니다. 이해하는데 혼동하는 일이 없기를 바랍니다. 프로그램: 델파이로 작성한 응용프로그램. 개발자: 델파이를 사용하여 프로그램을 개발하는 사람. 사용자: 델파이로 만든 프로그램을 사용하는 사람. 다음에 설명할 것들은 델파이를 실행시키면 화면에 나타나지는 않지만 델파이의 메뉴에서 선택하여 실행시킬 수 있는 것들로 델파이에서 매우 중요한 역할을 담당하는 것들이다. * 프로젝트 관리자(Project Manager) 프로젝트 관리자는 프로그램을 구성하는 파일들을 보여주고, 새 폼이나 유닛 등을 추가, 삭제 또는 수정할 수 있는 도구이다. 유닛과 프로젝트 관리자에.. 2021. 4. 23.
Delphi란.... Delphi란.... * 델파이가 지원하는 개발 환경 - 윈도우즈/윈도우즈 95 ( OS/2 버전도 출시예정이라고 한다.) - 클라이언트/서버 - 단일 데이터베이스 또는 네트워크 응용 프로그램 - 그래픽, 비주얼, 멀티미디어 환경 ? * 델파이의 특징 ? - 델파이로 만들수 없는 프로그램은 없다. 즉 C나 C++ 또는 데이타베이 스 프로그램으로 만들 수 있는 모든 프로그램을 만들 수 있다. 델파이에서 사용하는 언어는 볼랜드의 유명한 오브젝트 파스칼이다. 상속성, 캡슐화, 다형성등 완벽한 객체지향 언어를 제공하여 생산성을 향상시키며, 일반 프로그램은 물론 데이타베이스 프로그램을 완벽하게 작성할 수 있다. 사실 지금까지 출시된 대부분의 개발툴들은 나름대로의 전문성을 가지 태어 났다. 그래므로 폭스프로 for.. 2021. 4. 22.