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 *******/
Códigos Visual Basic 6

Gráfico Estadístico Covid19 en Visual Basic 6 con Api Res

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 )

Total Page Visits: 10472 - Today Page Visits: 1
Luis F. Martinez

Leave a Comment
Compartir
Publicado por
Luis F. Martinez

Publicaciones Recientes

CRUD Enviar y Recibir datos de Visual Basic 6 a PHP

Saludos, en este tutorial aprenderás a integrar tu aplicación de Visual Basic 6 con un…

4 meses hace

Problemas para acceder a Hotmail o Live.com desde el navegador web

Recientemente, muchos usuarios de Hotmail (ahora Outlook.com) han reportado un error al intentar iniciar sesión…

6 meses hace

Calculadora Básica en Visual Basic 6, Aprende a usar variables

En este proyecto, vamos a desarrollar una calculadora sencilla usando Visual Basic 6, que permite…

1 año hace

Lenguajes de Programación Más Demandados en 2024

6 de septiembre de 2024 - La demanda de desarrolladores de software sigue en aumento,…

1 año hace

La Unión Europea Aprueba la Primera Ley de Inteligencia Artificial del Mundo

En un movimiento histórico, la Unión Europea ha aprobado la primera ley de inteligencia artificial…

1 año hace

Sincronización de Datos en Línea VB6: Lleva tu Proyecto al Siguiente Nivel

¿Sigues trabajando con Visual Basic 6 y necesitas una forma eficiente de acceder a tus…

1 año hace

Este sitio utiliza cookies desea activarlas