Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - funzione matematica y=(x)
Forum - Visual Basic 6 - funzione matematica y=(x)

Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 21:15
Giovedì, 07/02/2008
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

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 18:34
Venerdì, 08/02/2008
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.

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 19:48
Venerdì, 08/02/2008
so che nn è impossibile anzi sarebbete "abbastanza semplice" se ci fossero sl le 4 oprazioni base della matematica (anche le parentesi al limite), ma per inserire calcoli + tosti ce ne vuole
e sicuramente tt cio nn piacerebbe alla cpu

grazie cmq...8-|

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 23:35
Venerdì, 08/02/2008
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 il 08/02/2008 alle 23:38
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 0:51
Sabato, 09/02/2008
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.

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 10:39
Sabato, 09/02/2008
Ma no ... in VB6 puoi farlo abbastanza semplicemente ... ad esempio, per capirci

Codice sorgente - presumibilmente VB.NET

  1. Dim sc As Object
  2.  
  3. Private Sub Command1_Click()
  4.     Dim x As Double, y As Double
  5.    
  6.     For x = -3.14 To 3.14 Step 3.14 / 4
  7.         y = sc.Run("Compute", x)
  8.         MsgBox y
  9.     Next x
  10. End Sub
  11.  
  12. Private Sub Form_Load()
  13.     Dim Code As String
  14.     Dim Fnz As String
  15.    
  16.     Set sc = CreateObject("ScriptControl")
  17.     sc.Language = "VBScript"
  18.  
  19.     ' Questa e' la stringa con la funzione    
  20.     Fnz = "Sin(arg)^2*Cos(arg)^2"
  21.    
  22.     Code = Code & "Function Compute(arg)" & vbCrLf
  23.     Code = Code & "  Compute=" & Fnz & vbCrLf
  24.     Code = Code & "End Function" & vbCrLf
  25.    
  26.     sc.AddCode Code
  27. End Sub
  28.  
  29. Private Sub Form_Unload(Cancel As Integer)
  30.     Set sc = Nothing
  31. End Sub


Ultima modifica effettuata da gantonio il 09/02/2008 alle 18:54
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 16:46
Sabato, 09/02/2008
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. :k:

Ultima modifica effettuata da Shutdown il 11/02/2008 alle 8:24
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 18:58
Sabato, 09/02/2008
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 il 11/02/2008 alle 8:25
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 14:08
Domenica, 10/02/2008
se qualcun'altro conosceva questa funzione nel forum posti pls.

PM Quote