\' Gambas class file
\'ejemplos sacados de https://github.com/nnnick/Chart.js
\'leyenda: https://github.com/bebraw/Chart.js.legend
\'
Private meses As String
Private datos1 As String
Private datos2 As String
Private datos3 As String
Private titulo1 As String
Private titulo2 As String
Private titulo3 As String
Private hcon As New Connection
Private res As Result
Public Sub _new()
End
Public Sub Form_Open()
Dim archivo As String
Dim n As Integer
\'preparo entorno de trabajo...
definir()
\' If Exist(User.home & "/.ChartJS") Then
\' Else
Try Mkdir User.home & "/.ChartJS"
Try Mkdir User.home & "/.ChartJS/trabajo2"
\'limpieza de archivos
ModuleComun.vaciarDirectorio(User.home & "/.ChartJS")
ModuleComun.vaciarDirectorio(User.home & "/.ChartJS/trabajo2")
archivo = "Chart.js"
copiarArchivos(archivo)
archivo = "Chart.min.js"
copiarArchivos(archivo)
archivo = "legend.js"
copiarArchivos(archivo)
archivo = "barra.html"
copiarArchivosAtrabajo(archivo)
hcon.type = "sqlite3"
hcon.host = Application.Path & "/"
hcon.name = "datos"
Try hcon.Open
res = hcon.Exec("Select * from tabla")
GridViewDatos.columns.count = res.Fields.Count
For n = 0 To res.Fields.count - 1
GridViewDatos.Columns[n].text = res.Fields[n].name
Next
GridViewDatos.rows.count = res.count
crearGrafica()
Me.center
\' Endif
End
Public Sub copiarArchivos(nombre As String)
Try Copy nombre To User.home & "/.ChartJS" & "/" & nombre
End
Public Sub copiarArchivosAtrabajo(nombre As String)
Try Copy nombre To User.home & "/.ChartJS" & "/trabajo2/" & nombre
End
Public Sub crearGrafica()
Dim a As Integer
Dim fich As String
titulo1 = TextBox1.Text
titulo2 = TextBox2.Text
titulo3 = TextBox3.Text
datos1 = GridViewDatos[0, 1].text
datos2 = GridViewDatos[0, 2].text
datos3 = GridViewDatos[0, 3].text
For a = 1 To GridViewDatos.Rows.count - 1
datos1 &= "," & GridViewDatos[a, 1].text
datos2 &= "," & GridViewDatos[a, 2].text
datos3 &= "," & GridViewDatos[a, 3].text
Next
meses = "\\"" & GridViewDatos[0, 0].text & "\\""
For a = 1 To GridViewDatos.Rows.count - 1
meses &= ",\\"" & GridViewDatos[a, 0].text & "\\""
Next
fich = File.Load(User.home & "/.ChartJS" & "/trabajo2/barra.html")
fich = Replace$(fich, "#meses", meses)
fich = Replace$(fich, "#datos1", datos1)
fich = Replace$(fich, "#titulo1", titulo1)
fich = Replace$(fich, "#datos2", datos2)
fich = Replace$(fich, "#titulo2", titulo2)
fich = Replace$(fich, "#datos3", datos3)
fich = Replace$(fich, "#titulo3", titulo3)
File.Save(User.home & "/.ChartJS" & "/trabajo2/barra.html", fich)
WebView1.Url = "file:///" & User.home & "/.ChartJS" & "/trabajo2/barra.html"
End
Public Sub definir()
With GridViewDatos
.header = 3
.rows.count = 6
.columns.count = 4
.Columns[0].title = "mes"
.Columns[1].title = "cantidad1"
.Columns[2].title = "cantidad2"
.Columns[3].title = "cantidad3"
.Columns[0].width = 60
.Columns[1].width = 60
.Columns[2].width = 60
.Columns[3].width = 60
.font.name = "Times"
.font.size = 9
.Background = 16777215
.Foreground = 0
End With
End
Public Sub GridViewDatos_Data(Row As Integer, Column As Integer)
res.MoveTo(row)
GridViewDatos.Data.Text = res[GridViewDatos.Columns[column].Text]
End
Public Sub Form_Close()
hcon.close
End