Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: Merkkijonojen käsittely VB 2012

Sivun loppuun

heikkju2 [20.01.2013 16:41:17]

#

Törmäsin yllättäen ongelmaan johon ei näy löytyvän ratkaisua tai sitten en ymmärrä.

    Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
        Label59.Text = DateTimePicker1.Value
        pita = Val(Label59.Text)
        tmp = InStr(Label59.Text, ".")
    End Sub

Tarkoitus olisi poistaa pisteet Label59.Text ruutuun tulevasta päiväyksestä (20.1.2013 => 2012013) VB.ssä homma hoituisi left ja right käskyillä mutta, tämä ei näytä niitä tuntevan vaikka VAL toimiikin. onko teillä ratkaisua tähän?

samip [20.01.2013 17:32:51]

#

Replace(expression, find, replacement)

heikkju2 [20.01.2013 18:32:50]

#

Jokin tässä mättää:

Public Class Form5

        Dim klo As String
        Dim tila As String
        Dim karju As String
        Dim pvm As Integer
        Dim tmp As Integer
        Dim pita As Integer
        Dim pitb As String
        Dim pitc As String
    Dim pitd As String
    Public Shared Function Replace(Expression As String, Find As String, _
  Replacement As String, Start As Integer, Count As Integer, Compare As CompareMethod _
) As String
 Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
        Label59.Text = DateTimePicker1.Value
        pita = Val(Label59.Text)
        tmp = InStr(Label59.Text, ".")
        Dim TestString As String = Label59.Text
        Dim aString As String = Replace(Label59.Text, ".", "")
    End Sub

En oikein hallitse noiden käyttöä mutta en saa sitä toimimaan vaikka kokeili eri variaatioita

pitäisikoö nuo Dim alkuiset sijoittaa ylös muiden sekaan ja onko tuo ylhäällä oleva muuttuja määritys oikein?

Lisäys:

Ai sekin piti vielä kysyä että, sissä nykyisin määritetään globaalit muuttujat ja mikä korvaa tuon VB6:ssa olleen APP.PATH muuttujan?

neau33 [20.01.2013 19:28:19]

#

Moi heikkju2!

Public Class Form5

	'näkyy koko luokassa (Form5)
	Dim klo As String
	'jne...

	'eikä missään tapauksessa mihinkään mitään tämmösiä-------------------
	Public Shared Function Replace(Expression As String, Find As String, _
	Replacement As String, Start As Integer, Count As Integer, Compare As CompareMethod ) As String
	'---------------------------------------------------------------------


	Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged

		'näkyy vain tässä aliohjelmassa
		Dim aString As String = Label59.Text

		'~ bString = aString.Korvattuna(pisteet,tyhjällä)
		Dim bString  As String = aString.Replace(".", "")
		'Replace on VB:n sisäinen funktio, myös VB6:ssa
		'VB6 syntaksi: Replace(aString, ".", "")

		'testi...
		MsgBox(bString)

		'toinen testi...
		MsgBox(Label59.Text.Replace(".", ""))

	End Sub

	'...

End Class

heikkju2 [20.01.2013 19:44:15]

#

Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
        Label59.Text = DateTimePicker1.Value
        Dim aString As String = Label59.Text
        Dim bString As String = Repalace(aString, ".", "")
    End Sub

Jostain syystä tuo VB ei tykkää tuosta replace... käskystä vaan tekee virheilmoituksen:
Error1:'Repalace' is not declared. It may be inaccessible due to its protection level.

heikkju2 [20.01.2013 21:44:59]

#

Niinpä ei kokeilin myös tuota mallia ja siinä oli sama ongelma.

Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
        Dim aString As String = Label59.Text
        Dim bString As String = aString.Repalace(".", "")
        MsgBox(bString)
		MsgBox(Label59.Text.Replace(".", "")
    End Sub

Error 1 'Repalace' is not a member of 'String'.
Error 2 ')' expected

Error 1 viittaa koodiin:
Dim bString As String = aString.Repalace(".", "")
Error2 viittaa koodiin
MsgBox(Label59.Text.Replace(".", "")

Metabolix [20.01.2013 21:46:36]

#

Kai nyt järki ja alkeellinen kielitaitokin sanovat, että koodissa on kirjoitusvirhe (Repalace vs. Replace) ja että MsgBox-rivin lopusta puuttuu yksi sulkumerkki.

heikkju2 [20.01.2013 21:52:53]

#

Siinäpä se kun on tuo Lontoon kielikin kohtuullisen huonoa mutta kiitos kaikille
osaanottajille, alkoi vihdoin Lyyti kirjottaa.

Lisäys:

Tätä oiti vielä kysymän:
eli miten tässä pitäisi ratkaista alla oleva koodin pätkä vai pitäisikö joka
rivi koodata erikseen?

        FileOpen(1, polku & Label59.Text, OpenMode.Input)
        For a = 1 To 58
            Input(1, tila)
            TextBox(a).Text = tila
        Next a
        FileClose()

loppu:

Metabolix [20.01.2013 22:28:39]

#

Eiköhän tuosta tekstilaatikoiden taulukoinnista ollut keskustelua ihan äsken.

heikkju2 [20.01.2013 22:36:10]

#

Tack sano ruottelainen


Sivun alkuun

Vastaus

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

Tietoa sivustosta