본문 바로가기

Delphi

Delphi, C++ Builder Compiler Versions 크게 몰라도 되지만 간혹 필요한 델파이 및 C++빌더의 버전 정보입니다. Delphi conditional VERProductProduct VersionPackage VersionVER260Delphi XE5 / C++Builder XE5 (Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64)19190VER250Delphi XE4 / C++Builder XE4 (Delphi:Win32/Win64/OSX/iOS) (C++Builder:Win32/Win64)18180VER240Delphi XE3 / C++Builder XE3 (Delphi:Win32/Win64/OSX/iOS) (C++Builder:Win32/Win64)17170VER230Delphi X.. 더보기
[후기] RAD Studio XE3.5 - Delphi for iOS 3월 8일 데브기어가 주관하는 델파이 세미나가 진행되었습니다. 주요 주제는 Delphi for iOS(with Firemonkey)였습니다. Firemonkey란? 하나의 델파이(또는 C++) 소스로 Win32, Win64, OSX(MacOS), iOS, Android(준비 중)에서 실행 가능한 어플리케이션을 개발 할 수 있는 Native Compiler 프레임웍입니다. 세미나 내용이 궁금하신 분들이 계실 것 같아 기록합니다.개인적으로 생각나는 부분만 적으니 내용이 다소 다를 수도 있습니다. 발표자는옆집 아저씨같은 푸근한 인상의 고든 리(Gordon Li)님이 진행하셨구요.고드 리는 엠바카데로 중국, 대만, 아세안 지역의 수석 에반젤리스트로 활동 중이라고 합니다. 여러 주제의 세션이 있었지만 시간에 얽매.. 더보기
[FM2] XE3.FM2에서 Control을 Bitmap으로 내보내기 및 Bitmap.Pixels 사용하기 Firemonkey2로 버전업 된 후로 참 많은 것이 변했습니다. TControl은 말할 것도 없고 TBitmap도 많은 내용이 변했네요. Unit test에서 특정 Pixel의 색상을 얻어오고자 할때 기존 Bitmap.Pixels이 없어진 것을 확인 후 깜짝 놀랐습니다. 자... 그럼 제가 삽질로 얻어온 내용을 공유하도록 합니다. | Control을 Bitmap(TImage)으로 내보내기 var Bitmap: TBitmap; Map: TBitmapData; begin Bitmap := TBitmap.Create(Round(Panel1.Width), Round(Panel1.Height)); try Bitmap.Canvas.BeginScene; // Bitmap으로 내보내기 Bitmap.Assign(Pan.. 더보기
델파이 구조체(record) 사용 팁 구조체(Record) 많이 사용하시죠? 생각보다 구조체를 사용하는 방법이 다양해서 소개하려 합니다. 우선 간단한 샘플 연/월/일 형식으로 데이터 입력 후 한번에 데이터 저장하는 코드입니다. type TRecordType = (rtData, rtStructure); TDateRec = record case TRecordType of rtData: (Data: array[0..5] of Byte); rtStructure: (Year, Month, Day: Word); end; 위와 같이 구조체가 정의 되어 있습니다. 2가지 타입(rtData, rtStructure)로 사용해 봅니다. | rtStructure - 연월일 형식으로 입력 procedure TForm2.btnAddClick(Sender: TObje.. 더보기
2GB 이상 파일크기 구하는 함수 function FileSize(const AFileName: string): Int64; var srData: TSearchRec; FileData: DWORD; SizeHigh, SizeLow: Integer; RetVal: array[0..7] of Byte; begin Result := -1; {$IFDEF MSWINDOWS} FileData := FindFirst(AFileName, faReadOnly, srData); if FileData 0 then Exit; SizeHigh := srData.FindData.nFileSizeHigh; SizeLow := srData.FindData.nFileSizeLow; ZeroMemory(@RetVal[0], SizeOf(RetVal)); Move(Si.. 더보기
[Delphi] Wild Card 문자비교 문자열에서 Wild Card('?': single character, '*': multi character)를 포함하여 비교한다. function MatchString(ASource, APattern: String): Boolean; function _MatchPattern(element, pattern: PChar): Boolean; begin if 0 = StrComp(pattern, '*') then Result := True else if (element^ = Chr(0)) and (pattern^ Chr(0)) then Result := False else if element^ = Chr(0) then Result := True else begin case pattern^ of '*': if _.. 더보기