TSTRINGGRID 讀取TAB分隔字串問題 |
答題得分者是:RedSnow
|
心情之風
一般會員 發表:14 回覆:9 積分:4 註冊:2005-05-10 發送簡訊給我 |
請問可以幫我看這程式哪裡出問題嗎?
這是在將TXT檔的內容放到STRINGGRID裡
中間碰到TAB就算下一個字串
不過執行候都會變成沒有回應若是將判斷是換成空白的話他又會把所有字串放到同一格裡可以幫我看看嗎??
不然還是我該怎麼改可以讀取到用TAB來分隔的字串 procedure TForm2.Button1Click(Sender: TObject);
Var
TF :TEXTFILE;
temp :string;
Str,S1 :String;
X,Y,I,J :Integer;
Begin
Memo1.Lines.Clear;
OpenDialog1.Execute;
Edit1.Text := OpenDialog1.FileName;
Try
AssignFile(TF,Opendialog1.FileName);
Reset(TF);
X:=1;
While not EOF(TF) Do
Begin
Readln(TF,STR);
temp:=Leftstr(STR,1);
if temp ='.' then
begin
end
else
Y:=2;
While Trim(STR)<>'' Do
Begin
J :=Pos(' ',STR);//這行和下面那行是判斷的地方
S1 :=Copy(STR, 1, J-1);
STR:=COPY(STR,J 1,LENGTH(STR)-J);
Stringgrid1.Cells[Y,X]:=STR;
Inc(Y);
If (Pos(' ',STR)<=0) then //這行
begin
stringgrid1.Cells[Y,X]:=STR;
break;
end;
end;
Stringgrid1.RowCount :=X;
Inc(X);
End;
CloseFile(TF);
except;
End;
End;
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
心情之風 您好: 試試看將比對的那個 ' ' 空白字元改成 #9 試試看,TAB 字元是屬於 "不可視" 字元,或稱 "控制字元",不能 "直接" 輸入,因此要改成設定成 ASCII Code 9 (Ctrl-I) 應該就可以了,例如:
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |