Estadistica Para Hacer Mas Completa Una Función.
Artículo |
Estadistica Para Hacer Mas Completa Una Función.
|
Hola a todos.
Hice una función, en base a una idea de Vuott, que dice que distribución de linux se esta usando. Luego en base a esta información se hacen otras cosas derivadas.
Pero ¿Funciona en todos los sistemas?
Esta es la función:
Podrían decirme como se comporta esta función en vuestros sistemas.
Por ejemplo yo tengo Xubuntu 18.04 pero la función devuelve
Ubuntu 18.04.4 LTS
Saludos.
|
tincho [ Martes, 21 Abril 2020, 13:21 ]
|
|
Estadistica Para Hacer Mas Completa Una Función.
Comentarios |
Re: Estadistica Para Hacer Mas Completa Una Función.
|
Tu código funciona para la Linux Mint. Le eché un vistazo a cómo lo hace gambas. Aquí está el código IDE de gambas ligeramente modificado.
Public Sub Form_Open()
Dim sAnswer As String = GetDistribution()
Print sAnswer
End Sub
Public Sub GetDistribution() As String
Dim cDist As Collection = ["lsb-release": "/etc/lsb-release", "vector": "/etc/vector-version", "slackware": "/etc/slackware-version", "debian": "/etc/debian_version",
"redhat": "/etc/redhat-release", "arch": "/etc/arch-release", "SuSE": "/etc/os-release", "gentoo": "/etc/gentoo-release", "conectiva": "/etc/conectiva-release",
"mandriva": "/etc/mandriva-release", "pardus": "/etc/pardus-release", "kanotix": "/etc/kanotix-release"]
Dim sPath As String
Dim sDistro As String
Dim cData As Collection
Dim iPos As Integer
For Each sPath In cDist
sDistro = cDist.Key
If Not Exist(sPath) Then Continue
If sDistro = "lsb-release" Then
cData = ReadLsbRelease(sPath)
sDistro = cData["DISTRIB_DESCRIPTION"]
If sDistro Then Return sDistro
Return cData["DISTRIB_ID"] & " " & cData["DISTRIB_RELEASE"]
Else
Return sDistro & " " & Trim(File.Load(sPath))
Endif
Next
If Exist("/etc/issue") Then
sDistro = File.Load("/etc/issue")
If sDistro Then
iPos = InStr(sDistro, "\\")
If iPos Then sDistro = Left(sDistro, iPos - 1)
Endif
Else
Exec ["uname", "-s"] To sDistro
Endif
Return Trim(sDistro)
End
Public Sub ReadLsbRelease(sPath As String) As Collection
Dim cCol As New Collection
Dim sLine As String
Dim aLine As String[]
For Each sLine In Split(File.Load(sPath), "\n", "", True)
aLine = Scan(sLine, "*=*")
Try cCol[aLine[0]] = UnQuote(aLine[1])
Next
Return cCol
End
|
cogier [ Martes, 21 Abril 2020, 17:50 ]
|
|
Re: Estadistica Para Hacer Mas Completa Una Función.
|
cogier escribió: Tu código funciona para la Linux Mint. Le eché un vistazo a cómo lo hace gambas. Aquí está el código IDE de gambas ligeramente modificado...
Gracias Cogier, muy instructivo.
Saludos.
|
tincho [ Martes, 21 Abril 2020, 19:18 ]
|
|
Re: Estadistica Para Hacer Mas Completa Una Función.
|
En WLS2+Ubuntu me da esto...
Hello world
(Function Main:3)
Bye cruel world
|
tercoIDE [ Miercoles, 22 Abril 2020, 15:02 ]
|
|
Re: Estadistica Para Hacer Mas Completa Una Función.
|
tercoIDE escribió: En WLS2+Ubuntu me da esto... :roll:...
Te falto el () quedaria así
|
tincho [ Miercoles, 22 Abril 2020, 15:13 ]
|
|
Re: Estadistica Para Hacer Mas Completa Una Función.
|
Hello world
Ubuntu 18.04.4 LTS
Bye cruel world
|
tercoIDE [ Miercoles, 22 Abril 2020, 15:17 ]
|
|
Re: Estadistica Para Hacer Mas Completa Una Función.
|
Cuidado con los nombres de variables. 'str' es el nombre reservado de un método conversor de cadenas.
Saludos
|
jguardon [ Miercoles, 22 Abril 2020, 21:21 ]
|
|
|
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
|
|