lunes, 19 de septiembre de 2016

Convertir ńumero entero a Hexadecimal con Hex()



' Gambas module file

' by postapase
' http://novatocodegambas.blogspot.com.uy/

'Reto: http://www.solveet.com/exercises/decimal-a-hexadecimal-/605

' Crear una función que tome un entero y devuelva una cadena con su conversión a hexadecimal.
'
' ejemplo:
' hex 2 = "2"
' hex 10 = "A"
' hex 666 = "29A"

Public Sub Main()

Print ConvertirNumero_A_Hexadecimal(2)
Print ConvertirNumero_A_Hexadecimal(10)
Print ConvertirNumero_A_Hexadecimal(666)

End

Private Sub ConvertirNumero_A_Hexadecimal(numeroX As Integer) As String

Return Hex(numeroX)

End



lunes, 5 de septiembre de 2016

Como agregar número de versión de Gambas a nuestra aplicación?


Examinando el código del propio Gambas (ver) buscando aprender algo nuevo, me llamo la atención este código.

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


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

Resultado