請問可否在副程式中改變string grid內的字串? |
尚未結案
|
ohsula
一般會員 ![]() ![]() 發表:12 回覆:17 積分:5 註冊:2004-03-02 發送簡訊給我 |
各位大大我想在以下的副程式中,寫入字串至String grid的cell內,但當程式程執行時,卻出現" Undefined symbol'sg',不知是什麼意思?
int do_all_test() { int ok=1; /* PASS --> ok=1, FAIL --> ok=0 */ test_1 (&ok); if (ok == 0) { sg->Cells[3][1]="fail"; sg->Repaint(); return(ok); } else { sg->Cells[3][1]="pass"; sg->Repaint(); }Auston Huang
------
Auston Huang |
RaynorPao
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 各位大大我想在以下的副程式中,寫入字串至String grid的cell內,但當程式程執行時,卻出現" Undefined symbol'sg',不知是什麼意思?int do_all_test() { int ok=1; /* PASS --> ok=1, FAIL --> ok=0 */ test_1 (&ok); if (ok == 0) { sg->Cells[3][1]="fail"; sg->Repaint(); return(ok); } else { sg->Cells[3][1]="pass"; sg->Repaint(); }Auston Huang ohsula 你好: 有兩種解決的方式 (1)把這個 function 宣告成 Form1 class 的 method,先在 Unit1.h 裡面宣 告 (放在 public 或 private 都可以) int __fastcall do_all_test(); 然後在 Unit1.cpp 裡面要改成這樣子 int __fastcall TForm1::do_all_test() { //............... } (2)不更改原來的宣告方式,但在程式碼裡面要用到 Form1 裡面的元件的時候, 都要改成這樣子寫,例如: Form1->sg.....
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
khaupe
一般會員 ![]() ![]() 發表:28 回覆:25 積分:15 註冊:2003-06-30 發送簡訊給我 |
引言: 各位大大我想在以下的副程式中,寫入字串至String grid的cell內,但當程式程執行時,卻出現" Undefined symbol'sg',不知是什麼意思?你可以把StringGrdi1當作do_all_test()的參數去傳 以下是我在用的清StringGri1的副程式 void GridClear(TStringGrid *Sender){ for(int i = 0 ; i <= Sender->ColCount ; i ){ for(int j = 0 ; j <= Sender->RowCount ; j ){ Sender->Cells[i][j] = "" ; } } 宣告就看你要放在哪裡了(我是獨立做成.h再include啦) 用的時候就 GridClear(StringGrid1) ; 醬就行了int do_all_test() { int ok=1; /* PASS --> ok=1, FAIL --> ok=0 */ test_1 (&ok); if (ok == 0) { sg->Cells[3][1]="fail"; sg->Repaint(); return(ok); } else { sg->Cells[3][1]="pass"; sg->Repaint(); }Auston Huang |
xufs
一般會員 ![]() ![]() 發表:16 回覆:26 積分:8 註冊:2003-04-23 發送簡訊給我 |
引言: 各位大大我想在以下的副程式中,寫入字串至String grid的cell內,但當程式程執行時,卻出現" Undefined symbol'sg',不知是什麼意思?Undefined symbol'sg'表示sg是未定義符號。 要如此解決﹕ 1。 int do_all_test() { int ok=1; /* PASS --> ok=1, FAIL --> ok=0 */ TStringGrid *sg=new TStringGrid(this); //定義sg,動態創建StringGrid test_1 (&ok); if (ok == 0) { sg->Cells[3][1]="fail"; sg->Repaint(); return(ok); } else { sg->Cells[3][1]="pass"; sg->Repaint(); } delete sg; //删除sg } 2.或在StringGrid所在窗體上選中StringGrid VCL﹐在Object Inspector上修改name項為sg 發表人 - xufs 於 2004/03/31 11:38:43int do_all_test() { int ok=1; /* PASS --> ok=1, FAIL --> ok=0 */ test_1 (&ok); if (ok == 0) { sg->Cells[3][1]="fail"; sg->Repaint(); return(ok); } else { sg->Cells[3][1]="pass"; sg->Repaint(); }Auston Huang |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |