Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB* Dim ja muut

Sivun loppuun

aerosoul [21.11.2002 12:19:56]

#

Kun lataan Form1 alussa tiedostosta nimet.dat nimet taulukkoon, ja yritän käyttää niitä Form5 ListBoxissa, niin se herjaa ettei tietoja löydy. Tähän tapaan: (koodipätkä on Form1 General/Declaretions osiossa)

dim nimet(30) as string
open "nimet.dat" for output as #1
do until eof(1)
rivi=rivi+1
line input #1,nimet(rivi)
loop

(en muista käytinkö $ merkkiä)

tietääkeni jos dimmillä varaa koodin alussa niin ne pitäisi näkyä kaikkialla. Kokeilin myös Publicia mut se suuttu heti. Mikä on tämä koodin alku? en tiedä muuta paikkaa mihin kirjoittaa kuin formin koodit.

progo [21.11.2002 14:22:06]

#

Mitä se tarkkaan ottaen herjaa?

Gevil [21.11.2002 14:32:47]

#

Hmm, siis mitä ton sun koodis oli tarkoitus tehdä? Siis.. joo.. no mä tekasin tälläsen pätkän.. kun en nyt tiedä mitä sä haluat oikein "koodin alku".. ensinnäkin olikon ton tarkotus kirjottaa vai lukea siitä tiedostosta.. nimittäin musta sä halusit just inputtia etkä outputtia, joten vaihdoin outputin inputiksi. Taisin tajuta väärin koko ton selitykses, mutta jos tajusin oikein.. niin tossa on koodia..

Dim nimet(30) As String

Private Sub Form_Load()Open App.Path & "/nimet.dat" For Input As #1
Do Until EOF(1)
    rivi = rivi + 1
    Line Input #1, nimet(rivi)
Loop
End Sub

aerosoul [21.11.2002 15:05:24]

#

oho. tarkoitus oli että tiedosto avataan lukemista varten. Eli siis alunperin ongelma oli et kun lataa nimet taulukkoon Form1 alussa ja
yrittää käyttää niitä jossain toisessa formissa niin se objekti missä nimiä tarvitsen sanoo et siinä taulukossa ei ole tietoa *nimiä*

Gevil [21.11.2002 17:10:40]

#

Annahan sitäkin koodia millä katot niitä nimiä taulukosta.. Ja annatko eksaktin virheilmoituksen mitä se antaa. Jos se valittaa et siinä ei oo tietoa, niin siinä ei ole tietoa. Depuggerilla voisit katsoa että missä kohdassa alkaa mennä pieleen. Siis ootko sä saanu ne nimet ladattua taulukkoon onnistuneesti. Onhan sulla tossa tiedoston (nimet.dat) lataamisessa oikea polku mistä löytyy ne nimet.

Musta tuntuu et jos olet tolla ekalla koodillas yrittäny ladata tietoa ohjelmaan, niin se on luultavasti saattanut pyyhkästä koko nimet.dat tyhjäksi, ei siis ihme jos tietoa ei löydy.

Antti Laaksonen [21.11.2002 17:50:48]

#

Jos haluat käyttää pelkästään formeja ohjelmassasi, määritä muuttujat niiden alussa käskyllä Public käskyn Dim sijasta. Sitten voit viitata niihin toisissa formeissa laittamalla mukaan formin nimen, esimerkiksi (Form2:ssa) Form1.nimet(0).

aerosoul [22.11.2002 08:20:00]

#

lainaus:

Musta tuntuu et jos olet tolla ekalla koodillas yrittäny ladata tietoa ohjelmaan, niin se on luultavasti saattanut pyyhkästä koko nimet.dat tyhjäksi, ei siis ihme jos tietoa ei löydy.

Kyllä (siiss siinä missä tiedot on otettu talteen) kaikki näkyy kuten pitääkin. Mutta toisissa Formeissa ei näy

aerosoul [22.11.2002 08:21:24]

#

ongelma onkin etten löydä muuta paikkaa kirjoittaa koodia kuin Formit.

trinit [22.11.2002 13:36:31]

#

lainaus:

ongelma onkin etten löydä muuta paikkaa kirjoittaa koodia kuin Formit.

Ongelmasi on nyt sellainen, että määrittelemäsi taulukko "nimet" on määritelty vain sen formin käyttöön jossa olet sen esitellyt Dim:miä käyttäen. Lisääpä siis projektiisi moduuli (Module) ja laita sinne ensimmäiseksi riviksi:

Public nimet(30) As String

Tämän jälkeen poistat "Dim nimet(30) As String" rivit kaikista formeista. Taulukon käyttö pysyy samana joten älä muuta sitä. Nyt sinulla on yleinen taulukko jota pystyy käyttämään mistä tahansa ohjelmaa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta