Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Cuadrante Con Draw.line
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Cuadrante Con Draw.line 
 
estoy trabajando con pics y modulos hmc5883L(sensor magnetico) y logre transmitir los datos al PC con un terminal en Gambas2 en bus RS232.hace el log de los datos recibidos en una textarea y vuelca los datos de los ejes en txa individuales para cada eje + ena txa con los grados equivalentes.quisiera crear una interfaz con draw.un cuadrante y una line que senale los grados en el cuadrante.no se mucho de Draw y Line.consegui disenar un circulo,pero no se como se usa la propiedad Line.
Citar:

PUBLIC SUB Brujula_Draw()
DIM CentroY, CentroX, i, v AS Integer
CentroY = Brujula.h / 2
CentroX = Brujula.w / 2
'Crea el cuadrante de la brujula
Draw.FillColor = Color.Black
Draw.FillStyle = Fill.Solid
Draw.Circle(CentroX, CentroY, 177)
Draw.ForeColor = Color.White
Draw.LineWidth = 3
FOR I = 0 TO 360
        'Draw.Line(CentroX,CentroY,X2 ,Y2)
NEXT

no se como hacer "digerir" al FOR los datos que llegan en grados de 0°-360°
 



 
alejandrodaniel - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuadrante Con Draw.line 
 
alejandrodaniel:

Citar:
no se como hacer "digerir" al FOR los datos que llegan en grados de 0°-360°

Sin ver el programa completo, es dificil ayudarte

¿que son X2 y Y2? ¿son arrays?
Si fueran asi se podria hacer esto:

FOR I = 0 TO 360
'Draw.Line(CentroX,CentroY,X2[i] ,Y2[i])
NEXT


Aparte, si los datos son en grados, supongamos que tienes 30º, lo que tendrias que hacer es convertir esos grados en coordenadas X e Y, usando las funciones de seno y coseno (sin y cos), y pasando los datos de grados a radianes...
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuadrante Con Draw.line 
 
Citar:

PUBLIC SUB Brujula_Draw()
DIM CentroY, CentroX, i, v AS Integer
CentroY = Brujula.h / 2
CentroX = Brujula.w / 2
'Crea el cuadrante de la brujula
Draw.FillColor = Color.Black
Draw.FillStyle = Fill.Solid
Draw.Circle(CentroX, CentroY, 177)
Draw.ForeColor = Color.White
Draw.LineWidth = 3
FOR I = 0 TO 360
'Draw.Line(CentroX,CentroY,X2 ,Y2)
NEXT

como se ve en la citacion,en el ciclo for la propiedad Draw.Line esta comentada porque no se como se usa.en sintesis al ingreso de un dato(grados hexagesimales) la linea marcarà la posicion en un cuadrante como si fuera una brujula.
en gestiòn de datos y databases,asi como comunicacion RS232 se como crear un codigo.pero en interfaz graficas tipo DrawingArea soy un chasco.
 



 
alejandrodaniel - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuadrante Con Draw.line 
 
alejandrodaniel:

Citar:
propiedad Draw.Line esta comentada porque no se como se usa.

Ah bueno, si es eso, mírate la documentación de Gambas2 ( http://www.gambasdoc.org/help/comp/gb.qt/draw/line?es&v2 ).
Alli hay varios ejemplos de como se usa.  

En sintesis, le tienes que decir el primer punto donde empieza la linea (CentroX,CentroY) y el segundo (x2,y2) punto donde termina la linea

Allí hay varios ejemplos de como se usa.  

Saludos

Nota:
Lo que no entiendo es porque la tienes dentro del bucle for...
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Sabado, 27 Septiembre 2014, 23:39; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuadrante Con Draw.line 
 
el bucle es solo para provar se gira en el cuadrante.a interfaz terminada marcara la posicion que determinaran los datos en ingreso.si quieren puedo postar el codigo del programa che se conecta al pic y recibe los datos determinando la posicion en el espacio cartesiano.
 



 
alejandrodaniel - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuadrante Con Draw.line 
 
bueno,mirando el ejemplo de Reloj analogico con los ejemplos de Gambas2 pude finalmente crear esta interfaz.nada de espectacular,pero funciona.dejo algunas imagenes y el code.
Citar:

SUB PUBLIC Elaboracion_Datos()
.
.
.
.
Contador = CInt(Trim(txbGrados.Text))
Brujula.Refresh
END SUB

PUBLIC SUB Brujula_Draw()
DIM CentroY, CentroX AS Integer
Brujula.Clear
CentroY = Brujula.h / 2
CentroX = Brujula.w / 2
'Crea el cuadrante de la brujula
Draw.FillColor = Color.Black
Draw.FillStyle = Fill.Solid
Draw.Circle(CentroX, CentroY, 193)
'Crea las lineas de divisiòn
Draw.Forecolor = Color.Orange
Draw.LineWidth = 5
Draw.Line(193, 1, 193, 22)
Draw.Line(193, 386, 193, 364)
Draw.Line(1, 193, 22, 193)
Draw.Line(386, 193, 364, 193)
'Calcula la posiciòn
Calculo_posicion(Contador)
END

PUBLIC SUB Calculo_posicion(Grados AS Integer)
DIM X2, Y2 AS Integer
DIM Angulo AS Float
Draw.Forecolor = Color.Yellow
Draw.LineWidth = 5
Angulo = CFloat(Grados) / 360 * 2 * Pi
X2 = 193 + (193 * Sin(Angulo))
Y2 = 193 - (193 * Cos(Angulo))
Draw.Line(193, 193, X2, Y2)
END

PUBLIC SUB rbPunto_Click()
lblNorte.Text = "Norte"
lblOeste.Text = "Oeste"
lblSur.Text = "Sur"
lblEste.Text = "Este"
END

PUBLIC SUB rbGrados_Click()
lblNorte.Text = " 0°"
lblOeste.Text = "90°"
lblSur.Text = " 180°"
lblEste.Text = "270°"
END

 schermata_del_2014_09_28_18_37_04  schermata_del_2014_09_28_18_34_44  schermata_del_2014_09_28_18_26_52

olvidaba,grazias a todos y principalmente a jsbsan
 



 
última edición por alejandrodaniel el Domingo, 28 Septiembre 2014, 17:52; editado 2 veces 
alejandrodaniel - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuadrante Con Draw.line 
 
Está chulo.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuadrante Con Draw.line 
 
Bueno, me he pegado toda la tarde para hacer una brújula enteramente con DrawingArea, todo pintado usando la clase Draw. Supongo que funcionará en Gambas2, no lo he probado, pero en caso que tengas que convertirlo a gambas2, sólo hay que poner un DrawingArea de tamaño 300px * 300px en el formulario y copiar el código del mismo.

Basta con asignar un valor a la propiedad Rumbo del formulario y la aguja se orienta al valor establecido. He puesto un control slider para probar su funcionamiento, pero se puede eliminar. Por supuesto, el código se puede modificar para poner otros colores, anchura de trazos, etc, pero las medidas las he ido adaptando mediante prueba y error y son valores fijos. Si quieres que se adapte al tamaño del formulario, necesita más trabajo.

Os dejo una captura y el proyecto completo:

 compas

Saludos

Compass.zip
Descripción: Boceto sencillo de un control Brújula (Compás) 
Descargar
Nombre del archivo: Compass.zip
Tamaño: 10.41 KB
Descargado: 40 veces
Compass.zip
Descripción: Boceto sencillo de un control Brújula (Compás) 
Descargar
Nombre del archivo: Compass.zip
Tamaño: 10.41 KB
Descargado: 40 veces
Compass.zip
Descripción: Boceto sencillo de un control Brújula (Compás) 
Descargar
Nombre del archivo: Compass.zip
Tamaño: 10.41 KB
Descargado: 40 veces

 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Tipo Draw? pittusa General 0 Domingo, 10 Abril 2011, 20:31 Ver último mensaje
pittusa
No hay nuevos mensajes Ayuda Off-line De Gambas3 ahtonio General 5 Domingo, 18 Septiembre 2011, 19:42 Ver último mensaje
jsbsan
No hay nuevos mensajes Rendimiento De La Orden Draw... jsbsan General 5 Viernes, 08 Junio 2012, 16:29 Ver último mensaje
jsbsan
No hay nuevos mensajes Draw Vs Paint ahtonio General 3 Domingo, 18 May 2014, 09:59 Ver último mensaje
ahtonio
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron