Η Val function είναι λίγο παρεξηγημένη στο τι μπορεί να κάνει. Αν θέλεις να κάνεις evaluation κάποιον τύπων, πιστεύω ότι υπάρχει καλύτερος τρόπος.
Αυτό που θα πρότινα είναι να γράψεις μικρά προγραμματάκια σε VBScript και μετά να τρέχεις προγραμματιστικά για να πέρνεις το αποτέλεσμα. Με την χρήση του Microsoft Script Control μπορείς να κάνεις evaluation κάποιων scripts, στις 2 γλώσσες script που έρχονται με τα Windows - την Javascript και την VBScript.
Αν πούμε ότι κάνουμε reference σε ένα VB6 project το Microsoft Script Control τότε μπορείς σε ένα ScriptControl object, είτε να κάνεις Eval() VBScript κώδικα, είτε ExecuteStatement(), είτε πρώτα να προσθέσεις δομημένο κώδικα (procedures & functions) VBScript στο control με την AddCode() και μετά να τον τρέξεις με Run().
Οπότε κάτι σαν:
Option Explicit
Private o As MSScriptControl.ScriptControl
Private Sub Command1_Click()
Dim sCode As String
sCode = "Sub Main()" & vbCrLf & _
"x = 5" & vbCrLf & _
"msgbox x^2-1" & vbCrLf & _
"End Sub"
Set o = New MSScriptControl.ScriptControl
o.Language = "VBScript"
Call o.AddCode(sCode)
Call o.Run("Main")
End Sub
Θα σου δώσει σε message box dialog την απάντηση 24...
George J.