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

請問一下,TStringGrid要如何載入文字檔呢?

答題得分者是:hagar
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-04 23:59:20 IP:61.217.xxx.xxx 未訂閱
請問一下,TStringGrid要如何載入文字檔呢?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-05 08:33:54 IP:202.39.xxx.xxx 未訂閱
用 TStringAlignGrid 這個 Component 吧! 它有 LoadFromFile/SaveToFile 的 method 網址: http://www.hoerstemeier.com/grid.htm    --- Have you ever wondered what it would be like?
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-05 13:20:32 IP:61.216.xxx.xxx 未訂閱
這是我在網路剛看到的,不知道要怎樣用他, 例如:a,b資料,以逗號隔開作為識別StrigGrid的兩個欄位內容。 希望大大幫幫忙! procedure File2StringGrid(StringGrid: TStringGrid; FileName: String); var F: TextFile; Tmp, x, y: Integer; TmpStr: string; begin AssignFile(F, FileName); Reset(F); Readln(F, Tmp); StringGrid.ColCount:=Tmp; Readln(F, Tmp); StringGrid.RowCount:=Tmp; for x:=0 to StringGrid.ColCount-1 do for y:=0 to StringGrid.RowCount-1 do begin Readln(F, TmpStr); StringGrid.Cells[x,y]:=TmpStr; end; CloseFile(F); end;
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-05 19:17:23 IP:61.216.xxx.xxx 未訂閱
qoo1234 粉用心在學程式喔!請大家多多幫忙!    
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-05 19:50:10 IP:202.39.xxx.xxx 未訂閱
假設文字檔內每行只有一個逗號
procedure File2StringGrid(StringGrid: TStringGrid; FileName: String);
var sl: TStringList;
  Tmp, i, iPos: Integer; 
  TmpStr: string; 
begin 
  sl := TStringList.Create;
  try
    sl.LoadFromFile(FileName);
    StringGrid.ColCount := sl.Count;
    StringGrid.RowCount := 2;
    for i := 0 to sl.Count -1 do begin
      TmpStr := sl.Strings[i];
      iPos := Pos(',', TmpStr);
      StringGrid.Cells[i, 0] := Copy(TmpStr, 1, iPos-1);
      StringGrid.Cells[i, 1] := Copy(TmpStr, iPos 1, Length(TmpStr)-iPos);
    end;
  finally
    sl.Free;
  end;
end;
--- Have you ever wondered what it would be like?
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-05 20:12:14 IP:61.216.xxx.xxx 未訂閱
To hagar老大!問一下,這一行會不會連抬頭都改掉..嘿嘿! for i := 0 to sl.Count -1 do begin    To qoo1234:    Tmp: Integer;  依據hager版主的寫法好像也用不到喔! 發表人 - flyup 於 2003/03/05 20:24:11
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-05 20:30:14 IP:202.39.xxx.xxx 未訂閱
引言: To hagar老大!問一下,這一行會不會連抬頭都改掉..嘿嘿! for i := 0 to sl.Count -1 do begin To qoo1234: Tmp: Integer; 依據hager版主的寫法好像也用不到喔!
1.依需求修改一下咩! :) 2.Sorry! 沒改到. 3.如果以後 StringGrid 的內容要存文字檔的話 試試用上述的 StringAlignGrid 做 它是以 #9 字元來區隔每個 Cell 的資料 小弟現在都是用它 --- Have you ever wondered what it would be like?
Akqj1098
一般會員


發表:14
回覆:60
積分:14
註冊:2002-05-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-12-04 15:28:39 IP:211.23.xxx.xxx 未訂閱
引言:
引言: To hagar老大!問一下,這一行會不會連抬頭都改掉..嘿嘿! for i := 0 to sl.Count -1 do begin To qoo1234: Tmp: Integer; 依據hager版主的寫法好像也用不到喔!
1.依需求修改一下咩! :) 2.Sorry! 沒改到. 3.如果以後 StringGrid 的內容要存文字檔的話 試試用上述的 StringAlignGrid 做 它是以 #9 字元來區隔每個 Cell 的資料 小弟現在都是用它 --- Have you ever wondered what it would be like?
請問,這個元件可以像 DBGrid1 一樣,有 MultiSelect(多選)的功能嗎 我一直測試不出來 哪位高手幫幫忙
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-12-04 18:07:35 IP:218.163.xxx.xxx 未訂閱
引言: 請問,這個元件可以像 DBGrid1 一樣,有 MultiSelect(多選)的功能嗎 我一直測試不出來 哪位高手幫幫忙 < face="Verdana, Arial, Helvetica"> < >~測出來在跟我說喔~< > 另外相關的文章: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36472 網海無涯,學無止境! 發表人 - qoo1234 於 2003/12/04 18:09:25
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-12-04 18:48:38 IP:202.39.xxx.xxx 未訂閱
小弟測了一下, 可以 MultiSelect 只要 Options 中的 goRowSelect 設 True 複選的時候, 按下 shift 來選 不過沒辦法跨 row 的 MultiSelect, 一定要連續的 --- Everything I say is a lie.
系統時間:2024-06-21 13:11:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!