Estadistica Para Hacer Mas Completa Una Función.


Subject: 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:
Public Function DistroNoshell() As String ''Devuelve la distribución instalada xmi
Dim str As String
str = File.Load("/etc/issue.net")
str = Replace(str, "\n", "")
Return str
End

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.

Profile PM  
Subject: 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

Profile PM  
Subject: 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.

Profile PM  
Subject: Re: Estadistica Para Hacer Mas Completa Una Función.
En WLS2+Ubuntu me da esto...

' gambas module file

Public Sub Main()

Print "Hello world"

Print DistroNoshell

Print "Bye cruel world"
End


Public Function DistroNoshell() As String ''Devuelve la distribución instalada xmi
Dim str As String
str = File.Load("/etc/issue.net")
str = Replace(str, "\n", "")
Return str
End


Hello world
(Function Main:3)
Bye cruel world

Profile PM  
Subject: Re: Estadistica Para Hacer Mas Completa Una Función.
tercoIDE escribió:  
En WLS2+Ubuntu me da esto... :roll:...

Te falto el () quedaria así
Public Sub Main()
Print "Hello world"
Print DistroNoshell() ' <--------- Aca va () al final
Print "Bye cruel world"
End

Public Function DistroNoshell() As String ''Devuelve la distribución instalada xmi

Dim str As String
str = File.Load("/etc/issue.net")
str = Replace(str, "\n", "")
Return str
End

Profile PM  
Subject: Re: Estadistica Para Hacer Mas Completa Una Función.
Hello world
Ubuntu 18.04.4 LTS
Bye cruel world



Profile PM  
Subject: 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

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1271s (PHP: -7% SQL: 107%)
SQL queries: 22 - Debug Off - GZIP Enabled