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?
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?
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
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.
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(".", "")
Kai nyt järki ja alkeellinen kielitaitokin sanovat, että koodissa on kirjoitusvirhe (Repalace vs. Replace) ja että MsgBox-rivin lopusta puuttuu yksi sulkumerkki.
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:
Eiköhän tuosta tekstilaatikoiden taulukoinnista ollut keskustelua ihan äsken.
Tack sano ruottelainen
Aihe on jo aika vanha, joten et voi enää vastata siihen.