Rutina que obtiene la versión de gambas, ubicada en la clase de inicio llamada "Project"
Private Sub InitVersion()
Dim sVer As String
Dim aVer As String[]
'Shell "gbx" & System.Version & " -V" To sVer
'FullVersion = Trim(Mid$(sVer, InStr(sVer, "-") + 1))
FullVersion = System.FullVersion
aVer = Split(FullVersion, ".")
aVer.Remove(aVer.Max)
Version = aVer.Join(".")
Exec [System.Path &/ "bin/gbx" & System.Version, "-V"] To sVer
FullVersionWithRevision = Trim(sVer)
If FullVersionWithRevision Ends ".0" Then FullVersionWithRevision = Left$(FullVersionWithRevision, -2)
Catch
Version = "?"
End
Dim sVer As String
Dim aVer As String[]
'Shell "gbx" & System.Version & " -V" To sVer
'FullVersion = Trim(Mid$(sVer, InStr(sVer, "-") + 1))
FullVersion = System.FullVersion
aVer = Split(FullVersion, ".")
aVer.Remove(aVer.Max)
Version = aVer.Join(".")
Exec [System.Path &/ "bin/gbx" & System.Version, "-V"] To sVer
FullVersionWithRevision = Trim(sVer)
If FullVersionWithRevision Ends ".0" Then FullVersionWithRevision = Left$(FullVersionWithRevision, -2)
Catch
Version = "?"
End
desglosemos un poco.....
Exec [System.Path &/ "bin/gbx" & System.Version, "-V"] To sVer
System.Path=/usr
System.Version=3
linea de exec= /usr/bin/gbx3 -V
sVer=3.9.0
FullVersionWithRevision = Trim(sVer) 'Elimina espacios en blanco del final de una cadena.
If FullVersionWithRevision Ends ".0" Then FullVersionWithRevision = Left$(FullVersionWithRevision, -2)
si la versión termina en ".0" entonces elimina esos dos caracteres el punto y el cero. Quedando en este caso en "3.9"
Aquí mi adaptación a el programa Taller2015
Public VersionGambas As String
Public Sub Form_Open()
ObtenerVersionGambas() 'ejecutamos la subrutina para que obtenga la version y la guarde en la variable VersionGambas
LabVersionGambas.Text = VersionGambas ' le asignamos a la propiedad text el string almacenado en VersionGambas
End
Public Sub ObtenerVersionGambas()
Dim sVer As String
Exec [System.Path &/ "bin/gbx" & System.Version, "-V"] To sVer
VersionGambas = Trim(sVer)
If VersionGambas Ends ".0" Then
VersionGambas = Left$(VersionGambas, -2)
Endif
Catch
VersionGambas = "?"
End
Public Sub Form_Open()
ObtenerVersionGambas() 'ejecutamos la subrutina para que obtenga la version y la guarde en la variable VersionGambas
LabVersionGambas.Text = VersionGambas ' le asignamos a la propiedad text el string almacenado en VersionGambas
End
Public Sub ObtenerVersionGambas()
Dim sVer As String
Exec [System.Path &/ "bin/gbx" & System.Version, "-V"] To sVer
VersionGambas = Trim(sVer)
If VersionGambas Ends ".0" Then
VersionGambas = Left$(VersionGambas, -2)
Endif
Catch
VersionGambas = "?"
End
Resultado: