07/02/08 20:15
antometal
c'è il modo per far inserire all' utente una funzione matematica in una textbox???
mi spiego cn un sempio...
in una textbox scrivo una funzione, tipo x^2 per poi visualizzarla
aaa
08/02/08 17:34
P4p3r0g4
non esiste qualcosa del genere ma se ci pensi non è impossibile crearlo.(certo no è facile o banale)
devi fare un'analisi testuale sulla funzione e ricavare le operazioni che la compongono e dopo calcolare un bel po di punti.
aaa
08/02/08 22:35
Shutdown
Sinceramente non credo che sia tanto semplice
effettuare il parsing di operazioni elementari con parentesi... Poi parere mio...
L'espressione
-5+((3*4)/9)-(((8*8)-(7/4))*50)
non è tanto semplice da analizzare... Eppure usa solo le quattro operazioni base e le parentesi...
Ultima modifica effettuata da Shutdown 08/02/08 22:38
aaa
08/02/08 23:51
P4p3r0g4
una volta che hai x (che aumenta progressivamente per tracciare un grafico)
è solo da definire l'ordine delle parentesi.
e ci sono un po di calcoli.
in fin dei conti sono da tradurre "solo" val assoluti logaritmi esponenziali radicali seni coseni somme sottrazioni moltiplicazioni fratte.
tutte funzoni già implementate in vb.
limiti integrali e derivate te li sogni.
aaa
09/02/08 9:39
gantonio
Ma no ... in VB6 puoi farlo abbastanza semplicemente ... ad esempio, per capirci
Dim sc As Object
Private Sub Command1_Click()
Dim x As Double, y As Double
For x = -3.14 To 3.14 Step 3.14 / 4
y = sc.Run("Compute", x)
MsgBox y
Next x
End Sub
Private Sub Form_Load()
Dim Code As String
Dim Fnz As String
Set sc = CreateObject("ScriptControl")
sc.Language = "VBScript"
' Questa e' la stringa con la funzione
Fnz = "Sin(arg)^2*Cos(arg)^2"
Code = Code & "Function Compute(arg)" & vbCrLf
Code = Code & " Compute=" & Fnz & vbCrLf
Code = Code & "End Function" & vbCrLf
sc.AddCode Code
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set sc = Nothing
End Sub
Ultima modifica effettuata da gantonio 09/02/08 17:54
aaa
09/02/08 15:46
P4p3r0g4
gantonio,
WTF.
Ma dove le trovi funzioni del genere?
se ho capito bene crei una istanza vbscript aggiornabile dal programma. una specie di polimorfismo del programma. crei un "sorgente" vbscript che ti svolga le funzioni da string.
-------------------------------
Niente parolacce.
Ultima modifica effettuata da Shutdown 11/02/08 7:24
aaa
09/02/08 17:58
gantonio
Postato originariamente da P4p3r0g4:
Ma dove le trovi funzioni del genere?
Non sono funzionalita' particolari ... anzi, moltissimi programmatori VB le conoscono e le usano ... (mi ricordo di averlo mostrato a dei giovani colleghi tanti anni fa, poco dopo essere stato nominato MVP ...)
se ho capito bene crei una istanza vbscript aggiornabile dal programma. una specie di polimorfismo del programma. crei un "sorgente" vbscript che ti svolga le funzioni da string.
Diciamo che, piu' o meno, e' cosi' ... (ma niente polimorfismo ... )
--------------------------------
Aggiornato messaggio quotato.
Ultima modifica effettuata da Shutdown 11/02/08 7:25
aaa