블로그 이미지
훅크선장

카테고리

분류 전체보기 (362)
사진이야기 (23)
펭귄컴퓨팅 (121)
컴퓨터보안 (84)
절름발이 프로그래머 (59)
하드웨어개조 (23)
멀알려줄까 (35)
홈베이킹&홈쿠킹 (2)
잡다한것들 (15)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

태그목록

최근에 올라온 글

http://www.torry.net/quicksearchd.php?String=faststrings&Title=Yes
에 있는 FastStrings 모듈을 이용하면, Split() 함수가 있지만,

델파이 2009 이상에서는, 유니코드 지원때문에 위 모듈을 사용할 수 없다.

나중에 알게된 사실이지만, 위의 Split 함수는 TStrings를 사용하므로, 폼과 관련된 객체를 사용하지 않는다면 쓸 수 없다고 합니다. 완벽하게 확인되지는 않았지만, 문제가 발생한 경우를 당해봤습니다.

그래서, 함수를 만들어서 사용할 수 있다.

참고한 곳은

// 문자열을 구분자(문자)를 기준으로, 분해하는 함수
// 사용전에, 반드시 TStringList를 생성하고, 사용후 free 해야됨.
procedure Split(Input: string; const Delimiter: Char; var Strings: TStringList) ;
begin
   Assert(Assigned(Strings)) ;
   Strings.Clear;
   ExtractStrings([Delimiter], [' '], PChar(Input), Strings);
end;

여기까지가 아주 안전한 방법입니다.



-------------------------------------------------------------------------
이것은 이전에 작성한 내용으로 참고할 만하지만, 그렇게 쓸모 있지는 않습니다.

참고한 곳은


procedure Split(const Input: string; const Delimiter: Char; const Strings: TStrings);
begin
  Assert(Assigned(Strings));
  Strings.Clear;
  Strings.Delimiter := Delimiter;
  Strings.DelimitedText := Input;
end;

아예,
http://delphi.about.com/cs/adptips2002/a/bltip0902_2.htm
이렇게 직접 토큰화 함수를 만들어서 할 수도 있군요.


Posted by 훅크선장
, |