Oppure

Loading
06/09/08 23:41
antometal
be vedi la cosa nn è proprio semplice, ma lo diventerà

prima di tutto ci va la funzione tipo y=x^2
Private Function Y(X As Integer) As Double
Y = X ^ 2
End Function


e fin qui tutto semplice
il problema si crea quando nn puoi usare come unità di misura i twip xk troppo piccoli, puoi quindi impostare la scala dell' oggetto:

picture1.scale (Xmin,Yamx)-(Xmax,Ymin)

imposti le coordinate che sono gli angoli (il primo in alto a sinistra, il secondo in basso a destra) che limitano il grafico

Private Sub Scala(Xmin As Integer, Ymax As Integer, Xmax As Integer, Ymin As Integer)
Picture1.Scale (Xmin, Ymax)-(Xmax, Ymin)
End Sub

a questo punto è buona cosa tracciare gli assi cartesiani

Private Sub Assi()
Picture1.Line (0, -5)-(0, 20)
Picture1.Line (-10, 0)-(10, 0)
End Sub


ora bisogna disegnare il grafico vero e proprio

Dim i As Integer
    For i = -10 To 10 'rispettivamente Xmin Xmax
        Picture1.Line (i, Y(i))-(i - 1, Y(i - 1)), vbRed
    Next i


ora mettendo tutto insieme...
Private Sub Form_Load()
Picture1.AutoRedraw = True
Scala -10, 20, 10, -5
Assi
Disegna
End Sub


spero di essere stato chiaro, in caso contrario chiedi ancora:k:
aaa
06/09/08 23:45
feddur
ok, ti ringrazio tantissimo.
vedo di studiarmelo per bene, poi ti faccio sapere!
grazie ancora a tutti!

ho provato e qualcosina mi è uscito..
vorrei capire come posso introdurre valori che vanno da (30 a 70) in modo da ottenete un grafico simile a quello della borsa..

grazie tante per la disponibilità!
Ultima modifica effettuata da feddur 07/09/08 0:55
aaa
07/09/08 19:48
feddur
scusate, attivo notifica email.
aaa
07/09/08 20:39
antometal
Postato originariamente da feddur:

ok, ti ringrazio tantissimo.
vedo di studiarmelo per bene, poi ti faccio sapere!
grazie ancora a tutti!

ho provato e qualcosina mi è uscito..
vorrei capire come posso introdurre valori che vanno da (30 a 70) in modo da ottenete un grafico simile a quello della borsa..

grazie tante per la disponibilità!


in tal caso devi prendere i valori da un vettore o un file e usare quei valori al posto della funzione, tipo:

for i=1 to 30
picture1.line (i,valore(i))-(i-1,valore(i-1)
next i


xò devi stare attento al vettore perche non esiste l' indice -1 (nel caso i=0)
aaa
08/09/08 12:21
feddur
Postato originariamente da antometal:

Postato originariamente da feddur:

ok, ti ringrazio tantissimo.
vedo di studiarmelo per bene, poi ti faccio sapere!
grazie ancora a tutti!

ho provato e qualcosina mi è uscito..
vorrei capire come posso introdurre valori che vanno da (30 a 70) in modo da ottenete un grafico simile a quello della borsa..

grazie tante per la disponibilità!


in tal caso devi prendere i valori da un vettore o un file e usare quei valori al posto della funzione, tipo:

for i=1 to 30
picture1.line (i,valore(i))-(i-1,valore(i-1)
next i


xò devi stare attento al vettore perche non esiste l' indice -1 (nel caso i=0)


picture1.Line (i,valore(i))-(i-1,valore(i-1)


viene segnato in rosso, non trovo l'errore. :(
aaa
08/09/08 13:10
antometal
valore() è un array, l' hai caricato?
aaa
08/09/08 13:16
feddur
l'ho dichiarato così
 Dim valore(34) As Integer 


ho sbagliato?
aaa
08/09/08 13:31
antometal
no la di chiarazione è giusta xò devi caricarlo con i dati da visualizzare nel grafico

valore(0)=12
valore(1)=30
valore(2)=7
...
valore(32)=40


ma quando che errore ti da???
aaa