ikke med mindre du manuelt parser indholdet i tekstboxen da den jo arbejder med tekst. du kan køre en foreach lykke der løber de forskellige chars igennem for derefter at behandle dem efter ønske.
Private Sub Command1_Click() Dim sum As Integer Dim tal1 As Integer Dim tal2 As Integer tal1 = Val(Text1.Text) tal2 = Val(Text2.Text) sum = tal1 + tal2 MsgBox "Summen er" & sum
2 textboxe og en commandbutton. Gå op i "projects" og vælg "components" Sæt kryds i "Microsoft Script control" Klik den på værktøjslinien og tilføj den til din form.
Private Sub Command1_Click() Text2.Text = Form1.ScriptControl1.Eval(Text1.Text) End Sub
Nu kan du skrive alle mulige regnestykker i Text1 og bruge Sin Cos og meget andet.
Det er LIDT nemmere end at lave en funktion selv. Hvis der bare kan være +-*/ bliver det hurtigt meget kompliceret. Man kan jo ikke lægge sammen inden man ganger og hvis der er paranteser bliver det endnu værre.
Den kan godt forstå 10^4 og den kan faktisk også godt forstå 10^4.2 Prøv at skrive 10^4,2 istedet ;-) Der er forskel på om du bruger komma, eller punktum. Tror det er der dit problem ligger. Jeg har selv haft det samme problem, der er forskel på om computeren bruger . eller , som seperator. I mit program lavede jeg en funktion der udskiftede , til . og bagefter evaluerede. Den kan du også lige se her :
Public Function konverter(omform As String) As Single On Error Resume Next omform = Replace(omform, ",", ".") konverter = Form1.ScriptControl1.Eval(omform) If Error <> "" Then MsgBox Error End Function
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.