2016-11-23 65 views
-2

我會開始這在什麼我試圖做的是轉換陣列成dymanic陣列,將得到一個ListView站到位預設陣列麻煩定製陣列和選擇

const 
    urls: array[0..1] of AnsiString = (// preset stream URLs 
    'http://www.radioparadise.com/m3u/mp3-128.m3u', 'http://www.radioparadise.com/m3u/mp3-32.m3u'); 

我有沒有代碼預先完成,所以沒有代碼顯示或給我主要是要求如何做到或指出正確的方向的幫助。

+0

您發佈的代碼確實給*訪問錯誤*,因爲它甚至不會編譯。它甚至不接近實際的代碼。請[編輯]你的問題,併發布**你已經嘗試過的**實際代碼**,不適合你。 (我們不會每次詢問你每次發佈編輯以提供真實信息時,請閱讀[問]和[mcve]。) –

+3

您發佈的代碼**不能**生成該消息,因爲**它不會編譯**。請[edit]發佈**您的真實代碼**,因爲我已經要求您做。 **將編譯的實際代碼**,因爲[mcve]的鏈接告訴您如何執行。不是你爲這篇文章編寫的代碼,而是你編譯和運行**的真實代碼。 'urls:AnsiString =(Items.SubItems [i])的數組;''**是無效的Delphi代碼,它不會編譯**。 –

+0

這個>> urls:AnsiString數組,我認爲你想要說這是一個局部變量,但位於你上面代碼的錯誤位置。 – Saulo

回答

3
var 
    urls: array of string; 

... 
SetLength(urls, ListView.Items.Count); 
for i := 0 to Items.Count-1 do 
begin 
    // assuming the URL is in the first subitem 
    urls[i] := ListView.Items[i].SubItems[0]; 
end; 
... 

然後,您可以在需要時使用urls[index]

+6

儘管這個答案顯然是正確的,但是在海報編輯問題之前發佈它是一種遺憾。你已經取消了所有激勵措施,並告訴他們即使他們不願意合作併發布實際的問題代碼,但他們可以繼續在這裏發佈垃圾,並仍然讓某人給他們提供解決方案。教新用戶是一個糟糕的教訓。 –

+0

感謝肯指出的錯誤,但有些時候,我不總是得到你的意思,當我發佈我做的嘗試,使其容易清除,因爲我可以我不誠實地意味着發佈垃圾,並願意充分合作,但我有一個學習這樣的打字和閱讀障礙是不是我的強項,所以它可能縫隙就像我只是不合作,但它只是因爲我不真正理解對不起agen男人和雷米感謝回覆 –

+2

@Simon:我不明白你怎麼不能瞭解我寫的內容。我說*你發佈的代碼是無效的,所以它不會編譯。如果它不能編譯,則無法運行。如果它不能運行,它不會導致你說的錯誤。請修改您的帖子,以提供您正在使用的實際代碼,這些代碼將會運行並導致該錯誤*,或者無法學習殘疾。不會運行的代碼不會導致運行時異常。如果你需要幫助你的代碼,**發佈你真實的代碼**,你還沒有完成。 –