全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1909
推到 Plurk!
推到 Facebook!

Listbox出現的錯誤訊息..

答題得分者是:ko
speeddragon
一般會員


發表:2
回覆:2
積分:0
註冊:2002-12-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-24 15:40:15 IP:211.72.xxx.xxx 未訂閱
諸位高手大大...請幫助偶這位新手吧.. 嘻嘻 買了兩本
------
Dragon
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-24 16:43:47 IP:202.39.xxx.xxx 未訂閱
第 2 點參考 TListBox.Selected 的 Help 的範例    -- Believe the unbelievable.
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-24 16:55:31 IP:61.219.xxx.xxx 未訂閱
引言: 諸位高手大大...請幫助偶這位新手吧.. 嘻嘻 買了兩本>< face="Verdana, Arial, Helvetica"> 應該是 ListBox.Clear; (ListBox.Items.Count 已經變 0)後, 仍企圖去 access listbox1.Items[1] , 如 showmessage(listbox1.Items[1]); trace 一下程式應該可以找到 Bug. /* 使用中文很辛苦,中華男兒當自強 */ 發表人 - Mickey 於 2002/12/24 16:56:49
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-24 21:06:51 IP:203.217.xxx.xxx 未訂閱
以下這是偶在刪除所有Listbox的資料項時出現的錯誤視窗 list index out of bouns(1) 猜你是這樣寫的
for i:=0 to Listbox1.items.count-1 do begin
  listbox1.items.objects[i].free;
  listbox1.items.[i].delete;
end;
如果是如此的話, 想想你刪掉objects[0]時, 原objects[1]已變成了0, 最後一項一不見了.繼續下去錯更多 可改成 ,Loop內只free物件, 最後再一次clear 或將loop倒轉 for i:=listbox1.items.count-1 downto 0 do ...
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-24 21:10:14 IP:202.39.xxx.xxx 未訂閱
或者:
for i:=0 to Listbox1.items.count-1 do begin
  listbox1.items.objects[0].free;
  listbox1.items.[0].delete;
end;
-- Believe the unbelievable.
speeddragon
一般會員


發表:2
回覆:2
積分:0
註冊:2002-12-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-24 22:05:47 IP:210.85.xxx.xxx 未訂閱
其實偶的寫法就跟cccen版主大大說的一樣.. 就是由最後一筆到第0筆.. 但是其中我用的方法是 listbox.selecteddelete; 所以沒用到物件跟free 因為這個地方目前也還沒學到所以也不太了解.. 能不能順便請教一下 free的作用呀.. Dragon
------
Dragon
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-24 22:55:18 IP:203.217.xxx.xxx 未訂閱
那是有塞物件到listView.items.objects才須要先free裡面的物件, 沒有就不須要了. 既沒有物件, 直接ListView.items.clear就好了
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-24 23:41:45 IP:202.39.xxx.xxx 未訂閱
題外話, ccchen 大大這麼晚了還沒睡 還在這為 KTop 芸芸眾生服務啊! :)    -- Believe the unbelievable.
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-12-31 04:03:29 IP:61.223.xxx.xxx 未訂閱
試試吧 for i:= ListBox1.Items.Count-1 downto 0 do if ListBox1.Selected[i] then ListBox1.Items.Delete(i);
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-12-31 16:23:21 IP:61.221.xxx.xxx 未訂閱
1.殺..... ListBox1.Clear; 2.殺...一個 ListBox1.items.delete(ListBox1.ItemIndex); 3.複製..一個 複製暫存變數:=ListBox1.ItemS.Strings[ListBox1.ItemIndex]; 4.複製多個....MultiSelect=true for i:= ListBox1.Items.Count-1 downto 0 do if ListBox1.Selected[i] then 複製暫存變數:=ListBox1.ItemS.Strings[i];
------
======================
昏睡~
不昏睡~
不由昏睡~
系統時間:2024-05-08 2:16:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!