» »

[VB][.NET] pretvorba niza v število

[VB][.NET] pretvorba niza v število

Bela01 ::

Mam dva taka skromna vprašanja. 0:)
Kako pretvorit string v integer? Rada bi besedilo, ki ga vtipkaš v TextBox shranla v spremenljivko a, ki je integer.

In pa še nekaj, kak preprečit, če npr. uporabnik vpiše namesto številke v TextBox črko, da se program ne bo vsul?

LP, Ines
  • spremenilo: CCfly ()

Bela01 ::

Aja pa še nekaj. Kje naj definiram spremenljivko, ki bo uporabna v vseh procedurah (torej ne bo lokalna). Sem jo napisala pod Public class ImeRazreda pa nekak ne deluje ravno.

Primer:

Public Class Odstevanje
Inherits System.Windows.Forms.Form
Dim d(4) As Integer

darkolord ::

Convert.ToInt32()

in

Public d(4) As Integer

darkolord ::

Aja, z IsNumeric pa preveriš, če so v stringu samo številke

Looooooka ::

ce das spremenljivko v class pol bos mogla ta class prej uporabit in bo spremenljiva dosegljiva v njemu...
as in

public class strudl
public rozina as integer
end class

dim drobtina as new strudl
drobtina.rozina=6

ce das pa lepo
public rozina as integer v en MODULE...ne CLASS
potem lahko le-tega uporabljas kjerkol.

kar se tice pa pisanja texta v textbox in pustit samo integerje...tko kot je blo napisano preveriz z isnumeric.
alternativa brez preverjanja je da gres na google in si poisces win32 API...not mas napisane dekleraciej ki jih mors vpisat v program in lahko kater kol textbox prisilis da sprejema samo cifre brez kakrsnega kol preverjanja.

Zgodovina sprememb…

  • spremenilo: Looooooka ()

darkolord ::

Ni treba v modul, če hočeš brez instance daš samo Shared

Bela01 ::

O super, zlati ste :).

Bela01 ::

Hm, zakaj meni public a as integer ne prime? Public mu ni všeč.

Bela01 ::

Ko želim napisat tako:

Dim a(8) As Integer
Dim b(8) As Integer
Dim c As Integer
Dim i As Integer
Public d(8) As Integer

mi napiše, da public ni dovoljen tukaj kjer se pišejo privat spremenljivke - nekaj takega.

darkolord ::

Kam pa to pišeš?

Zgodovina sprememb…

  • spremenilo: darkolord ()

Bela01 ::

V proceduro.

Zdaj sem zapisala v class pa mi dela. Bom skopirala:

Public Class Odstevanje
Inherits System.Windows.Forms.Form
Public d(8) As Integer
#Region " Windows Form Designer generated code "
..........
#End Region

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim a(8) As Integer
Dim b(8) As Integer
Dim c As Integer
Dim i As Integer
......
End Sub

darkolord ::

Jasno, v Class moraš to napisat... V proceduri ne moreš imet public spremenljivk, saj to sploh ni logično 8-).

Naredi public spremenljivko v classu pa jo potem spreminjaj v proceduri, če želiš še drugje dostopat do nje

Bela01 ::

Hihi, no sej to sem zaj naredila, ker mu prej ono ni bilo všeč. Nisem vas čisto razumela :)

Bela01 ::

Še nekaj bom vprašala, pol pa upam, da bo šlo :)

Zakaj to ne deluje?
Dim k As Integer
If IsNumeric(Convert.ToInt32(Razlika1.Text)) = True Then
k = Convert.ToInt32(Razlika1.Text)
Else
Razlika1.Text = "Napaka"
End If

Če napišem število v textbox ni problema, če pa črko pa se sesuje.

darkolord ::

tole: If IsNumeric(Convert.ToInt32(Razlika1.Text)) = True Then

v tole: If IsNumeric(Razlika1.Text) Then


Najprej moraš preverit, če je število... Če daš pa Convert prej pa proba najprej pretvorit pa potem preverit... pa jasno ne gre

Zgodovina sprememb…

  • spremenilo: darkolord ()

Bela01 ::

Aja, eh, to sem pa zaj res malo zaj...

Bela01 ::

Še eno vprašanje :):

Ko kliknem gumbek Izhod, bi rada da se zapre trenutni dialog, ne pa cel program. Če napišem samo End se mi zapre cel program.

darkolord ::

Me.Hide()

Bela01 ::

Tak, oni programček sem naredila. Zaj sem se pa spravla enega podobnega delat.

Ta bo zgledal tako: imel bo dialoge seštevanje, odštevanje, množenje in deljenje - enako kot prejšnji, le da sedaj ne bo uporabnik vpisoval rešitev v textbox, ampak bo izmed naštetih gumbekov izbral enega in ga dal na mesto rešitve. Zdaj pa me zanima s čim oz. kak si naj določim polje, kjer bo uporabnik dal gumbek. Npr. če se že na pol približa recimo temu polju, da ga kar vrže v njega. Če pa je prav pa seveda pol ugotoviš z gumbkom preveri.
Torej ali morem, dat kaki element tja za polje, kjer bi naj prišle rešitve, ali to rešim s pomočjo koordinat?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

vb.net: dynamic textbox

Oddelek: Programiranje
51190 (1080) saule
»

visual basic 2008 express edition

Oddelek: Programiranje
221826 (1253) sel
»

Kalkulator-problem

Oddelek: Programiranje
51353 (1286) Tutankhamun
»

Visual basic noob question

Oddelek: Programiranje
111573 (1328) DonMatejo
»

Vb 2005 - TextBox - Izračun števila vrstic?

Oddelek: Izdelava spletišč
81617 (1492) smash

Več podobnih tem