- VERSION 5.04.17

- Se agregó que se descargue de CAT_GUNAPROD la columna CAT_GP_PROMOCION, que tiene la informacion de si el producto solo aparece en promociones y NO en el catalogo de productos.
- Se cambio el valor de la columna CAT_VE_VERSION de CAT_VERSION, para que refleje el número de la version "minima" permitida para la aplicación.
- Se agregó la funcion Subs.comparaVersiones que sirve para comparar la version minima contra la version actual.
- Se agregó codigo en B4X_Appear para que traiga la version minima desde CAT_VERSION.
- Se modifco el query "select_version_KELL" en el config.properties para que regrese la version y la columna "FORZAR", que representa si es necesario forzar la actualizacion de la aplicacion o no (todavia no hay codigo para forzar la actualizacion o detener la aplicación.)
This commit is contained in:
2025-04-18 18:54:10 -06:00
parent f4ef7e90d0
commit ce2759012a
8 changed files with 172 additions and 31 deletions

View File

@@ -1985,4 +1985,64 @@ Sub CreateBitmapWithNumber(OriginalBitmap As Bitmap, Number As Int) As Bitmap 'i
' Dibujar el número en el centro del Bitmap y configurar el estilo del texto
Canvas.DrawText(Number, (OriginalBitmap.Width / 2), (OriginalBitmap.Height / 2.4), Typeface.DEFAULT, 15, Colors.White, "CENTER")
Return NewBitmap
End Sub
End Sub
' Compara dos versiones en formato "X.YY.ZZ"
' Devuelve:
' -1 si versionActual es MENOR que versionMinima
' 0 si son IGUALES
' 1 si versionActual es MAYOR que versionMinima
Sub comparaVersionesOriginal(versionMinima As String, versionActual As String) As Int
' Dividir las versiones en partes
Dim partesMin() As String = Regex.Split("\.", versionMinima)
Dim partesAct() As String = Regex.Split("\.", versionActual)
' Asegurarse que ambas tienen 3 partes
If partesMin.Length <> 3 Or partesAct.Length <> 3 Then
Log("Formato de versión incorrecto")
Return -1 ' Por seguridad, asumimos que no cumple
End If
' Comparar parte por parte
For i = 0 To 2
Dim numMin As Int = partesMin(i)
Dim numAct As Int = partesAct(i)
If numAct < numMin Then
Return -1 ' Actual es menor
Else If numAct > numMin Then
Return 1 ' Actual es mayor
End If
' Si son iguales, continuar con la siguiente parte
Next
' Si llegamos aquí, todas las partes son iguales
Return 0
End Sub
' Compara dos versiones en formato "X.YY.ZZ"
' Devuelve:
' -1 si versionActual es MENOR que versionMinima
' 0 si son IGUALES
' 1 si versionActual es MAYOR que versionMinima
Sub comparaVersiones(versionMinima As String, versionActual As String) As Int
Dim partesMin() As String = Regex.Split("\.", versionMinima)
Dim partesAct() As String = Regex.Split("\.", versionActual)
' Si la actual tiene MENOS partes que la mínima, es inválida (opcional)
If partesAct.Length < partesMin.Length Then
ToastMessageShow("Version incorrecta", False)
Return -1 ' ← Actual no cumple el formato mínimo
End If
' Compara solo las partes que existen en la versión mínima
For i = 0 To partesMin.Length - 1
Dim numMin As Int = partesMin(i)
Dim numAct As Int = partesAct(i)
If numAct < numMin Then
ToastMessageShow("Versión vieja, por favor actualizar!", false)
Return -1 ' Actual es menor
Else If numAct > numMin Then
Return 1 ' Actual es mayor
End If
' Si son iguales, sigue comparando
Next
' Si todas las partes comparadas son iguales:
Return 0
End Sub