請問該如何用堆疊或陣列作計算機? |
答題得分者是:RedSnow
|
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
wbs173 您好: 請參考下列這兩篇討論:
進行四則運算的新思路,各位高手們看看
http://delphi.ktop.com.tw/topic.php?topic_id=78797 DiffExpress這個控制項如何使用?
http://delphi.ktop.com.tw/topic.php?topic_id=79122
如果您並不想直接用元件來處理,而是想要瞭解處理過程的話,上述討論中提及的免費元件有提供 Delphi 的原始碼,不妨參考一下。 7 天天敲鍵盤 v 時時按滑鼠 8
|
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
wbs173 您好: 該元件有附著一個名為 readme.txt 的檔案,檔案內對安裝步驟有做說明:
Installation ------------ Delphi & C Builder: In the Delphi or C Builder component menu, choose : 1) Install Component 2) Into new package 3) Choose package filename (for example NEW_PACK.DPK) 4) Browse for unit filename CalcExpress.pas 5) Choose Compile & InstallBCB 與 Delphi 的安裝步驟是相同的,只不過要將步驟 3 所註記的 .DPK 看成 .BPK 即可。 7 天天敲鍵盤 v 時時按滑鼠 8 |
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
|
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
wbs173 您好: 將元件編譯並安裝好之後,您可以在元件盤的 "Samples" 頁籤中找到該元件,拉一個元件到您的 Form 上面,然後參考下列這一篇裡的簡易範例試試看:
DiffExpress這個控制項如何使用?
http://delphi.ktop.com.tw/topic.php?topic_id=79122
7 天天敲鍵盤 v 時時按滑鼠 8
|
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
抱歉唷 請問如果在Samples 沒出現那個元件 是否就是安裝失敗呢?
我對 Choose package filename (for example NEW_PACK.DPK) 這個步驟不是很了解 是隨便輸入一個*.bpk 都可以嗎?
但我又從事了好幾次 除非輸入CalcExpress.bpk 否則都會出現
[Linker Fatal Error] Fatal: Unable to open file 'EXTCTRLS.OBJ'
這個錯誤 真不知道為什麼~"~ 真的很抱歉 由於對安裝這個是個新手所以問題多了點 麻煩會的不吝指導 謝謝~!
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
wbs173 您好:
引言:請問如果在Samples 沒出現那個元件 是否就是安裝失敗呢? 我對 Choose package filename (for example NEW_PACK.DPK) 這個步驟不是很了解 是隨便輸入一個*.bpk 都可以嗎? 但我又從事了好幾次 除非輸入CalcExpress.bpk 否則都會出現 [Linker Fatal Error] Fatal: Unable to open file 'EXTCTRLS.OBJ' 這個錯誤 真不知道為什麼~"~按照該元件原始碼的設定來看,安裝成功後應該會放在 Samples 頁籤中的,如果沒有出現在該處,那應該是未安裝成功。 那個錯誤訊息是說在連結時未能找到 EXTCTRLS.OBJ 這個檔案,我這邊使用的是 BCB4,EXTCTRLS.OBJ 那個檔案是放在 BCB 目錄的 Source\Vcl 次目錄中,您可以查看一下您那邊是不是也一樣,然後再檢查一下 BCB 的相關路徑設定是否包含該目錄?如果不包含在內,就將該目錄新增進去即可,這個步驟可以參考下列文章: linker的問題 http://delphi.ktop.com.tw/topic.php?topic_id=66959 除了 EXTCTRLS.OBJ 的連結問題之外,您可能也需要一併設定好使用該元件時的路徑 (include, link, debug...),設定方式與上方連結中所提相同,但是您可以再參考一下這一篇: 簡單程序可是打不開,缺少資源,如何找回? http://delphi.ktop.com.tw/topic.php?topic_id=77273 7 天天敲鍵盤 v 時時按滑鼠 8 |
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
wbs173 您好: 我已經不記得當初我這邊的 ExtCtrls.obj 是在何種狀況下產生的了?我試著在 DOS Box 裡邊使用 dcc32.exe 來編譯 ExtCtrls.pas 成 .obj 檔案,但是產生的檔案大小與原有的 ExtCtrls.obj 不一樣,因此我不能確定該檔是否能正確的連結使用?您可以試試看。 另外您或許可以試試另一種方式,那就是在您按照原先的步驟準備編譯該元件之前,先將 ExtCtrls.pas 也加入編譯的元件專案 (.bpk) 內,然後再進行編譯動作,看看是否可行? 7 天天敲鍵盤 v 時時按滑鼠 8
|
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
wbs173 您好: 剛才我重新將 CalcExpress 元件移除,並將相關檔案也刪除掉,然後試著重新編譯、安裝,編譯過程很順利並未發生錯誤,但是當我試著使用它來寫一段程式做測試時,卻發現沒有產生 CalcExpress.hpp 那個檔案,我再度移除該元件並刪除相關檔案,打算繼續做測試,但是我突然發現元件盤上面 CalcExpress 的圖示竟然還在....,後續我又做了些測試,在此不累述過程,後來我不按該元件 readme.txt 檔案內註明的步驟,而換了另一種方式來安裝,結果成功了,但我使用的是 BCB4,我不確定您那邊是否也可以用相同方式來安裝?我將步驟列出如下,您試試看好了:
1. 依序點擊項目:Component -> Install Component... -> Into existing package 2. Unit file name: 點擊 "Browse..." 按鈕,找到 CalcExpress.pas 放置的位置,並點選該檔案。 3. Package file name: 到 BCB 的 Lib 子目錄內找到名為 dclusr40.bpk 的檔案 (以紅色標示的 40 是 BCB 的版本字樣,請依據您的 BCB 版本來選擇正確的檔案) 4. 點擊 "OK" 按鈕 5. Compile & install
7 天天敲鍵盤 v 時時按滑鼠 8
|
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
感謝RedSnow的鼎力相助 還幫忙實驗安裝 真的非常謝謝
小弟終於安裝好這個元件了
我參考了RedSnow您之前寫的使用方法 但是我發現 當我在Edit中輸入運算子
便會發生錯誤 但如果我直接寫在原始碼中 卻會正常運算
EX.
Edit1->Text = 5 6/2 - 3;
CalcExpress1->Formula = Edit1->Text;
它就會正常算出答案 請問該如何讓使用者能直接在Edit中輸入算式呢?
是要改變Edit的型態嗎? 請會的高手大大 不吝賜教 感恩~~!
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
謝謝RedSnow大大的回應 不過我在Edit1中還是只要按到+-*/ 就會出現錯誤 以下是我的程式碼
void __fastcall TForm1::Edit1Change(TObject *Sender) { CalcExpress1->Variables->Clear(); CalcExpress1->Formula = Edit1->Text; } //----------------------------------------------------------------- void __fastcall TForm1::Edit2Change(TObject *Sender) { Extended args[1]; Edit2->Text = FloatToStr(CalcExpress1->calc(args, sizeof(args))); }抱歉唷 因為是菜鳥 所以問題多了點 還請會的不吝賜教~感恩~ |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
wbs173
一般會員 發表:12 回覆:26 積分:7 註冊:2005-03-15 發送簡訊給我 |
|
ivljoe
一般會員 發表:3 回覆:5 積分:1 註冊:2007-02-26 發送簡訊給我 |
|
ivljoe
一般會員 發表:3 回覆:5 積分:1 註冊:2007-02-26 發送簡訊給我 |
自己找到方法了, 大家參考參考...
1. componet -> install componet -> into new package 2. Unit file name (eg. ...\source\CalcExpress.pas) 3. Package file name (eg. ...\source\cepack.bpk) 4. click OK and install. 5. copy ...\source\CalcExpress.hpp to ...\CBuilder5\Include\Vcl 真是很好用的元件~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |