Hej alla kunniga! Hej! Det här är ju också knäpp galematias Kollade mitt gamla prog om TextBoxar och mattematik.Tal i en textbox
När jag skriver ut bilder så använder jag h=h+19.1 vilket är avståndet på bilden så alla blir lika stora.
Nu till delemmat, som säkert är lätt
Nu har jag lagt in en textbox där jag skall kunna skriva in en annan höjd på bilden ifall den skulle ändra sig. Men använder jag h=h + tex12.text så blir inte resultatet som det var tänkt. Det blir fel så jag skrev bara ut h strängen. Då plussar den inte ihop talet, utan det blir bara en massa 19.1 efter varandra istället för som det blir med det andra 19.1 38,2 57,3 osv. Någon som har ett förslag hur jag skall få värdet att adderas efter varje slinga så bilderna får samma höjd. Lägger till lite kod så ni får hum hur jag tänkt.
<code>
For i = 1 To ListView2.ListItems(j).ListSubItems(3).Text ' antalet av varje bild
PicDiagram.Picture = LoadPicture(App.Path & "\bild\" & printerean.Text)
'h = h + text12.text 'funkar inte
h = h + 19.1
Printer.ScaleMode = 6 'vbmillimeters
Printer.FontName = "Arial"
If Text8.Text = 70 Then
W = 180
ElseIf Text8.Text = 0 Then
W = 110
End If
Printer.PaintPicture PicDiagram.Picture, W, h, 25, 18 'bild
Next i
Printer.EndDoc
</code>Sv: Tal i en textbox
Pröva h = CDbl(h) + CDbl(tex12.text)
Sen undrar jag varför du behandlar avståndet på bilden som en sträng när det egentligen är en Double. Strängar ska ju inte användas när man ska lägga ihop tal, då ska man ha Integer eller Double beroende på om ska använda decimaler eller ej.
Lägger du till en sträng till ett tal så blir det en sträng, du måste göra konvertering till ett tal för att det inte ska bli stängkonkatering.
mvh PerSv:Tal i en textbox
<code>
If Text8.Text = 70 Then
W = 180
ElseIf Text8.Text = 0 Then
</code>
Hur skall Text8.Text kunna vara 70 eller 0
Dessa villkor kommer aldrig att uppfyllas.
Skall det vara så djä... svårt att förstå TextBoxar innehåller strängar
Om du vill använda dessa Strängar till mattematik så får du convertera till Tal
Precis som Per beskriver här ovan.
<b>Ta hem min VB skola och lägg några timmar på att läsa in elementa.</b>
Programarkivet:VB skola elementärtSv:Tal i en textbox
Det var inte så pedagogiskt
Budskapet är använd Val(TextBox.Text) för att få siffror som man kan räkna med.
Använd alltid Punkt(.) som decimalavskiljare. Använd Single eller Double i tal som har decimaler.
I Single kan du skriva 7 tecken och ett ev. Minus(-) framför. (den åttonde byten)
DVS 3.14159 eller -31415.9 Räcker oftast djä.... långt.
Kan inte tänka mig att du någonsin behöver slippa att deklarerar variabler.
Microsofts djä.... avart Variant är en styggelse. Låt oss glömma den.