關於 StringGrid 幾個問題請教各位前輩 |
尚未結案
|
arthurxu
一般會員 發表:9 回覆:8 積分:3 註冊:2003-09-07 發送簡訊給我 |
各位前輩安安,我參考了以前的討論,自已寫了個小程式如下(功能是讀取文字檔到StringGrid中與修改後回寫入檔案) 讀取部分程式碼為 TStringList *Tempfile=new TStringList;
Tempfile->LoadFromFile("Text.txt");
StringGrid->RowCount=Tempfile->Count;
for(int i=0; i
------
曾經在某本書看過一句話 (記不太清楚了,可能文字有錯但意思一樣) 在程式設計的領域中,可以滿足你無限的想像空間;但是在你學會走之前,想飛想都不要想 目前我只是在學習爬行的階段,連走都走不穩 @@ |
流
中階會員 發表:36 回覆:142 積分:70 註冊:2003-07-24 發送簡訊給我 |
arthurxu您好: 關於您的問題,可能會這樣處理 1.
當您用 TStingList 將檔案載入後,可任取其中之一行
Tempfile->Strings[i] 讀出後,再去做分割
例如您的文字檔是以 space 做區隔
那您也用 space 做判定字元(字串)做分割
基本上是行的通,稍微麻煩了點,請翻查BCB書的字串函數
或者讓小弟幫您處理也可,給小弟其中一行,小弟可試試 2.
這個部份有解,小弟曾看過在 StringGrid 某個欄位上點兩下
即可做出分應,就像點選 ListBox 的某行,亦能有動作
不過很抱歉,小弟對這個還不懂,還沒有機會實際操作
應該是能 double click 即可存檔
不過這裡應該有高手曉得,小弟在拋磚引玉 >> < class="code"> #include
~ FILE *fp; // 宣告一個檔案 String str = "檔案回存" ; // 宣告一個回存之開頭字串 int i,j; // i = 橫向,j = 縱向 for StringGrid fp = fopen("Text.txt","w"); // 清空原本之檔案 fprintf (fp,"%s",str); // 讀入開頭字串 fclose(fp); // 關閉檔案 str = "" ; // 讓 str 變為空字串 for (j=0;j<=StringGrid->RowCount;j ) // 縱向 for (i=0;i<=StringGrid->ColCount;i ) // 橫向 { str = str StringGrid->Cells[i][j] " "; // 最後一個就是空白 if (StringGrid->ColCount == conut) // count 是已知的欄位總數 { fp = fopen ("Test.txt","a"); // 開啟檔案,以 a mode 加入 fprintf (fp,"\n%s",str); // 寫入 字串 於 檔案fp 中,輸入前跳一行 // 這樣一來也能避免檔案寫到最後時,會多跳出一行空白 str= "" ; // 再將 str 變為空字串以便重覆使用 } }若是部份回存,上面的 code 一樣可當參考,同等適用,就是很笨很煩 小弟也還在爬當中 :) 海匯百川,有容乃大:壁立千仞,無欲則剛 發表人 - 流 於 2003/09/08 10:29:03 |
arthurxu
一般會員 發表:9 回覆:8 積分:3 註冊:2003-09-07 發送簡訊給我 |
謝謝前輩指教ㄛ,下面是我修改過的程式碼 讀取部分 TStringList *Tempfile=new TStringList; Tempfile->LoadFromFile("Test.txt"); StringGrid->RowCount=Tempfile->Count; for(int i=0; i因為我預設將資料最大值為 8 個中文字,然後讀取 Col 時先判斷字串是否大於 4 個中文字,再以 \t 去定位,然後以字串相加的方法,讀完 1 個 Row 後,再將字串寫入 ( @@ 可是假如有某個欄位大於 8 個中文字 就對不準了) 在此先謝謝 流大 的指導 您的回答 讓我有個方向去思考怎麼做 至於原本的第二個問題,我還是找不到怎麼做 @@ 曾經在某本書看過一句話 (記不太清楚了,可能文字有錯但意思一樣) 在程式設計的領域中,可以滿足你無限的想像空間;但是在你學會走之前,想飛想都不要想 目前我只是在學習爬行的階段,連走都走不穩 @@
------
曾經在某本書看過一句話 (記不太清楚了,可能文字有錯但意思一樣) 在程式設計的領域中,可以滿足你無限的想像空間;但是在你學會走之前,想飛想都不要想 目前我只是在學習爬行的階段,連走都走不穩 @@ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |