기본 함수는 없습니다.
procedure ParseDelimited(const sl : TStrings; const value : string; const delimiter : string) ;
var
dx : integer;
ns : string;
txt : string;
delta : integer;
begin
delta := Length(delimiter) ;
txt := value + delimiter;
sl.BeginUpdate;
sl.Clear;
try
while Length(txt) > 0 do
begin
dx := Pos(delimiter, txt) ;
ns := Copy(txt,0,dx-1) ;
sl.Add(ns) ;
txt := Copy(txt,dx+delta,MaxInt) ;
end;
finally
sl.EndUpdate;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
sl: TStringList;
i: Integer;
begin
sl := TStringList.Create;
try
ParseDelimited(sl, 'a|b|c|d', '|');
for i := 0 to sl.Count - 1 do
begin
// 뭔가 작업
end;
finally
sl.free;
end;
end;
이렇게 사용하세요.
김현승 님이 쓰신 글 :
: 안녕하세요...
: php에서처럼 explode 하여 구문자로 하여금 문자를 구분하는 델파이 함수가 어떤 건지 궁금합니다.
:
: 예를 들어 php에서는
: $a=explode("|",$string);
: echo "$a[0]";
: ...
: 뭐 이런씩으로 풀 수 있는데....델파이에선 어떻게 하는건지 델파이 입문자라 몰라서 어려움을 격고 있습니다.
:
: 답변 좀 부탁드립니다.
|