Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Graficas En Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Graficas En Gambas 
 
Buenas a todos, para poder hacer una representación gráfica de datos contenidos en una tabla, hay algún plugin o componente para cubrir esto?

Saludos y gracias.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Graficas En Gambas 
 
Si. gb.chart es el componente.

También puedes usar librerías json y javascript y demás, claro.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Graficas En Gambas 
 
shordi escribió:  
Si. gb.chart es el componente.

También puedes usar librerías json y javascript y demás, claro.

Saludos.


Javascript para formularios??? What!!
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Graficas En Gambas 
 
Calceta:

Citar:
Javascript para formularios??? What!!


Hice un ejemplo en mi blog:

http://jsbsan.blogspot.com.es/2014/...3-creacion.html

Y Shordi tambien subio otro ejemplo:
https://www.gambas-es.org/viewtopic.php?f=5&p=20712#p20712

Y tambien en gambas3, tenemos el componente gb.chart, en la granja hay un ejemplo que te puedes descargar.
 




===================
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: Graficas En Gambas 
 
Buenas retomando este tema,
me surge otra duda, si esa gráfica la quiero incluir en un informe, cómo lo haríais vosotros??
Es decir con un gb.report mejor, o mejor con un libreoffice.ods o con un gnumeric.

La idea es que el informe aparezca en formato PDF.

Saludos y gracias.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Graficas En Gambas 
 
A ver si te puedo extraer un ejemplo de cómo lo hacemos en el curro... sin prisa, que estamos de vacaciones.
     
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Graficas En Gambas 
 
shordi escribió:  
A ver si te puedo extraer un ejemplo de cómo lo hacemos en el curro... sin prisa, que estamos de vacaciones.
     



of course!!! en vacaciones todo se ralentiza.


Como indicas en tu contestación extraigo que curráis con sistema linux y toda la infraestructura de soft basada en desarrollos gambas, puedo preguntar el volumen de tu empresa, a nivel por ejemplo de trabajadores y aplicaciones que tenéis en este sistema.


Muchas gracias por la ayuda.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Graficas En Gambas 
 
calcena escribió:  

Como indicas en tu contestación extraigo que curráis con sistema linux y toda la infraestructura de soft basada en desarrollos gambas, puedo preguntar el volumen de tu empresa, a nivel por ejemplo de trabajadores y aplicaciones que tenéis en este sistema.

Efectivamente, todo Linux (y lo que me ha costado, que el arraigo del viejo windows en los usuarios era feroz). La empresa tiene seis sedes repartidas en cinco provincias con unos 50 trabajadores y unas 60 máquinas, además de 8 servidores propios para datos y control y un servidor dedicado en Internet.
Tenemos tres o cuatro desarrollos principales entre los que destacan Shinigami para control de los "clientes" y Gabinete para control de la asesoría jurídica. En la actualidad, a parte del mantenimiento de todo el tinglado (los desarrollos mencionados, pequeños proyectos, webs, Plataforma Moodle, Red de Videoconferencias, etc.) estoy trabajando en un proyecto de coordinación e integración de toda la informática de la empresa muy interesante para mí).

Te muestro, como ejemplo, la pantalla donde se puede consultar qué ordenadores de han conectado hoy, independientemente de en qué provincia o lugar, con indicación de usuario y hora de conexión.

 captura_de_pantalla_de_2018_07_26_19_29_50

En ésta imagen no hay ningún ordenador conectado en este momento (Si así fuese el logo del ordenadorcito sería azul en lugar de gris), Si lo hubiese podríamos acceder a su escritorio (vnc+ssh) o abrir una consola (ssh), o establecer una alerta, etc. etc.

Es un desarrollo con el que creo que me jubilaré en la empresa pero que me encanta y, curiosamente, fué el primero que me planteé cuando entré en ella. Yo venía de administrar árboles de dominios de windows y echaba mucho de menos todo ese acceso que teníamos en mi empresa anterior (La Administración Regional).  Lo que estoy haciendo no tiene comparación con los desarrollos para empresas de Microsoft, claro, pero me funciona y me resulta superinteresante de hacer... Sin contar el trabajo que me ahorra, que hace unos años cualquier error en una de las máquinas me costaba un desplazamiento de hasta 800 km... Ahora trabajo sin moverme de casa
     
 




===================
No podemos regresar
 
última edición por shordi el Jueves, 26 Julio 2018, 19:38; editado 3 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Graficas En Gambas 
 
En mi ansia viva por reinventar la pólvora, he pasado de «chart» —lo que creo que es un error, pero servidor es así— y he hecho un intento bastante chapucero, aunque funcional para uno de mis programas. El resultado es éste:

 captura_de_pantalla_de_2018_07_31_21_36_25

El código ni siquiera está completo, aunque confío en ir añadiéndole las propiedades y métodos poco a poco. Es éste —está sin comentar y tiene muchos valores directos que deberían ser parámetros a pasar—:

' gambas module file

Public TAMANO_LETRA_TITULO As Short = 11

Private ORI_X_REAL As Float
Private ORI_Y_REAL As Float
Private FIN_X_REAL As Float
Private FIN_Y_REAL As Float

Private ORI_X_DIBU As Short
Private ORI_Y_DIBU As Short
Private FIN_X_DIBU As Short
Private FIN_Y_DIBU As Short

Public ColorSeries As New Long[20]

Public COLOR_TITULO As Long = &H603020
Public COLOR_LINEA_PRAL As Long = &HF0D080
Public COLOR_LINEA_SECU As Long = &HFFF0A0
Public COLOR_LINEA_CERO As Long = &HFF8000
Public COLOR_FONDO As Long = &HFFFFC8

' Public COLOR_TITULO As Long = &H00FF00
' Public COLOR_LINEA_PRAL As Long = &H008000
' Public COLOR_LINEA_SECU As Long = &H004000
' Public COLOR_LINEA_CERO As Long = &H00A000
' Public COLOR_FONDO As Long = &H000000

Public Sub Dibujar(Titulo As String, TitX As String, TitY As String, jX As Float[], jY As Float[], Lienzo As Object, Optional Leyenda As String[])
  
  Dim NumSeries As Byte
  Dim LonSeries As Short
  Dim i As Byte
  Dim j As Short
  Dim k As Float
  Dim MinX As Float = jX[0, 0]
  Dim MaxX As Float = jX[0, 0]
  Dim MinY As Float = jY[0, 0]
  Dim MaxY As Float = jY[0, 0]
  Dim Ints As New Float[4]
  Dim TextoLeyenda As String
  
  ColorSeries[0] = &H000000
  ColorSeries[1] = &H0000FF
  ColorSeries[2] = &H00FF00
  ColorSeries[3] = &H00FFFF
  ColorSeries[4] = &HFF0000
  ColorSeries[5] = &HFF00FF
  ColorSeries[6] = &HFFFF00
  ColorSeries[7] = &0000080
  ColorSeries[8] = &H008000
  ColorSeries[9] = &H008080
  ColorSeries[10] = &H800000
  
  NumSeries = jX.Bounds[0]
  LonSeries = jX.Bounds[1]
  
  'Bordes del dibujo
  ORI_X_DIBU = TAMANO_LETRA_TITULO * (Len(TitY) + 6) * 2 / 3
  ORI_Y_DIBU = Lienzo.H - TAMANO_LETRA_TITULO * 4
  FIN_X_DIBU = Lienzo.W - TAMANO_LETRA_TITULO
  FIN_Y_DIBU = TAMANO_LETRA_TITULO * 2
  'Extremos reales
  For i = 0 To NumSeries - 1
    For j = 0 To LonSeries - 1
      If jX[i, j] <MinX> MaxX Then MaxX = jX[i, j]
      If jY[i, j] < MinY And jY[i, j] <15> MaxY Then MaxY = jY[i, j]
    Next
  Next
  
  ' For j = 0 To LonSeries - 1
  '   Debug jX[0, j], jY[0, j]
  ' Next
  
  'TODO: Rehacer los márgenes para que sean aproximados
  ORI_X_REAL = MinX
  FIN_X_REAL = MaxX
  ORI_Y_REAL = MinY
  FIN_Y_REAL = MaxY

  '' Dibujo
  'TODO: Separar la parte de dibujo del resto
  Draw.Begin(Lienzo)
  

  ' Títulos
  Draw.Foreground = COLOR_TITULO
  Draw.Font.Name = "Liberation Mono"
  Draw.Font.Size = TAMANO_LETRA_TITULO
  Draw.Text(Titulo, Lienzo.W / 2 - Len(Titulo) / 2 * TAMANO_LETRA_TITULO * 2 / 3, FIN_Y_DIBU - 2 * TAMANO_LETRA_TITULO)
  Draw.Text(TitX, (FIN_X_DIBU - ORI_X_DIBU) / 2 + ORI_X_DIBU - Len(TitX) / 2 * TAMANO_LETRA_TITULO * 2 / 3, ORI_Y_DIBU + TAMANO_LETRA_TITULO)
  Draw.Text(TitY, 0, (FIN_Y_DIBU - ORI_Y_DIBU) / 2 + ORI_Y_DIBU - Len(TitY) / 2 * TAMANO_LETRA_TITULO)
  
  ' Etiquetas ejes
  Ints = LineasAux(MaxX, MinX)
  Draw.Foreground = COLOR_TITULO
  For k = Ints[1] To MaxX Step Ints[0]
    Draw.Text(Format(k, "0"), KKX(k) - TAMANO_LETRA_TITULO * 2 / 3 * Len(Format(k, "0")) / 2, ORI_Y_DIBU)
  Next
  Ints = LineasAux(MaxY, MinY)
  Draw.Foreground = COLOR_TITULO
  For k = Ints[1] To MaxY Step Ints[0]
    Draw.Text(Format(k, "0.0"), ORI_X_DIBU - Len(Format(k, "0.0")) * TAMANO_LETRA_TITULO * 0.8, KKY(k) - TAMANO_LETRA_TITULO / 2,,, 3)
  Next
  
  ' Leyenda
  For i = 0 To Leyenda.Max
    TextoLeyenda = TextoLeyenda & "<font>" & Leyenda[i] & " </font>"
  Next
  
  'Debug TextoLeyenda
  Draw.RichText(TextoLeyenda, 0, ORI_Y_DIBU + 2 * TAMANO_LETRA_TITULO, Lienzo.Width)
  
  ' Líneas de división
  Ints = LineasAux(MaxX, MinX)
  Draw.Foreground = COLOR_LINEA_SECU
  For k = Ints[3] To MaxX Step Ints[2]
    Draw.Line(KKX(k), ORI_Y_DIBU, KKX(k), FIN_Y_DIBU)    
  Next
  Draw.Foreground = COLOR_LINEA_PRAL
  For k = Ints[1] To MaxX Step Ints[0]
    Draw.Line(KKX(k), ORI_Y_DIBU, KKX(k), FIN_Y_DIBU)    
  Next
  Ints = LineasAux(MaxY, MinY)
  Draw.Foreground = COLOR_LINEA_SECU
  For k = Ints[3] To MaxY Step Ints[2]
    Draw.Line(ORI_X_DIBU, KKY(k), FIN_X_DIBU, KKY(k))    
  Next
  Draw.Foreground = COLOR_LINEA_PRAL
  For k = Ints[1] To MaxY Step Ints[0]
    Draw.Line(ORI_X_DIBU, KKY(k), FIN_X_DIBU, KKY(k))    
  Next
  Draw.Foreground = COLOR_LINEA_PRAL
  Draw.Line(ORI_X_DIBU, ORI_Y_DIBU, FIN_X_DIBU, ORI_Y_DIBU)
  Draw.Line(ORI_X_DIBU, ORI_Y_DIBU, ORI_X_DIBU, FIN_Y_DIBU)
  Draw.Foreground = COLOR_LINEA_CERO
  Draw.Line(ORI_X_DIBU, KKY(0), FIN_X_DIBU, KKY(0))
  
  ' Gráficas
  Draw.LineWidth = 2
  For i = 0 To NumSeries - 1
    Draw.Foreground = ColorSeries[i]
    For j = 1 To LonSeries - 1
      If jY[i, j] <> -15 And jY[i, j - 1] <> -15 Then
        'Draw.Point(KKX(jX[i, j]), KKY(jY[i, j]))
        Draw.Line(KKX(jX[i, j - 1]), KKY(jY[i, j - 1]), KKX(jX[i, j]), KKY(jY[i, j]))
      Endif
    Next
  Next
  Draw.End
  
  
End


Private Function KKX(jX As Float) As Short

  Return (jX - ORI_X_REAL) / (FIN_X_REAL - ORI_X_REAL) * (FIN_X_DIBU - ORI_X_DIBU) + ORI_X_DIBU

End

Private Function KKY(jY As Float) As Short

  Return (jY - ORI_Y_REAL) / (FIN_Y_REAL - ORI_Y_REAL) * (FIN_Y_DIBU - ORI_Y_DIBU) + ORI_Y_DIBU

End
 Public Sub ContG_Draw()


 End
Private Function LineasAux(Xmax As Float, XMin As Float) As Float[]

  Dim A As Float
  Dim B As Float
  Dim C As Integer
  Dim D As Float
  Dim F As Float
  Dim Res As New Float[4]
  
  Dim Pral As Float
  
  A = Xmax - XMin
  If A <0>= 5 And F <10>= 5 And F / 0.5 <10>= 5 And F / 0.2 <10>= 20 And F / 0.5 <50>= 20 And F / 0.2 <50>= 20 And F / 0.1 <= 50 Then
            Pral = 0.1
            Else
              Pral = 0.05
          Endif
      Endif
  Endif
  Res[2] = Pral * 10 ^ C
  Res[3] = Int(Xmin / Res[2] + 1) * Res[2]
  'Debug ("División principal=" & Str(Res[0]) & gb.lf & "Origen principal=" & Str(Res[1]) & gb.lf & "División secundaria=" & Str(Res[2]) & gb.lf & "Origen secundario=" & Str(Res[3]))
  
  Return Res
  
End

 

 



 
Grandamakulo - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Graficas En Gambas 
 
excelente!
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Hacer Proyecto Gambas Sin Depender De... rocky2007 General 5 Domingo, 06 Marzo 2011, 21:39 Ver último mensaje
fabianfv
No hay nuevos mensajes Comunicar Un Movil Con Gambas: Bluetooth ... jsbsan General 2 Domingo, 15 Julio 2012, 00:37 Ver último mensaje
sebikul
No hay nuevos mensajes Cerrar Gambas Para Abrir Otro Proyecto De ... Shell General 5 Jueves, 21 Septiembre 2017, 20:42 Ver último mensaje
shordi
No hay nuevos mensajes Gambas Book. Manual Online Alemán De Gamb... Shell General 3 Martes, 19 Febrero 2019, 14:29 Ver último mensaje
tincho
 

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
No puede descargar archivos
No puede publicar eventos en el calendario