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

動態建立TmemotyStream

 
ddaken
一般會員


發表:39
回覆:33
積分:19
註冊:2005-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-03-02 17:10:11 IP:61.230.xxx.xxx 訂閱
請位各位大大,
如果我動態建立
[1]TMemoryStream *c1Stream=new TMemoryStream;
TMemoryStream *c2Stream=new TMemoryStream;
. ...

TMemoryStream *c100Stream=new TMemoryStream;

總不可能自己寫一100個,
請問如果用for迴圈該怎麼寫呢??

[2]那如果我要
修改c1Stream->Clear() ;
c2Stream->Clear()
...
c100Stream->Clear();
又該怎麼寫呢??


[3]是不是所有自己建立的TCopmonter都可以使用for迴圈來寫??
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-03-03 12:21:13 IP:61.64.xxx.xxx 訂閱
(1) 對的,自己寫 100 個,不然你期望怎樣?一句話就完成,呵呵那是董事長的特殊能力
董事長說,建 100 個,就會有苦命的職員,說:好馬上辦
所以自己建吧,電腦就是這樣的一個東西
最快,用回圈,除非函式庫有寫好的功能,不然沒其他方法,自己來吧
(2) 是的,請用回圈
(3) 沒錯,還是回圈

for (xxxxxx)
{
Stream=new TMemoryStream; <----建立
就看你如何記錄了,我想可以用 TList 將之以指標的方式記下來,再來要用就會很方便
TList.add(xxxxxx); <---- 紀錄,除非你要用大腦記,不然還是用陣列或這種方式記一下吧
Stream = (TMemory *) StreamTList.Item[i]; <---- 取得
Stream.clear(); <--- 清除
}

簡單的關鍵部分,其他你自己應該可以
windblown
中階會員


發表:0
回覆:117
積分:98
註冊:2003-11-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-03-04 14:24:07 IP:61.64.xxx.xxx 未訂閱
我只會遜遜的方法 <textarea cols="60" rows="10" class="cpp" name="code"> #define MAX_MEM_STREAM 100 TMemoryStream* arrMemStr[MAX_MEM_STREAM]; voidInitMemStream() { for ( int i=0; iClear(); } } </textarea>
ddaken
一般會員


發表:39
回覆:33
積分:19
註冊:2005-01-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-03-05 00:16:24 IP:125.232.xxx.xxx 訂閱
謝謝兩位大大~~
不過syntax大大說的~我比較不懂~~
可否再講清楚一點呀~~謝謝
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-03-06 01:57:53 IP:61.64.xxx.xxx 訂閱
windblown 已經給你用陣列的範例

用 TList 元件也是一樣,沒多大差異
只是他沒寫出用法

TMemoryStream *AMemS;

AMemS = arrMemStr[i] <--- 取出

如果使用 TList

AMemS = (TMemoryStream *) TList.Item[i] <-- 因為 TList 記錄的是指標

AMemS->xxxxxx <--- 使用
系統時間:2024-05-09 15:01:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!