Visual basic ohjelma-koodi???

Eli pitäisi tehdä ohjelma jossa voidaan valita tietty aihe ja valinnan jälkeen nähdään kyseisen aiheen selitys.
Ohjelma toimii niin että kun comboboksista valitaan jokin aihe, viereiseen tekstikenttään ilmestyy kyseisen aiheen selitys.
Oliskos neuvoja kyseisen jutun toteutukseen??
5507
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

Laita projektiin Combo1-boksi ja Text1-tekstilaatikko.

Kirjoita koodit:

Private Sub Form_Load()
For s = 1 To 10
Combo1.AddItem "Teksti" & s
Next s
End Sub


Private Sub Combo1_Click()
Text1.Text = Combo1.Text
End Sub


ja käynnistä, kun klikkailset Combo-boksista eri valintoja, ne tulevat viereiseen Text1-ikkunaan.

Tarkoititko tätä?

Äänestä
  • Se jäi vielä epäselväksi, että mihin kohtaan lisätään ne tekstit koodissa, jotka sitten näkyy kun on valittu combo-boxista se haluttu juttu ja se teksti tulee siihen list boxiin näkyviin?

    Äänestä

  • Eli pitäisi saada esim combo-boxiin kymmenen eri nimeä, ja kun nimi valitaan niin list-box näyttäisi tämän henkilön osoitteen tai muun vastaavan tiedon??!!! Mihin nämä tekstit kirjoitetaan ja miten?

    Äänestä

  • JUUSO kirjoitti:

    Eli pitäisi saada esim combo-boxiin kymmenen eri nimeä, ja kun nimi valitaan niin list-box näyttäisi tämän henkilön osoitteen tai muun vastaavan tiedon??!!! Mihin nämä tekstit kirjoitetaan ja miten?

    Tämä on yksi malli, ei lie ainoa ja ei ehkä paraskaan. Tietojen tallennuksenkin tietysti voisi ohjelmaan tehdä. Mutta jos tehtäisiin vaikka ne nimi, osoitetiedot jollakin editorilla, vaikkapa Notepadilla. Riville tulee nimi ja osoite pilkulla erotettuna. Ei saa olla ylimääräisiä pilkkuja:
    Juuso, Kotikatu 1
    Pekka, Kotikuja 5

    Tässä esimerkissä tiedot on tallennettu tiedostoon "osoitteet.dat".
    Polkukin on hyvä olla tuossa,
    esim. "C:\osoitteet.dat"

    Tiedosto luetaan ohjelman sisään käynnistettäessä ohjelma, eli Form_Load:ssa.

    Tee teksti-objekti nimellä "osoitetxt",
    ja Combo1-objekti
    Alusta kuitenkin muuttujat ekaksi:

    Dim nimi(100), osoite(100) As String
    Dim s, kpl As Integer
    -------------------------------------------
    Private Sub Form_Load()
    s = 1
    Open "C:\osoitteet.dat" For Input As #1
    Do While Not EOF(1)
    Input #1, nimi(s), osoite(s)
    Combo1.AddItem nimi(s)
    s = s 1
    kpl = kpl 1
    Loop
    Close #1
    End Sub
    ------------------------------------------------
    Private Sub Combo1_Click()
    For s = 1 To kpl
    If nimi(s) = Combo1.Text Then osoitetxt.Text = osoite(s)
    Next s
    End Sub
    --------------------------------------------------

    Eli periaate on se, että nimet ja osoitteet ladataan indeksoituihin muuttujiin: nimi() ja osoite(). Varattu 100 arvoa.
    nimen nimi(5) osoite on osoite(5).

    Ja kun Combo1 valinnasta klikataa jokin nimi, käydään vain silmukassa For..s..Next läpi kaikki nimet nimi(s), eli indeksinä on tuo s arvo ja kun muuttujista löytyy sama nimi mikä valittiin Combo1 valinnasta, osoite(s) arvo kirjoitetaan osoitetxt.Text sisällöksi. Muuttuja kpl on tiedostossa olleiden tietorivien lukumäärä, eli myös nimi/osoitetietojen määrä.

    Äänestä

  • vbguru kirjoitti:

    Tämä on yksi malli, ei lie ainoa ja ei ehkä paraskaan. Tietojen tallennuksenkin tietysti voisi ohjelmaan tehdä. Mutta jos tehtäisiin vaikka ne nimi, osoitetiedot jollakin editorilla, vaikkapa Notepadilla. Riville tulee nimi ja osoite pilkulla erotettuna. Ei saa olla ylimääräisiä pilkkuja:
    Juuso, Kotikatu 1
    Pekka, Kotikuja 5

    Tässä esimerkissä tiedot on tallennettu tiedostoon "osoitteet.dat".
    Polkukin on hyvä olla tuossa,
    esim. "C:\osoitteet.dat"

    Tiedosto luetaan ohjelman sisään käynnistettäessä ohjelma, eli Form_Load:ssa.

    Tee teksti-objekti nimellä "osoitetxt",
    ja Combo1-objekti
    Alusta kuitenkin muuttujat ekaksi:

    Dim nimi(100), osoite(100) As String
    Dim s, kpl As Integer
    -------------------------------------------
    Private Sub Form_Load()
    s = 1
    Open "C:\osoitteet.dat" For Input As #1
    Do While Not EOF(1)
    Input #1, nimi(s), osoite(s)
    Combo1.AddItem nimi(s)
    s = s 1
    kpl = kpl 1
    Loop
    Close #1
    End Sub
    ------------------------------------------------
    Private Sub Combo1_Click()
    For s = 1 To kpl
    If nimi(s) = Combo1.Text Then osoitetxt.Text = osoite(s)
    Next s
    End Sub
    --------------------------------------------------

    Eli periaate on se, että nimet ja osoitteet ladataan indeksoituihin muuttujiin: nimi() ja osoite(). Varattu 100 arvoa.
    nimen nimi(5) osoite on osoite(5).

    Ja kun Combo1 valinnasta klikataa jokin nimi, käydään vain silmukassa For..s..Next läpi kaikki nimet nimi(s), eli indeksinä on tuo s arvo ja kun muuttujista löytyy sama nimi mikä valittiin Combo1 valinnasta, osoite(s) arvo kirjoitetaan osoitetxt.Text sisällöksi. Muuttuja kpl on tiedostossa olleiden tietorivien lukumäärä, eli myös nimi/osoitetietojen määrä.

    Täytyy kokeilla, kunhan aika antaa periksi! Kiitos jo etukäteen, täytyy palata asiaan jos ilmenee vielä jotain kysyttävää!

    Äänestä

Kommentoi aloitusta


JUUSO kirjoitti:

Eli pitäisi tehdä ohjelma jossa voidaan valita tietty aihe ja valinnan jälkeen nähdään kyseisen aiheen selitys.
Ohjelma toimii niin että kun comboboksista valitaan jokin aihe, viereiseen tekstikenttään ilmestyy kyseisen aiheen selitys.
Oliskos neuvoja kyseisen jutun toteutukseen??

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu