본문 바로가기

Delphi134

델파이 제네릭(Generic) 용어 델파이 제네릭(Generic) 용어 ■플랫폼 요구 사항들과 차이점들 델파이의 제네릭은 .NET 2.0 및 그 이후 버전, 그리고 네이티브 Win32 컴파일러에서 지원 됩니다. 이들 플랫폼들에서 지원되는 기능들에는 약간의 차이들이 있습니다. ■ 런타임 타입 정보(RTTI) Win32에서, 제네릭과 메소드는 RTTI 정보를 갖지 않지만 인스턴스화된 타입은 RTTI 정보 를 갖습니다. 인스턴스화된 타입은 제네릭과 파라미터들의 집합의 조합입니다. ■ 인터페이스 GUID Win32에서, 인스턴스화된 인터페이스 타입은 인터페이스 GUID를 갖지 않습니다. ■ 인터페이스 내의 파라미터화된 메소드 Win32에서, 파라미터화된 메소드(타입 파라미터와 함께 선언된 메소드)는 인터페이스 내 에서 선언될 수 없습니다. .NE.. 2021. 5. 12.
델파이 제네릭(Generic) 개요 델파이 제네릭(Generic) 개요 제네릭, 혹은 제네릭 타입이라는 용어들은 타입으로 파라미터화될 수 있는 기반 내의 것들 의 집합을 설명합니다. 제네릭이라고 말했을 때 제네릭 타입과 제네릭 메소드(제네릭 프로 시저와 제네릭 함수)를 의미하기도 합니다. 제네릭은 알고리즘(프로시저나 함수 등)이나 데이터 구조(클래스, 인터페이스, 레코드 등) 를 그 알고리즘 혹은 데이터 구조가 사용하는 하나 이상의 구체적인 타입으로부터 관계를 끊는 것을 허용하는 추상화 방법들의 집합입니다. 그 정의에서 다른 타입들을 사용하는 메소드나 데이터 타입은 하나 이상의 구체적 타입을 타입 파라미터로 대체시킴으로써 더 일반화시킬 수 있습니다. 그런 후 그런 타입 파라미터 를 메소드나 데이터 구조 선언의 타입 파라미터 리스트에 추가하.. 2021. 5. 12.
델파이 인터페이스 델파이 인터페이스 인터페이스는 무엇인가?, 인터페이스 정의하기, 인터페이스를 구현하기. 델파이에서, "inteface"라는 키워드는 두개의 다른 뜻으로 쓰입니다. OOP의 용어로는, 인터페이스를 '구현이 없는 클래스'라고 생각할 수 있습니다. 델파이 unit의 정의로는, interface section은 유닛의 코드중 public section을 선언하는 데 쓰입니다. 이글은 OOP입장에서의 인터페이스를 설명할 것입니다. 돌처럼 단단한 어플리케이션을 만들고 싶고, 코드를 유지보수하기 쉽고, 재사용 가능하고, 유연한 방법으로 만들고 싶다면, 델파이의 OOP적 품성이 당신의 가는 길의 70%를 도와줄 겁니다. 인터페이스들을 정의하고, 그 인터페이스들을 구현하는 것이 나머지 30%를 도와줄 겁니다. < Abs.. 2021. 5. 11.
델파이 다중 동적 배열 델파이 다중 동적 배열 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.
델파이 TThread 사용 길잡이 델파이 TThread 사용 길잡이 초보자를 위한 TThread 사용 길잡이 질답 게시판을 보다 보면 쓰레드에 관한 질문이 많이 올라 오는데, 특히 초보자분들이 쓰레드의 사용법을 잘 모르고 계신 경우가 많은 것 같아, 언제 한 번 써야겠다고 생각하고 있었는데, 오늘따라 일도 손에 잘 안 잡히고 해서 한번 정리해 봅니다.... 언제 쓰레드가 필요한가? 사실 대부분의 프로그램에서는 굳이 쓰레드를 사용할 일이 없습니다. 설계 시점에서 과연 쓰레드를 써야 하는 건지를 먼저 고민해 보십시오. 타이머로도 충분히 처리할 수 있는 것을 굳이 쓰레드를 사용할 필요는 없다는 것입니다. 쓰레드 사용이 꼭 필요한 부분 중 하나는 분산처리를 필요로 하는 프로젝트입니다. 요즘의 PC들은 멀티코어가 기본입니다. 우리의 델파이는 워낙.. 2021. 5. 10.
델파이 예외처리 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++과의 차이 [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++과의 차이 [1] Delphi OOP와 C++과의 차이 [1] 볼랜드의 델파이는 마이크로소프트사의 Visual Basic을 겨냥해서 만들어진 듯하다. 원하는 스타일의 버튼 또는, 스크롤바 객체를 마우스로 선택해서 Form 위에다 올려주는것만으로도 어지간한 유져인터페이스는 코딩없이, 애플리케이션을 만들어주는 상당히 직관적인 비쥬얼 환경이다. 델파이는 PASCAL OOP 랭귀지를 사용한다. 보다 나은 애플리케이션을 만들 려면 OOP에 대한 이해가 필요할것이다. C++만 이용하다가 PASCAL OOP를 다 룬지는 한달이 채 안되는거 같다. 본 강좌에서는 PASCAL OOP와 C++를 비교 하는 식으로 DelphiOOP를 설명하겠다. C++ 스펙에서 빠진 사항들 ======================== 볼랜드사는 델파이를 R.. 2021. 4. 27.
Delphi란...{6} Delphi란...{6} 델파이로 만든 DB 프로그램에서의 한글 입력 ────────────────────────────────── 먼저 델파이로 DB 프로그램을 작성할 때 많은 분들이 한글 입력이 잘 되지 않는다고 질문을 하고 있어서 여기에 간단하게 델파이의 DB 프로그램에서 한글 입력을 아무런 문제없이 할 수 있는 방법을 소개 하고자 한다. 델파이의 DB에서 한글 문제가 발생하는 이유는 Database Engine Configuration에서 환경 설정을 잘못하였기 때문 이다. 환경설정은 다음과 같이 한다. 델파이 그룹에서 Database Engine Configuration을 실행시킨 후 DBASE 의 LANGDRIVER를 dBase KOR cp949로 선택하고 PARADOX의 LANGDRIVER는.. 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.