線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1945
推到 Plurk!
推到 Facebook!

BCB ~ 語法問題

答題得分者是:herbert2
seiken
一般會員


發表:9
回覆:29
積分:7
註冊:2008-11-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-21 19:23:53 IP:210.71.xxx.xxx 訂閱
各位大大好 ~ 小弟再次麻煩你們 有三個語法看不懂書上雖然有說但是動手做過一次還是有點不太清楚
1. ExtractFileName(絕對路徑檔名) // 可去除絕對路徑
2. FileListBox1->ItemIndex // 可取得索引編號值
3. FileListBox1->Items->Strings[索引編號] // 可利用LoadFromFile(...),將檔案show出
請問第1個是只留下載入檔案的名稱嗎?
第2個所謂的索引值是指我載入圖片檔後該圖片在程式執行時的值嗎?
第3個該從那裡可以找到和看見索引值??LoadFromFile(...)<------如果將索引值做運算回填進這做呼叫???
如何寫才能將FileListBox1->Items->Strings[索引編號]<---這索引做運算,運算完後將運算值利用LoadFromFile(...),<-------填入這裡將檔案叫出
例如 : Image2的索引值是 192 然後image1 =377-192 將這值轉成呼叫185.jpg
------
丫風
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-11-21 20:14:44 IP:211.72.xxx.xxx 訂閱
1. String sx1 = ExtractFileName("C:\Windows\Regedit.exe"); // 得到 sx1 = "Regedit.exe"
2. int ix1 = FileListBox1->ItemIndex; // 得到 ix1 = n (n = 0 ~ 2147483647)
只選一個檔, ItemIndex = 0, 兩個分別為 0,1, 三個則 0,1,2 ... 以此類推.
3. String sx2 = FileListBox1->Items->Strings[0]; // 得到 sx2 = "C:\Windows\Regedit.exe" 等.
4. LoadFromFile(sx2); // 要包含完整路徑及檔名.
5. 例如 : Image2的索引值是 192 然後image1 =377-192 將這值轉成呼叫185.jpg
這句看不懂您要做啥, 或許您瞭解以上四項, 便知到要如何做.

還有, 您這篇應在『VCL 元件使用或設計討論區(C Builder)』提問才對.
編輯記錄
herbert2 重新編輯於 2008-11-21 22:02:57, 註解 無‧
seiken
一般會員


發表:9
回覆:29
積分:7
註冊:2008-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-11-22 08:52:35 IP:61.225.xxx.xxx 訂閱
謝謝大大你的回答 
例如 : Image2的索引值是 192 然後image1 =377-192 將這值轉成呼叫185.jpg <-----------這一句我是想問說可以將讀到的索引值用在運算式裡使用嗎?
還有, 您這篇應在『VCL 元件使用或設計討論區(C Builder)』提問才對. <--謝謝大大的告知小弟以後會注意的
------
丫風
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-11-22 09:14:54 IP:211.72.xxx.xxx 訂閱
可以將讀到的索引值用在運算式裡使用, 但您想用的方式可能不保險,
因為: 一次選入多檔時, 並不能確保他們的次序是排序好的!
除非您另外作排序, 並將該索引值當 Refrence. 例如:
Sort FileName Index
1 File100 5
2 File158 23
3 File192 1
.....
則以 Sort 序運算, 再指向 Index 取檔.
當然, 您若很確定您的邏輯流程是對的, 也不一定要先 Sort.
但取檔之前, 應先檢查 FileExists(filespec) 較安全.

===================引 用 seiken 文 章===================
例如 : Image2的索引值是 192 然後image1 =377-192 將這值轉成呼叫185.jpg <----運算式固定嗎? 結果檔案一定存在嗎?
seiken
一般會員


發表:9
回覆:29
積分:7
註冊:2008-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-11-22 18:20:23 IP:123.110.xxx.xxx 訂閱
謝謝這位大大的教導 檔案有仔細的檢查過是有存在的
只是 小弟不知道如何把索引值拿出來做運算 然後把算好的值丟回去做成新的索引呼叫出來
例如 : Image2的索引值是 192 經過運算 假設值是 168 <--- 這個值要如何回填做成新的索引值 讓這個索引值變成是呼叫 image1的
早上看了大大的解釋 --->2. int ix1 = FileListBox1->ItemIndex; // 得到 ix1 = n (n = 0 ~ 2147483647)
只選一個檔, ItemIndex = 0, 兩個分別為 0,1, 三個則 0,1,2 ... 以此類推.
如果image2 索引為 0 我是否可以把0做運算 再把它做成 image1的索引
------
丫風
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-11-22 19:18:32 IP:211.72.xxx.xxx 訂閱
// FileListBox1->ItemIndex < 您選入的檔案數. 2147483647 = 2^32 / 2 - 1, int 整數之最大值.
int ixU = Your_Express; // 我一直強調這個疑惑, 您要如何設定此值 ?
int ixR = FileListBox1->ItemIndex ixU; // 這樣做好像沒有意義!
String sxFile = FileListBox1->Items->Strings[ixR]; // 得 "d:\Directory\img1.jpg", 但要做啥用?
就算 img1.jpg 檔案存在, 它會是那一個 FileListBox1->Items->Strings[i]?
這個 i 是未知, 且每次載入 FileListBox1->Items 時, 不一定每次都是在同一個位置的.
FileListBox1->ItemIndex 是指目前 HeighLight 的那一列的索引值 (int 當然可以做數學運算).

無 Code, 只有一小段一直令人疑惑的流程, 只能告訴您, 語法可以如此用! 但不一定是合您需要的.
『再把它做成 image1的索引』這句話大有問題, 它必須是在 FileListBox1->Items 中, 才會有 Index,
而該 Index 不應由計算產生, 應是搜尋 FileListBox1->Items 的內容而找到的.

seiken
一般會員


發表:9
回覆:29
積分:7
註冊:2008-11-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-11-22 21:45:52 IP:123.110.xxx.xxx 訂閱
謝謝大大的解釋 原來是我想錯了意思 ..
------
丫風
系統時間:2024-05-02 5:49:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!