Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

¿alguna forma de que el programa sepa que version de gambas tenemos instalada?
#1

Hola a todos:
¿hay alguna forma de un programa sepa que versión de gambas tenemos instalada?
Desde consola ,se puede ver usando el siguiente comando:
$gambas3 --version
(con lo cual lo podemos conocer indirectamente usando el comando Shell o Exec...

Pero no se si se puede hacer directamente con alguna variable que tenga el lenguaje (algo como gb.gambas3.version) ¿lo sabeis?

Saludos

Julio
[-] Los siguientes 1 usuarios dice gracias a jsbsan por este post:
  • portaro
    ¡Gracias!
#2

El numero de versón de Gambas está contenido en el archivo (de las fuentes de Gambas):  User.Home /gambasdevel/VERSION

GAMBAS
  1. Print File.Load(User.Home &/ "gambasdevel/VERSION")


Y tambien en el archivo:
User.Home /gambasdevel/main/config.h

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
[-] Los siguientes 1 usuarios dice gracias a vuott por este post:
  • portaro
    ¡Gracias!
#3

Hola Julio.
 
(26-06-2022, 13:39)jsbsan escribió:  ¿hay alguna forma de un programa sepa que versión de gambas tenemos instalada?

¿ Con qué idea ?. Wink

¿ Qué te parece ?

GAMBAS
  1. print System.FullVersion



System.FullVersion

Saludos

"Pero no toques, por qué tocas? - Amador"
[-] Los siguientes 2 usuarios dicen gracias a Shell por este post:
  • jguardon, portaro
    ¡Gracias!
#4

(26-06-2022, 15:48)Shell escribió:  System.FullVersion

Sì, la solución de nuestro Cónsul romano es más rápida y elegante.

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
[-] Los siguientes 1 usuarios dice gracias a vuott por este post:
  • portaro
    ¡Gracias!
#5

Shell:
Código:
System.FullVersion


Gracias. Es lo que buscaba.
Cita:¿ Con qué idea ?.

La idea es que el programa ejecute parte de su código si es de una versión en concreta (o superior o inferior).  Por ejemplo, si uso algo (una variable o un función) que solo esta incluida  en la version 3.17 o superior, el programa compruebe que en que version se esta ejecutando de gambas3 y ejecute (o no ) la parte del codigo que si funciona en la versiones superiores a 3.17.

Para un caso real que me esta pasando, tengo hace varios años programado  un modulo llamado "update" que comprobaba si el programa tenia alguna nueva versión (descargaba una pagina web donde contenía el dato  la versión del programa más actual). Esto me esta fallando en las ultimas versiones de gambas3, y lo estoy "anulando" como solución... aunque a lo mejor otra solución era comprobar la version de gambas3, y ejecutar o no el módulo sabiendo la versión que corre de gambas3.

Saludos

Julio
[-] Los siguientes 1 usuarios dice gracias a jsbsan por este post:
  • portaro
    ¡Gracias!
#6

(26-06-2022, 19:47)vuott escribió:  Sì, la solución de nuestro Cónsul romano es más rápida y elegante.

Wink

Probablemente debajo de esta instrucción se oculte: "gambas3 -V", pero para eso hay que consultarlo al  oráculo.
Quizás la clase System se pueda ver en las fuentes de Gambas.

Puede que sea más habitual este:

System.Version

Puede que uno haya sustituido al otro.
Las referencias que encontré a los archivos del código de Gambas fueron estas con la palabra FullVersion.
Estando dentro del directorio de las fuentes de Gambas3.

Bash
  1. grep -lir "System.FullVersion" ./


 
Cita: 
./app/src/gambas3/.src/Project.module
./app/src/gambas3/.src/Packager/FMakeInstall.class
./app/src/gambas3/.src/Packager/Package.module
./app/src/gambas3/.src/Project/Farm/FPublish.class
./app/src/gambas3/.src/Project/Farm/Publish/CTagCompletion.class
./app/src/gambas-wiki/.src/Main.module
./comp/src/gb.logging/.src/Formatter.module

Principalmente me llamó este más la atención: ./app/src/gambas3/.src/Project.module
Si, es una carpeta dentro del proyecto Gambas3 y si llama Project.
Este proceso también atrajo mi curiosidad.

GAMBAS
  1. Private Sub InitVersion()
  2.  
  3.   Dim sVer As String
  4.   Dim aVer As String[]
  5.  
  6.   'Shell "gbx" & System.Version & " -V" To sVer
  7.   'FullVersion = Trim(Mid$(sVer, InStr(sVer, "-") + 1))
  8.   FullVersion = System.FullVersion
  9.   aVer = Split(FullVersion, ".")
  10.   aVer.Remove(aVer.Max)
  11.   Version = aVer.Join(".")
  12.  
  13.   Exec [System.Path &/ "bin/gbx" & System.Version, "-V"] To sVer
  14.   FullVersionWithRevision = Trim(sVer)
  15.   If FullVersionWithRevision Ends ".0" Then FullVersionWithRevision = Left$(FullVersionWithRevision, -2)
  16.  
  17.  
  18.   Version = "?"
  19.  



Me gustaría investigarlo mejor, pero mis deberes de cónsul romano me reclaman. Angel
Que por cierto si os fijáis se lee "gbx" cuando realmente solemos encontrar "gbx3" en el directorio del sistema.
Es que System.Versión solo devuelve "3"...
 
Cita: 
gbx3 (1)             - GAMBAS Interpreter


Julio:

Supuse que era eso. Ya veo que es un problema y puede que bien grande o bastante pesado para resolverlo.
En mucho de tus programas tenías esa opción, aplicación como el de las damas y muchos más. Sobre todo
las que son de gran tamaño.

Saludos

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!
#7

Shell:
Cita:Este proceso también atrajo mi curiosidad.

Felicidades, Buena investigación !!!  Cool

Saludos

Julio
[-] Los siguientes 1 usuarios dice gracias a jsbsan por este post:
  • Shell
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)