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 - aiuto grafico.
Forum - Visual Basic 6 - aiuto grafico.

Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 23:59
Sabato, 06/09/2008
Salve, vorrei creare un programma che mi permetta di gestire un grafico, possibilmente non in excel.

Vorrei introdurre dei valori che poi dovranno essere visualizzati tramite grafico.
E' possibile? Avete qualche suggerimento?

Grazie.

edit:
ho trovato questo:

Disegno di linee

Per disegnare una linea tra due coordinate, utilizzare il metodo Line, la cui sintassi è la seguente:

[oggetto.]Line [(x1, y1)]–(x2, y2)[, colore]

PSet [Step] (0, 0)[, colore]

La prima coppia di coordinate (x1, y1) è facoltativa.
Disegna linee e rettangoli su un oggetto.

Sintassi

oggetto.Line [Step] (x1, y1) [Step] - (x2, y2), [colore], [B][F]

Chi me lo spiega o mi fa un esempio?
Grazie.

Ultima modifica effettuata da feddur il 07/09/2008 alle 0:01
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 0:18
Domenica, 07/09/2008
allora diciamo che hai una funzione Y() e vuoi disegnare il grafico della funzione.
parti con un bell'indagine sulle Unita di misura che vuoi (io di solito prendo l'intera larghezza del grafico (picture1.scalewidth) divisa per il massimo valore x e similare (picture1.scaleheight) per y)
a questo punto tracci.
for x = 0 to n-1
picture1.line(x*udmx,y(x)*udmy)-((x+1)*udmx,y(x+1)*udmy),rgb(255,255,255)
next
ed eccoti il tuo grafico

PM Quote
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 0:21
Domenica, 07/09/2008
Testo quotato

Postato originariamente da P4p3r0g4:

allora diciamo che hai una funzione Y() e vuoi disegnare il grafico della funzione.
parti con un bell'indagine sulle Unita di misura che vuoi (io di solito prendo l'intera larghezza del grafico (picture1.scalewidth) divisa per il massimo valore x e similare (picture1.scaleheight) per y)
a questo punto tracci.
for x = 0 to n-1
picture1.line(x*udmx,y(x)*udmy)-((x+1)*udmx,y(x+1)*udmy),rgb(255,255,255)
next
ed eccoti il tuo grafico



grazie per la risposta, vorrei sapere come posso fare a introdurre i valori, così visto che ci sono li salvo in un file così al prossimo avvio del programma posso aggiornare il grafico.
Grazie ancora!

edit:
potresti spiegarmi meglio come creare la funzione y()?
non ci sono riuscito.
se non chiedo molto ti chiederei di buttarmi giù un piccolo esempio.. ti dispiace?
grazie.

Ultima modifica effettuata da feddur il 07/09/2008 alle 0:34
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 0:37
Domenica, 07/09/2008
non capisco la domanda.
nel mio esempio i valori erano nell'array Y()
ma possono essere salvati e caricati come ti pare.
poi il grafico che ti ho fatto e` cartesiano per una funzione.
per altri tipi di grafico devi semplicemente ingegnarti con la geometria.

PM Quote
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 0:39
Domenica, 07/09/2008
non capisco bene come usare Y() ..
ho provato questo:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Load()
  2.  
  3. Dim n, i As Integer
  4. Dim y(33) As Integer
  5.     For x = 0 To n - 1
  6.     Picture1.Line (x * udmx, y(x) * udmy)-((x + 1) * udmx, y(x + 1) * udmy), RGB(255, 255, 255)
  7.     Next
  8.  
  9. End Sub



ma mi esce solo un puntino, io vorrei una retta.
come fare?
grazie.

Ultima modifica effettuata da feddur il 07/09/2008 alle 0:55
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 1:10
Domenica, 07/09/2008
n deve essere l'indice massimo dell'array Y.

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 1:11
Domenica, 07/09/2008
devi inizializzare le variabili che usi

PM Quote
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 1:14
Domenica, 07/09/2008
vorrei visualizzare su grafico i valori:
34, 54, 50

come faccio?
chi mi aiuta?

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 1:41
Domenica, 07/09/2008
be vedi la cosa nn è proprio semplice, ma lo diventerà

prima di tutto ci va la funzione tipo y=x^2
Codice sorgente - presumibilmente VB.NET

  1. Private Function Y(X As Integer) As Double
  2. Y = X ^ 2
  3. 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

Codice sorgente - presumibilmente VB.NET

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


a questo punto è buona cosa tracciare gli assi cartesiani

Codice sorgente - presumibilmente Visual Basic 6

  1. Private Sub Assi()
  2. Picture1.Line (0, -5)-(0, 20)
  3. Picture1.Line (-10, 0)-(10, 0)
  4. End Sub



ora bisogna disegnare il grafico vero e proprio

Codice sorgente - presumibilmente VB.NET

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



ora mettendo tutto insieme...
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Load()
  2. Picture1.AutoRedraw = True
  3. Scala -10, 20, 10, -5
  4. Assi
  5. Disegna
  6. End Sub



spero di essere stato chiaro, in caso contrario chiedi ancora:k:

PM Quote
Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo