귀하는 손님 이십니다
로그인
회원가입
  
  델마당 공식 은행계좌
  하나은행 227-910235-83607
  예금주 이상국(운영진)
프로젝트 게시판
투표게시판
델마당소개
기초부터 활용까지! 델파이 교육 - 데브기어
강좌, 팁, 정보 강좌, 팁, 정보 입니다.
글내용 - 강좌, 팁, 정보
 델파이 기본타입 헬퍼
사이사이
(문호상)
2019-07-25 오전 12:55:46
카테고리: 팁
2474회 조회



등록된 파일이 없습니다.

음슴체로 글을 작성하겠습니다. 양해부탁드립니다.

 

자바 버전5부터 오토박싱 개념이 도입되어

기본타입을 마치 객체처럼 사용할 수 있도록 편리한 기능이 도입되었다.

 

델파이도 비슷한 기능을 제공하는데 아마 XE8부터인가?.. 

도입시점을 알 수 없지만.. 엠바카데로 델파이 위키를 보면 XE3부터 지원되는 듯한데..

(검색해봤으나, 시원히 알려주는 자료를 찾지 못했습니다 ㅠㅠ)

 

아무튼..

델파이 헬퍼는 class나 record에서 사용가능한데 이 주제는 냅두고.. 기본타입에 대한 헬퍼만 소개하겠다

 

예전에는

var intValue: Integer;

begin

  intValue:=  StrToInt('100')

end;

 

라고 작성했지만 기본타입에 대한 헬퍼덕분에 아래처럼 사용이 가능하다.

intValue:= '100'.ToInteger;

객체를 이용하듯이 기본타입에 메소드를 호출이 가능하다

여기서 기본타입은 

int, int64, string, double, extended, extended80등이 있다

TStringHelper만 보자면

    class function ToInt64(const S: string): Int64; overload; static; inline;
    class function ToSingle(const S: string): Single; overload; static; inline;
    class function ToDouble(const S: string): Double; overload; static; inline;
    class function ToExtended(const S: string): Extended; overload; static; inline;
    class function LowerCase(const S: string): string; overload; static; inline;
    class function UpperCase(const S: string): string; overload; static; inline;

등등의 메소드를 제공하며

var

  s: String;

begin

  '10'.ToDouble 이라던지

  s.ToDouble이라던지 사용이 가능하다

end;

 

별거 아닌것 같지만 사용해보면 행복에 겨운 코딩이 가능하다.

 

하지만 행복도 잠시

열거형에선 안되며, 심지어 TDateTime도 지원하지 않는다?

열거혈까진 이해하겠지만.. 도대체 왜?? TDateTime은 지원하지 않지?

System유닛에 TDateTime = type Double; 

이렇게 정의되서 그런가? 

 

아니 아무리그래도.. 고생스럽더라도 TDateTime정도의 헬퍼는 만들어줄수 있잖아??

 

어차피 DateUtils유닛에 있는 함수를 TDateTimeHelper로 만들면 되지 않을까? 하며

노가다를 시작하려 했는데, 혹시 모르는 검색을 해보니..

역시나 있군요 ㅋㅋ

 

https://github.com/colinj/TDateTimeHelper

 

위의 링크를 통해 TDateTimeHelper를 다운로드 받을 수 있습니다

 

즐코딩하시길..