Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB oliot

Armoletti [22.11.2006 23:50:13]

#

Olen ohjelmoinut Javaa ja olen huomannut siinä tällaisen todella kätevän pikkuveijarin kuin oliot.

En nyt tarkoita olioita kuten kuvaobjekti tai listboxi, vaan tallennus kantaa johon ensin luodaan kehys muuttujista jota kutsumalla voi luoda olioita.

Voiko tämän tapaisia olioita luoda Visual Basicissa ja jos voi niin miten. Ja jos vastaavaa kysytty aijemmin tai asiasta on opas voitte laittaa vain suoraan linkkiä.

Kiitos jo etukäteen.

Muokkaus:
Ohops taisin sekoittaa asiat siis tämä juttu jota tarkoitan taitaakin olla nimeltään luokat (class), eli miten näiden luominen Visual Basickiin tapahtuu.

En ole nyt aivan varma mitä nämä olivat mutta ideana on se että minullulla on iso määrä henkilöitä joilla kaikilla on muuttujia kuten nimi, ikä, osoite. Sitten pitäisi olla kätevä tapa luoda näitä henkilöitä ja kutsua niitä.

Esim luo asiakas kenonen

kenonen.nimi = "Pertti Kenonen"
kenonen.ika = 40

Tulipahan taas aika sotku selitettyä. Toivottavasti joku ymmärtää ja osaa neuvoa tyhmempää.

BadSource [23.11.2006 07:03:10]

#

Typellä.

Private Type Henkilo
    EtuNimi As String
    SukuNimi As String
    Alias As String
End Type

Private Sub SpiidiEtSaku()
    Dim Henkilot() As Henkilo
    Dim i As Integer

    ReDim Henkilot(1)
    Henkilot(0).EtuNimi = "Pertti"
    Henkilot(0).SukuNimi = "Keinonen"
    Henkilot(0).Alias = "Spiidi"
    Henkilot(1).EtuNimi = "Sakari"
    Henkilot(1).SukuNimi = "Östermalm"
    Henkilot(1).Alias = "Saku"
    For i = 0 To 1
        With Henkilot(i)
            MsgBox .EtuNimi & " " & .SukuNimi & ", eli " & .Alias
        End With
    Next i
End Sub

Blaze [23.11.2006 10:02:33]

#

Typehän ei siis määrittele luokkaa, vaan oman tietotyypin (vrt. C:n struct, Javassa vastinetta ei ole), eli se ei voi sisältää metodeja. Jos tarve kuitenkin rajoittuu tuohon tietojen niputtamiseen, on tämä se oikea ratkasu.

VB:ssä on kuin onkin myös ihan oikeita luokkia (joskin se, mitä niillä voi tehdä on jossain määrin rajoitettua), sellaisen saa projektiinsa lisäämällä siihen Class Modulen.

Armoletti [23.11.2006 12:39:40]

#

Kiitoksia avusta. Löysin vastauksen juuri siihen mitä tarvitsin.

Vastaus

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

Tietoa sivustosta