[Delphi] String -> TStringList 전환하기

반응형
반응형

 

델파이 String ->  TStringList 전환  (특정 구분자 기준)

 

특정 구분자로  String 값 대해 미리 정해진 구분자로 TstringList로 전환 하는 방법 입니다. 

 

특정 구분자 -> "| " 고정했습니다.

 

 

▼실행▼


procedure TForm1.Button1Click(Sender: TObject);
Const
_Split ='|';
var
  str : String;
  ls_Rcrd : TStringList;
begin
  Try
    str := '123|456|789|';
    ls_Rrcd := GetTextSeperation(_Split , str);
  finally
    Memo1.Lines.Add(ls_Rcrd[0]);
  end;
end;

 

▼Function 문▼

function GetTextSeperation(ss_Delimiter: string; const ss_DelimitedText: string):
    TStringList;
Var
  s,s1 : WideString;
  EndData : Boolean;
begin
  Try
    s := De_Coding(ss_DelimitedText);
    EndData := False;
    Result := TStringList.Create;
    Result.BeginUpdate;
    repeat
      if Pos(ss_Delimiter, s) > 0 then
      begin
        s1 :=  Copy(s, 0, Pos(ss_Delimiter, s) -1);
        Result.Add((s1));
        s1 :='';
        s := Copy(s, Pos(ss_Delimiter, s) +1, Length(s));
        EndData := False;
     end
     else
     begin
       Result.Add((s));
       EndData := True;
     end;
    Application.ProcessMessages;
    until EndData;

  finally
    Result.EndUpdate;    
  end;
end;
 결과

레코드[0]값 정상 출력

 마무리

가끔 합의된 구분자로 String 값 받을 때 종종 사용한 구분 입니다. 

반응형

댓글