求指點 用c++builder 決議一個文本檔案后放入stringgrid里面(文本檔案里面多行多列)想將每列抽出放到stringgrid里
uj5u.com熱心網友回復:
用 TStringLis->LoadFromFile加載檔案 ,然后設定Delimiter為你檔案的列分隔符號。按下面代碼,取每行列資訊放StringGrid單元格里。Delimiter是DelimitedText中的分隔符。請看下面代碼:
[delphi] view plaincopy
ts := TStringList.Create;
ts.Delimiter := '#';
ts.DelimitedText := 'aaa#bbb#ccc';
for i := 0 to ts.count -1 do
begin
showmessage(ts.Strings[i]);
end;
運行上面的代碼,會依次顯示:
aaa
bbb
ccc
三個訊息框。
如果上面的陳述句改為:
[delphi] view plaincopy
ts := TStringList.Create;
ts.CommaText := 'aaa,bbb,ccc'; //注意,這里把'#'改為','了。
for i := 0 to ts.count -1 do
begin
showmessage(ts.Strings[i]);
end;
也是會顯示:
aaa
bbb
ccc
三個訊息框。
因為TStringList中默認的分隔符是',',而分隔符是','時,把字串賦給CommaText,TStringList就會把這個字串以','為分隔符分開。
再如下面:
[delphi] view plaincopy
ts := TStringList.Create;
ts.Text := 'aaa' + #13#10 + 'bbb' + #13#10 + 'ccc'; //注意,這次在中間加入了#13回車和#10換行控制符號。
for i := 0 to ts.count -1 do
begin
showmessage(ts.Strings[i]);
end;
還是三個訊息框
aaa
bbb
ccc
uj5u.com熱心網友回復:
我沒看太懂,新手FLAG PKGID X Y R M/N PART
CMP 31 8.8031496 3.5511811 180.0 N C9562 948T1005401 ;0=1,1=0.013780
CMP 31 8.9291339 3.5511811 180.0 N C9620 948T1005401 ;0=1,1=0.013780
CMP 31 8.9685039 3.5511811 180.0 N C9621 948T1005401 ;0=1,1=0.013780
CMP 31 5.496063 4.7125984 0.0 N C9619 948T1005401 ;0=1,1=0.013780
CMP 31 4.984252 3.5826772 0.0 N C9618 948T1005401 ;0=1,1=0.013780
CMP 31 4.4606299 3.6574803 180.0 N C9617 948T1005401 ;0=1,1=0.013780
比如如上 是我的文本檔案 要求提取出x y r part到stringgrid里面 最好其中能夠用到vector
uj5u.com熱心網友回復:
你這個分隔符都不一樣..只能通過用tstringlist加載后逐條分割..用容器實作不太可能.uj5u.com熱心網友回復:
為什么?那怎么樣把里面的x y r等列提取出來壓倒vector里面,再從vector里提取出放到stringgrid里面
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143418.html
標籤:VCL組件使用和開發
