全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2578
推到 Plurk!
推到 Facebook!

TSTRINGGRID 讀取TAB分隔字串問題

答題得分者是:RedSnow
心情之風
一般會員


發表:14
回覆:9
積分:4
註冊:2005-05-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-15 19:18:56 IP:218.175.xxx.xxx 未訂閱
請問可以幫我看這程式哪裡出問題嗎? 這是在將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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-15 20:29:23 IP:219.137.xxx.xxx 未訂閱
心情之風 您好:    試試看將比對的那個 ' ' 空白字元改成 #9 試試看,TAB 字元是屬於 "不可視" 字元,或稱 "控制字元",不能 "直接" 輸入,因此要改成設定成 ASCII Code 9 (Ctrl-I) 應該就可以了,例如: J :=Pos(' ',STR);//這行和下面那行是判斷的地方 J :=Pos(#9,STR);//這行和下面那行是判斷的地方 If (Pos(' ',STR)<=0) then //這行 If (Pos(#9,STR)<=0) then //這行 發表人 - RedSnow 於 2005/05/15 20:34:54
系統時間:2024-05-17 11:54:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!