Oppure

Loading
07/06/07 15:10
dormix
Salve a tutti. Il mio problema e' quello di poter
caricare su di una variabile Y una funzione. Ho provato a farlo inserendo la funzione da una textBox ma al massimo riesco ad ottenere solo il valore numerico della funzione. Non riesco a farla eseguire come quando la imposto ad Y da codice.
Ecco quello che ho fatto:


Private Sub Command1_Click()
On Error Resume Next

' Traccia la funzione matematica.
DrawWidth = 1
ForeColor = vbBlue
For X = xmin To xmax + 35 Step xstep * (Text1.Text / 1000)

'se al posto di Y = Text2.Text scrivo Y = x^2-9
'va bene ma così no
'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'
'-----------------------------------------'
Y = Text2.Text
'-------------------------'
'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'
PSet (X, Y)

Next X


' Spiega cosa sta per essere visualizzato.
ForeColor = vbBlack
CurrentX = ScaleLeft
CurrentY = ScaleTop
Print "f(x) = " & Y
end sub
'-------------------------------------------


grazie in anticipi!
Ultima modifica effettuata da dormix 07/06/07 15:11
aaa
08/06/07 12:18
P4p3r0g4
per forza quando la imposti da codice x è una variabile, quando la prendi da textbox x è una lettera.
aaa
08/06/07 14:24
dormix
Ciao e grazie P4p3r0g4 per aver risposto.
Sapresti indicarmi una strada da imboccare?
Ho fatto parecchi tentativi tipo, asc(mid$()) e via dicendo ma non riesco. Ammetto di essere principiante della programmazione in genere ma riesco a divertirmi. Secondo te dovrei sviluppare
qualche funzione più complicata per arrivare ad un risultato? Grazie
aaa
10/06/07 14:33
P4p3r0g4
il tutto sarebbe molto semplice in un linguaggio polimorfico come il java l'asm o il c (credo)
ma non esistono stringhe di mutazionhe in vb
per ovviare a cio dorai fare un bel po di calcoli
ammesso che tu abbia il valore della x e di tutti i coefficenti della funzione
dovrai mettere in un'arra tutti coefficenti dellafunzione mettendo 0 quando manca il termine facendo
cx(0)=termienoto
cx(1)=coefficentedix
cx(2)=coefficentedixquadro
ecc dovei ari coefficenti li ricai col mid
poi fai un bel ciclo
for k = to ubound(cx) 'o massimo esponente della x
y=y + (cx(k) * x^k)
next x

ricordati di azzerare x a ogni camiamento di equazione.

se non hai capito qualcosa rispondi
aaa