Miten lukuja syötetään.

Kieli on Visual Basic .NET ja kysymys seuraavanlainen:

Miten voidaan syöttää lukuja VB-ohjelmaan?

Siis niin että käyttäjä syöttää niitä lukuja ajon aikana... Siis jos tekee esimerkiksi jonkin laskukone ohjelman, tai vastaavan... Vähän niinkuin Textbox:lla voi syöttää tekstiä, niin pitäisi löytää joku keino syöttää lukuja, mitä voi käyttää laskutoimituksissa... Lukujahan voi syöttää myös tekstinä, mutta silloin niillä ei voi laskea.
5490
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

Hieman hankala sanoa - onko kyseessä konsolisovellus vai windows-ohjelma. Jos pitää testata syötetäänkö esim. TextBoxiin pelkkiä lukuja, kannattanee TextBoxin "TextChanged" -eventissä tarkistaa syöte esim. käyttämällä jotain regular expressionia.

Tietysti netistä löytyy myös TextBoxista varioituja kontrolleja jotka tekevät tämän automaattisesti. Ilmainen tällainen löytyy esim. osoitteesta http://www.windowsforms.com/controlGallery/ControlDetail.aspx?Control=287&tabindex=0

Äänestä
  • Näillä eväillä pääsee varmaan jo aika pitkälle. Kiitos.

    Äänestä

TextBoxia voi käyttää, kun muuntaa tekstiruudusta luetun merkkijonon luvuksi
Val-funktiolla ja sijoittaa tuloksen muuttujaan. Luku=Val(TextBox1.Text).
Luku voi olla esim. Integer tai Double-tyyppiä.

Käyttäjän näppiksenkäyttöä voi tutkia funktiolla:

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'ehto on tosi muilla kuin merkeillä 0...9
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii=0 'merkkiä ei tulosteta TextBoxiin
End If
End Sub

Funktioon voi lisätä ehdon myös yhden desimaalipilkun sallimiseen.

Äänestä
  • Tuo auttoi paljon, kiitos.

    Äänestä

Nuo aikaisemmat ohjeet ovat OK, eli lue ensin tekstipuskuriin ja vasta puskurista kokonais tai liukulukumuuttujaan.

Mikä on etu? Jos teet ohjelman joka lukee tuntematon määrä lukuja pötköön niin sinun täytyy jotenkin ilmoittaa koska kaikki luvut ovat syötetty (esim. kirjoittamalla numeron sijasta "valmis"). Tai graafisessa käyttöliittymässä voit tekstikenttään kirjoittaa "oletusarvo". jne. Testaat ensin tekstisisällön, vasta sen jälkeen teet mahdollisesti muunnos numeromuotoon.

Äänestä

Kommentoi aloitusta


aloittelija... kirjoitti:

Kieli on Visual Basic .NET ja kysymys seuraavanlainen:

Miten voidaan syöttää lukuja VB-ohjelmaan?

Siis niin että käyttäjä syöttää niitä lukuja ajon aikana... Siis jos tekee esimerkiksi jonkin laskukone ohjelman, tai vastaavan... Vähän niinkuin Textbox:lla voi syöttää tekstiä, niin pitäisi löytää joku keino syöttää lukuja, mitä voi käyttää laskutoimituksissa... Lukujahan voi syöttää myös tekstinä, mutta silloin niillä ei voi laskea.

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