Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Merkkijonosta luku

pielinen [20.02.2007 20:42:22]

#

Eli pitäisi saada luettua tämmöisestä kordinaateista
G1 X14.6277 Y46.2145
G1 X14.6277 Y47.3901
G1 X17.0595 Y47.3901
G1 X72.4277 Y47.3901
G1 X77.1591 Y47.3901

Y-arvo miinus edellinen Y-arvo ja
X-arvo miinus edellinen X-arvo
Ja tuo G- arvo pitäisi saada pois.

Quirzo [20.02.2007 22:18:20]

#

dim str
    str = "G1 X14.6277 Y46.2145
    str = replace("G1","",str)
    str = replace("X","",str)
    str = replace("Y","",str)
    str = split(str," ")
dim X
    X = str(0)
dim Y
    Y = str(1)

Sellanen pikakoodi, en ole varma toimivuudesta.
Toinen vaihtoehto on mid() ja instr() avulla hakea.

pielinen [21.02.2007 17:17:16]

#

En saanut toimimaan tuota.
Ja minun piti saada luettua pitkästi tuommoista koodia.(n.1000riviä)
Koodi on teksti tiedostossa.

nomic [21.02.2007 17:39:26]

#

Mikähän kieli mahtaa olla kyseessä?

hunajavohveli [22.02.2007 14:16:29]

#

Quirzo kirjoitti:

dim str
    str = "G1 X14.6277 Y46.2145
    str = replace("G1","",str)
    str = replace("X","",str)
    str = replace("Y","",str)
    str = split(str," ")
dim X
    X = str(0)
dim Y
    Y = str(1)

Sellanen pikakoodi, en ole varma toimivuudesta.
Toinen vaihtoehto on mid() ja instr() avulla hakea.

Ja kun merkkijonoista on kyse, niin "As String" muuttujan määrittelyn perään. Funktio myös muotoon Mid$(), muuten käsitellään Variantteja, mikä on huomattavasti hitaampaa (siis olettaen että tuo oli VB-esimerkki).

pielinen [25.02.2007 14:34:39]

#

Eli miten saisi vaikka muunnettua tämmöisen koodin

F1.000G1 X14.6277 Y28.3901
G1 X14.6277 Y29.6664
G1 X14.6277 Y46.2145
G1 X14.6277 Y47.3901
G1 X17.0595 Y47.3901
G1 X72.4277 Y47.3901
G1 X77.1591 Y47.3901

Tämmöiseksi:

X(14.6277)
        Y(28.3901)
        X(14.6277)
        Y(29.6664)
        X(14.6277)
        Y(46.2145)
        X(14.6277)
        Y(47.3901)
        X(17.0595)
        Y(47.3901)
        X(72.4277)
        Y(47.3901)
        X(77.1591)
        Y(47.3901)

?

Edit.
Tai miten saisi aliohjelman toimimaan suoraan kirjaimen ja luvun kanssa? Eli X5412 olisi sama asiako X(5412)
Tällä tavalla kyllä saan luettua tuon X(5412)

Sub Y(ByVal luku As Integer)
    MsgBox(luku)
  End Sub

Vastaus

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

Tietoa sivustosta