amp-web-push-widget button.amp-subscribe { display: inline-flex; align-items: center; border-radius: 5px; border: 0; box-sizing: border-box; margin: 0; padding: 10px 15px; cursor: pointer; outline: none; font-size: 15px; font-weight: 500; background: #4A90E2; margin-top: 7px; color: white; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .amp-logo amp-img{width:190px} .amp-menu input{display:none;}.amp-menu li.menu-item-has-children ul{display:none;}.amp-menu li{position:relative;display:block;}.amp-menu > li a{display:block;} /* Inline styles */ div.acss138d7{clear:both;}div.acssf5b84{--relposth-columns:3;--relposth-columns_m:2;--relposth-columns_t:2;}div.acssa8a3d{aspect-ratio:1/1;background:transparent no-repeat scroll 0% 0%;height:300px;max-width:300px;}div.acss13836{color:#333333;font-family:Arial;font-size:14px;height:75px;}span.acss47fcd{background:#FFFFFF;color:#000000;}div.acss0f1bf{display:none;}a.acssf23c5{font-size:8pt;}a.acss24ea4{font-size:16.4pt;}a.acss066f0{font-size:22pt;} .ampforwp_wc_shortcode{margin-top: 0;padding:0;display:inline-block;width: 100%;} .ampforwp_wc_shortcode li{position: relative;width:29%; font-size:12px; line-height: 1; float: left;list-style-type: none;margin:2%;} .ampforwp_wc_shortcode .onsale{position: absolute;top: 0;right: 0;background: #ddd;padding: 7px;font-size: 12px;} .single-post .ampforwp_wc_shortcode li amp-img{margin:0} .ampforwp-wc-title{margin: 8px 0px 10px 0px;font-size: 13px;} .ampforwp-wc-price{color:#444} .wc_widgettitle{text-align:center;margin-bottom: 0px;} .ampforwp-wc-price, .ampforwp_wc_star_rating{float:left;margin-right: 10px;} .icon-widgets:before {content: "\e1bd";}.icon-search:before {content: "\e8b6";}.icon-shopping-cart:after {content: "\e8cc";} /******* Paste your Custom CSS in this Editor *******/
Este proyecto tiene como fin hacer un Gráfico Estadístico Covid19 en Visual Basic 6 con Api Res.
Los datos son obtenido de una APi que esta en linea. https://covid19.mathdro.id/api/
EL primer paso es agregar un componente y 3 referencias que son las siguientes:
Componente:
Microsoft Office XP Web Components
Referencias:
Microsoft WinHTTP Services, Version 5.1
Microsoft Scripting Runtime
Microsoft Internet Controls
Luego de esto agregamos al proyecto Un Modulo de clase y 2 Modulos que se encargar de tratar los datos tipo JSON les dejo el enlace de descarga:
Modulos JSON (639 descargas )Después de tener los modulos importados el siguiente paso es traer el listado de países se van a importar desde la API
Sub ObenerPaises()
Dim p As Object
Dim Texto As String
Dim sInputJson As String
Dim cab As Integer
Set httpURL = New WinHttp.WinHttpRequest
'lista de paises
cadena = "https://covid19.mathdro.id/api/countries"
httpURL.Open "GET", cadena
httpURL.Send
Texto = httpURL.ResponseText
If Texto = "[]" Then
MsgBox ("No se obtuvo resultados")
Exit Sub
End If
sInputJson = "{items:" & Texto & "}"
Set p = JSON.parse(Texto)
NumPaises = p.Item("countries").Count
ReDim Lista_ISO_Paises(NumPaises)
cmbPaises.AddItem "Datos Globales"
index = 1
For Num = 1 To NumPaises
nombre_pais = p.Item("countries").Item(Num).Item("name")
ISO3 = p.Item("countries").Item(Num).Item("iso3")
cmbPaises.AddItem nombre_pais
Lista_ISO_Paises(index) = ISO3
index = index + 1
Next Num
cmbPaises.ListIndex = 0
End Sub Luego al combobox de Paises en el evento click va el siguiente codigo:
Private Sub cmbPaises_Click()
Dim ISO3 As String
index = cmbPaises.ListIndex
If index > 0 Then
ISO3 = Lista_ISO_Paises(index)
Else
ISO3 = ""
End If
Call DatosGlobales(ISO3)
End Sub En el codigo anterior vemos una variable tipo array llamada Lista_ISO_Paises que va declarada a nivel de formulario:
Dim Lista_ISO_Paises() As String
Y el procedimiento DatosGlobales que tiene 2 funciones: si no se le pasan parametros trae los datos globales de CODIV-19 pero si pasamos el ISO3 de un país solo mostrara la información de ese país.
Sub DatosGlobales(Optional ISO3 As String = "")
Dim p As Object
Dim Texto As String
Dim sInputJson As String
Dim cab As Integer
Set httpURL = New WinHttp.WinHttpRequest
If ISO3 = "" Then
cadena = "https://covid19.mathdro.id/api"
Else
cadena = "https://covid19.mathdro.id/api/countries/" & ISO3
End If
httpURL.Open "GET", cadena
httpURL.Send
Texto = httpURL.ResponseText
If Texto = "[]" Then
MsgBox ("No se obtuvo resultados")
Exit Sub
End If
sInputJson = "{items:" & Texto & "}"
Set p = JSON.parse(Texto)
ffecha = Mid(p.Item("lastUpdate"), 1, 10)
ffecha = Replace(ffecha, "-", "/")
Fecha = Format(CDate(ffecha), "dd/mm/yyyy")
lblFecha1.Caption = Fecha
lblFecha2.Caption = Fecha
lblFecha3.Caption = Fecha
confirmados = p.Item("confirmed").Item("value")
lblConfirmados.Caption = FormatNumber(confirmados)
Recuperados = p.Item("recovered").Item("value")
lblRecuperados.Caption = FormatNumber(Recuperados)
Fallecidos = p.Item("deaths").Item("value")
lblFallecidos.Caption = FormatNumber(Fallecidos)
If ISO3 = "" Then
Call GraficoGlobal
Else
Call GraficoPais(confirmados, Fallecidos, Recuperados)
End If
End Sub
Por ultimo nos queda el gráfico uso 2 procedimiento uno para el gráfico global y el otro para el gráfico por pais.
Sub GraficoPais(Infectados, Fallecidos, Recuperados)
Dim Columnas(3)
Dim Valores(3)
Columnas(1) = "Infectados"
Columnas(2) = "Fallecidos"
Columnas(3) = "Recuperados"
Valores(1) = Infectados
Valores(2) = Fallecidos
Valores(3) = Recuperados
numitem = ChartSpace1.Charts(0).SeriesCollection.Count - 1
If numitem > 0 Then
For i = 0 To numitem
ChartSpace1.Charts(0).SeriesCollection.Delete (0)
Next i
End If
Set chConstants = ChartSpace1.Constants
ChartSpace1.Charts(0).SeriesCollection.Add
ChartSpace1.Charts(0).SeriesCollection(0).Caption = "Infectados"
ChartSpace1.Charts(0).SeriesCollection(0).SetData chConstants.chDimCategories, chConstants.chDataLiteral, Columnas(1)
ChartSpace1.Charts(0).SeriesCollection(0).SetData chConstants.chDimValues, chConstants.chDataLiteral, Valores(1)
ChartSpace1.Charts(0).SeriesCollection.Add
ChartSpace1.Charts(0).SeriesCollection(1).Caption = "Fallecidos"
ChartSpace1.Charts(0).SeriesCollection(1).SetData chConstants.chDimCategories, chConstants.chDataLiteral, Columnas(2)
ChartSpace1.Charts(0).SeriesCollection(1).SetData chConstants.chDimValues, chConstants.chDataLiteral, Valores(2)
ChartSpace1.Charts(0).SeriesCollection.Add
ChartSpace1.Charts(0).SeriesCollection(2).Caption = "Recuperados"
ChartSpace1.Charts(0).SeriesCollection(2).SetData chConstants.chDimCategories, chConstants.chDataLiteral, Columnas(3)
ChartSpace1.Charts(0).SeriesCollection(2).SetData chConstants.chDimValues, chConstants.chDataLiteral, Valores(3)
End Sub
Sub GraficoGlobal()
Dim Lista_Fechas()
Dim v_Confirmados()
Dim v_Fallecidos()
Dim v_Recuperados()
Dim NumFechas, Num As Integer
Dim p As Object
Dim Texto As String
Dim sInputJson As String
Dim cab As Integer
Set httpURL = New WinHttp.WinHttpRequest
cadena = "https://covid19.mathdro.id/api/daily/"
httpURL.Open "GET", cadena
httpURL.Send
Texto = httpURL.ResponseText
If Texto = "[]" Then
MsgBox ("No se obtuvo resultados")
Exit Sub
End If
sInputJson = "{items:" & Texto & "}"
Set p = JSON.parse(Texto)
NumFechas = p.Count
ReDim Lista_Fechas(NumFechas)
ReDim v_Confirmados(NumFechas)
ReDim v_Fallecidos(NumFechas)
ReDim v_Recuperados(NumFechas)
For Num = 1 To NumFechas
Lista_Fechas(Num) = p.Item(Num).Item("reportDate")
v_Confirmados(Num) = p.Item(Num).Item("confirmed").Item("total")
v_Fallecidos(Num) = p.Item(Num).Item("deaths").Item("total")
v_Recuperados(Num) = p.Item(Num).Item("recovered").Item("total")
Next Num
numitem = ChartSpace1.Charts(0).SeriesCollection.Count - 1
If numitem > 0 Then
For i = 0 To numitem
ChartSpace1.Charts(0).SeriesCollection.Delete (0)
Next i
End If
Set chConstants = ChartSpace1.Constants
ChartSpace1.Charts(0).SeriesCollection.Add
ChartSpace1.Charts(0).SeriesCollection(0).Caption = "Infectados"
ChartSpace1.Charts(0).SeriesCollection(0).SetData chConstants.chDimCategories, chConstants.chDataLiteral, Lista_Fechas
ChartSpace1.Charts(0).SeriesCollection(0).SetData chConstants.chDimValues, chConstants.chDataLiteral, v_Confirmados
ChartSpace1.Charts(0).SeriesCollection.Add
ChartSpace1.Charts(0).SeriesCollection(1).Caption = "Fallecidos"
ChartSpace1.Charts(0).SeriesCollection(1).SetData chConstants.chDimCategories, chConstants.chDataLiteral, Lista_Fechas
ChartSpace1.Charts(0).SeriesCollection(1).SetData chConstants.chDimValues, chConstants.chDataLiteral, v_Fallecidos
End Sub Solo queda el evento load del formulario:
Private Sub Form_Load()
Call ObenerPaises
Call GraficoGlobal
End Sub Descargar Código Proyecto Gráfico Covid-19 (757 descargas )
Saludos, en este tutorial aprenderás a integrar tu aplicación de Visual Basic 6 con un…
Recientemente, muchos usuarios de Hotmail (ahora Outlook.com) han reportado un error al intentar iniciar sesión…
En este proyecto, vamos a desarrollar una calculadora sencilla usando Visual Basic 6, que permite…
6 de septiembre de 2024 - La demanda de desarrolladores de software sigue en aumento,…
En un movimiento histórico, la Unión Europea ha aprobado la primera ley de inteligencia artificial…
¿Sigues trabajando con Visual Basic 6 y necesitas una forma eficiente de acceder a tus…
Este sitio utiliza cookies desea activarlas
Leave a Comment