procedure TForm1.Button1Click(Sender: TObject);
var
s : string;
begin
s := '3.23, 22.5,122.9, 5.3, 1.21, 0.3';
//string의 길이는 실제로 훨씬 더 깁니다.
edit1.Text := s;
// 이처럼 각각의 string값을 쉼표로 구분하여 각edit박스에 넣을려고
// 합니다. 그런데 에러가 뜨네요..
// 다른 방법은 없나요..
edit2.text := trim(GetWordFromStr(s, 1, ',')); // 3,23
edit3.text := trim(GetWordFromStr(s, 2, ',')); //22.5
edit4.text := trim(GetWordFromStr(s, 3, ',')); //122.9식으로
end;
검색을 먼저 해보셨으면 답을 쉽게 구하셨을텐데... 아쉽군요...
TStringList를 사용하세요... CSV(comma saperate value)를 지원함니다....
ExtractStrings함수를 이용하시는 방법두 있구요...
Ex1)
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
StrList: TStringList;
begin
StrList := TStringList.Create;
S := '3.23, 22.5,122.9, 5.3, 1.21, 0.3';
StrList.CommaText := S;
Edit1.Text := S;
Edit2.text := trim(StrList.Strings[0]); // 3,23
Edit3.text := trim(StrList.Strings[1]); //22.5
Edit4.text := trim(StrList.Strings[2]); //122.9
......
StrList.Free;
end;
Ex2)
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
StrList: TStringList;
begin
StrList := TStringList.Create;
S := '3.23, 22.5,122.9, 5.3, 1.21, 0.3';
ExtractStrings([','], [' '], PChar(S), StrList);
Edit1.Text := S;
Edit2.text := trim(StrList.Strings[0]); // 3,23
Edit3.text := trim(StrList.Strings[1]); //22.5
Edit4.text := trim(StrList.Strings[2]); //122.9
......
StrList.Free;
end;
^^ 항상 즐코하세요...
최계호 wrote:
> procedure TForm1.Button1Click(Sender: TObject);
> var
> s : string;
> begin
> s := '3.23, 22.5,122.9, 5.3, 1.21, 0.3';
> //string의 길이는 실제로 훨씬 더 깁니다.
>
> edit1.Text := s;
>
> // 이처럼 각각의 string값을 쉼표로 구분하여 각edit박스에 넣을려고
> // 합니다. 그런데 에러가 뜨네요..
> // 다른 방법은 없나요..
>
> edit2.text := trim(GetWordFromStr(s, 1, ',')); // 3,23
> edit3.text := trim(GetWordFromStr(s, 2, ',')); //22.5
> edit4.text := trim(GetWordFromStr(s, 3, ',')); //122.9식으로
> end;
>
>
>