Autor Tema: Ayuda para graficar "N" parejas de (X,Y) con picture1.pset  (Leído 7269 veces)

0 Usuarios y 1 Visitante están viendo este tema.

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« en: Noviembre 17, 2014, 02:18:53 pm »
Hola a todos. Soy nuevo en el foro,se que quizá halla quedado un poco obsoleto pero tengo que hacer una aplicación en visual basic 6.0
Pensé que seria sencillo pero me esta costando mas de lo que me pensaba.Por ello recurro a ustedes para ver si me pueden ayudar.
Lo que tengo que hacer es una aplicación para obtener el orden y velocidad de una determinada reacción química.esto es lo que llevo hecho:
Se introducen "N"parejas de valores de "X" e "Y".Una vez introducido "N"(por ejemplo n=10 seria lo habitual),voy ingresando los valores de "X" e "Y" desde txtX y txtY y luego los agrego con el cmdAgrgar a las listboxX y listboxY hasta que meta las "N" parejas de datos.
Hasta allí solventado con muchas dificultades .Ahora lo que quiero es poder graficar esos datos introducidos "X" frente a "Y" y que se vean cada uno de los puntos.Aqui es donde me atascado,como puedo recorrerlos con el picture1.pset(X,Y)......he intentado con dos ArrayX y ArrayY para coger las variables de las listbox. pero no consigo hacer que funcione.
He estado mirando tutoriales y leí libros, hasta también indague con bases de datos y probar con macros. Quizá sea algo mas sencillo pero lo cierto es que ando un poco trabado.
Muchisimas gracias de antemano un cordial saudo¡¡¡

PD1: Estos datos introducidos son la base de los demás cálculos que necesito así que no se como declarar "N" parejas de datos que se van ha ir introduciendo como GLOBALES para poder utilizarlos en los diferentes formularios, ya que esos datos hay que pasarlos por logaritmos e inversas para nuevas graficas.
PD2: Si hay alguna otra manera de hacerlo estaría muy agradecido de leer vuestras sugerencias.Gracias de nuevo.

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #1 en: Noviembre 17, 2014, 10:53:27 pm »
hola rokchlafen, no se bien cuando dices que picture1.pset(X,Y) no te funciona por que, es porque no hace como tu quieres o no pinta nada por asi decirlo.
cualquier cosa pone una imagen de lo que quieres hacer, es mas facil para hacer un ejemplo o explicarte.

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #2 en: Noviembre 18, 2014, 03:28:52 pm »
Gracias por la contestación, al final pude dar con el fallo. Antes de dar el tema por cerrado, me preguntaba si hay alguna forma de declarar variables que me valgan para varios formularios dentro del mismo proyecto. Tengo que meter "N" parejas de puntos (X,Y); en el formulario "ingresarForm" puedo meter estos datos incluso modificarlos.Una vez que los datos son correctos quiero que se almacenen en variables para luego utilizarlos en diversos formularios y trabajar con ellos.....poder hacer log(X), 1/(x)......sacar graficos en funcion de Y, y obtener una recta de ajuste por minimos cuadrados, tratamientos estadisticos como varianza y media aritmetica...etc Muchas gracias de nuevo y perdon por las molestias ocasionadas.Un saludo¡¡

AxioUK

  • Megabyte
  • ***
  • Mensajes: 108
  • Reputación: +17/-1
  • Modulos GSL
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #3 en: Noviembre 19, 2014, 02:35:25 am »
Hola rokchlafen:
   Las variable que necesites utilizar en todos los formularios las puedes declarar como PUBLIC en un módulo BAS

Código: (VB) [Seleccionar]
Public lngX as Long
Public lngY as Long
...

Así cuando obtengas los Valores finales los pasas a esas Variables y quedaran disponibles en todo el proyecto.

Saludos Cordiales!
« última modificación: Noviembre 19, 2014, 02:37:15 am por AxioUK »

_____________________________
Sé un poco de todo y mucho de nada... ;)

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #4 en: Noviembre 19, 2014, 01:36:54 pm »
Gracias AxioUK¡¡
Lo he intentado pero no lo consigo.Las variables que meto son (X,Y)....donde podemos tener desde 0 datos hasta N......   por ejemplo ingreso en txtX y txtY (2,3)-(6,9)-(-18.35,16.29)......hasta (Xn,Yn)
Esas serian mis variables,obviamente antes de introducir los datos se le pide al usuario cuantas parejas de datos se van a ingresar en txtNumero.Estos datos se van metiendo en sus respectivos listbox (listaX y listaY).
Asi es como he conseguido graficar los puntos (X,Y)

    Dim i As Integer
    For i = 0 To listaX.ListCount - 1
    X = listaX.List(i)
    Y = listaY.List(i)
    Picture1.PSet (X, Y), vbRed
    Picture1.DrawWidth = 5
    Next i

Ahora en otro formulario necesito los mismos datos para hacer una representación de (X,Logaritmo(Y))
He intentado hacerlo como he puesto arriba pero no me grafica nada...No se si puedo declarar todas estas variables con un array que recoja todas estas variables recorriendo del primero hasta "N"
Perdonadme si he dicho alguna burrada pero realmente estoy atascado :'(
Gracias de nuevo por su respuesta.Un saludo¡¡¡

AxioUK

  • Megabyte
  • ***
  • Mensajes: 108
  • Reputación: +17/-1
  • Modulos GSL
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #5 en: Noviembre 19, 2014, 08:50:20 pm »
rokchlafen:
    A ver si entiendo, debes tener tu Array disponible para todos los Form...
   Si es así en un módulo BAS declara:
Código: (VB) [Seleccionar]
'Estas serán tu Array de Variables X,Y
Public nX() as Long   
Public nY() as Long

... desde el Form de los ListBox X,Y asigna...
Código: (VB) [Seleccionar]
Dim i As Integer
    For i = 0 To listaX.ListCount - 1
    ReDim Preserve nX(i) as Long
    ReDim Preserve nY(i) as Long
    nX(i) = listaX.List(i)
    nY(i) = listaY.List(i)
    Next i

..Ahora podras usar tu Array desde los otros Formularios
Código: (VB) [Seleccionar]
Dim i As Integer
    For i = LBound(nX) To UBound(nX)
    Picture1.PSet (nX(i), nY(i)), vbRed
    Picture1.DrawWidth = 5
    Next i

Espero haber ayudado...

PD: Este Proyecto te puede aclarar un poco más... Para ir ingresando los datos en (X,Y) solo vé digitando y presionando <ENTER> pasaras automáticamente de un TextBox a otro e ingresandolos a los ListBox al tener el par...
https://mega.co.nz/#!mBoXBJxa!p9WEedtfna7OQC-2LkMDNUj7vAjybVDHrEnDedxwG7g

Saludos Cordiales!
« última modificación: Noviembre 19, 2014, 09:26:10 pm por AxioUK »

_____________________________
Sé un poco de todo y mucho de nada... ;)

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #6 en: Noviembre 21, 2014, 07:00:37 am »
Muchas gracias AxioUK¡¡¡ Me ha sigo útil todo lo que me has dicho,ya al fin puedo avanzar en mi proyecto.Muchas gracias de nuevo ;) y un saludo muy grande¡¡¡

AxioUK

  • Megabyte
  • ***
  • Mensajes: 108
  • Reputación: +17/-1
  • Modulos GSL
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #7 en: Noviembre 23, 2014, 12:50:24 pm »
De nada...!

Estamos para Ayudar


Saludos Cordiales

_____________________________
Sé un poco de todo y mucho de nada... ;)

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #8 en: Diciembre 08, 2014, 01:54:41 pm »
Hola de nuevo, cual es la forma correcta de que el array no tenga datos, asi a la hora de restablecer que me deje todo a cero.Del mismo modo quiero que en otros formularios a la hora de calcular me responda  de que no hay datos guardados y asi evitar el error que se produce al no haberlos guardado.Seria correcto decir :

nX(i)=0
nY(i)=0

de esta manera con if nX(i)=0 or nY(i)= then msgbox"No hay datos guardados,rellene primero los datos para poder calcular"

del mismo modo al reestablecer dar valores nulos al array (no hay valores). Gracias de antemano y un saludo¡¡



LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #9 en: Diciembre 08, 2014, 04:11:40 pm »
hola hay dos formas yo optaria la primera

    ReDim  nX(0)
    ReDim  nY(0)

en el caso que quieras mantener las dimenciones del array en vez de 0 por la dimencion que quieras ejmplo redim nX(10)

la otra forma es hacer un for recorriendo el array y poner todo en 0



rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #10 en: Diciembre 15, 2014, 11:30:04 pm »
Muchas gracias¡¡¡¡ con lo que me indicas conseguí solucionar el problema a la hora de restablecer utilizando redim nX(0)y redim nY(0).
Comencé programando dando por hecho que se seguirían los mismos pasos que sigo yo a la hora de interactuar con la aplicacion (grave error).

Yo intruducia los datos X e Y y los guardaba en arrays nX() y nY( mediante cmdGuardar).
Luego con un for recorría los arrays y trabajaba con ellos.El problema me  surge en los formularios que hacen los cálculos. Me esta dando este error "sub indice fuera de intervalo"
(creo que es porque pido que recorra este  For i = LBound(nX) To UBound(nX)) y al no haber datos no hay nada que recorrer ).
El caso es como hago o que condición impongo para que en casos como este no me salte dicho error.Pensaba en algo como :
 If nX()= algo then
msgbox"no hay valores guardados"
else
que haga los cálculos que tengo programados ya que si habría un array de valores guardado.Esta parte funciona.
end if

Muchas gracias desde ya y un saludo.

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #11 en: Diciembre 23, 2014, 08:54:40 am »
Hola de nuevo, sigo sin poder arreglar el error de subindice fura de intervalo.Gracias y felices fiestas.

AxioUK

  • Megabyte
  • ***
  • Mensajes: 108
  • Reputación: +17/-1
  • Modulos GSL
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #12 en: Diciembre 23, 2014, 10:38:12 pm »
Estimado:
   En el aplicativo de ejemplo que publiqué está subsanado ese tema:

Código: (VB) [Seleccionar]
On Error GoTo ErrSub    '<--- Esta linea indica donde saltar en caso de error
Dim i As Integer
   For i = LBound(nX) To UBound(nX)
    p1.PSet (nX(i), nY(i)), vbGreen
    p1.DrawWidth = 5
   Next i
   
Exit Sub
ErrSub:     '<--- Si Hay Error se ejecuta desde aquí...
MsgBox "No hay variables definidas!", vbOKOnly, "X,Y"

Checalo y comentas...

Saludos Cordiales

_____________________________
Sé un poco de todo y mucho de nada... ;)

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda para graficar "N" parejas de (X,Y) con picture1.pset
« Respuesta #13 en: Enero 08, 2015, 10:28:18 am »
Perfecto¡¡¡¡¡¡ :D   es justo lo que me hacia falta muchisimas gracias de nuevo¡¡¡¡¡ Un saludo y feliz 2015¡¡¡