Hur gör jag om jag te.x. vill göra om en sträng till integer? te.x. från "132" till 132 i integer. Det finns en hel massa Cxxx funktioner som konverterar mellan olika typer. I ditt fall så borde väl CInt fungera bra. Ok du verkar kunna detta rätt bra. vet du hur man konventerar sträng till shape? ehmm menar du shape som det lilla rit verktyget för att skapa rektanglar, cirklar och oval m.m? Du kan ju dimensionera saker så dom blir shapes. te.x.Konventera sträng till sifrror
Sv: Konventera sträng till sifrror
Tänk dock på följande:
- Visual basic konverterar ofta automatiskt vilket då fungerar på samma sätt som om du hade anropat Cxxx funktionen. Prova med att bara stoppa in strängen i en variabel av typen int.
Integer x
x = "132"
- Cxxx funktionerna (och automatkonverteringen) genererar fel om det inte går att konvertera. Glöm inte "On Error ..." för att undvika programfel.
- Cxxx funktionerna konverterar så många tecken det kan men berättar inte om det finns fler tecken I strängen. CInt("132") och CInt("132ABC") ger båda resultatet 132. Kan vara bra eller dåligt.
- Cxxx använder windows regionala inställningar när det gäller decimalavgränsare, tusentalsseparator, datumformat mm. Fungerar bra om när det gäller inmatning från användare men kan skapa problem om du t.ex. läser från en fil som använder decimalpunkt. Du kan då använda funktionerna Str() och Val() vilka alltid använder decimalpunkt och inte lägger till tusentalsavgränsare.Sv: Konventera sträng till sifrror
Sv: Konventera sträng till sifrror
isåfall går det inte...
Varför?
Interger, Byte, String, Long, Double m.m = Dessa är Datatyper för variabler.
Shape = Ett objekt
du kan ju sätta värden till en shape från en variabel
t.ex
Dim strLeft as String
strLeft = "20"
Shape1.Left = Cint(strLeft)Sv: Konventera sträng till sifrror
Dim sak as shape
sub command1_click()
sak = shape1
sak.left = sak.left + 100
end sub