Aku make program semacam VB, tapi buat Linux, namanya Gambas. Program
nya itu untuk simulasi reaktor nuklir. Masalahnya gini.. 

Langsung aja ya.., aku punya variabel ini

PUBLIC mmmmTag as String[]
PUBLIC bTag as String[]
PUBLIC eTag as String[]

Kemudian, untuk membuat index arraynya, aku bikin fungsi seperti
dibawah ini. FUngsi ini dijalankan sebelum fungsi untuk mengisi array
dijalankan.

public setArray()

mmmmTag = NEW String[nmatVal]

bTag = NEW String[nmatVal]

eTag = NEW String[nmatVal]

end

Kemudian untuk menambahkan isi array aku buat seperti ini :

PUBLIC SUB tambahArrayMtname(OPTIONAL i AS Integer, OPTIONAL
ValmmmmTag AS String, OPTIONAL valETag AS String, OPTIONAL ValBtag As
String)

DIM nmatVal AS Integer
nmatVal = Val(nmat.Text)

mmmmTag[i] = ValmmmmTag
bTag[i] = ValBTag
eTag[i] = ValEtag

'=== ini untuk mengisi ke ComboBox, mengecek apakah variabelnya berisi
ComboBox1.add(mmmmTag[i] & bTag[i] & eTag[i]

END

Dan ini berjalan baik. Di combo box pun semua isi array tadi bisa
masuk ke comboBox.

Sementara untuk mengecek hasil isian dari array tadi, saya coba
seperti di bawah ini, namun hasilnya masih belum sesuai, hanya array
dengan index terbesar saja yang ditampilkan, selebihnya kosong.
(script dibawah ini dijalankan dari fungsi lain..)

FOR i = 0 TO (Val(nmat.Text) - 1) STEP 1
Message.Info(teks[i])
NEXT

Kira - kira dibagian mana ya yang salah..?
Apakah untuk mengisi variabel dengan tipe String[] itu kita memang
harus menginisiasinya dulu dengan cara seperti ini??

data = new data[indexArray]


Pada intinya sih cuma seperti ini:
Saya ingin membuat suatu variabel array dengan tipe string. Tetapi
jumlah index array nya itu di set dari interaksi dengan program. Jadi,
tidak bisa diinisiasi dari awal index array nya.

Kemudian, di salah satu fungsi array itu diisi.

Dan terakhir, isi dari array itu bisa diakses dari semua fungsi dalam
class yang sama.

Mohon pencerahannya...

regards,
Okto Silaban
KMTF - UGM
http://kmtf.ft.ugm.ac.id

Kirim email ke