Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Estadistica Para Hacer Mas Completa Una Función.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
"Los IF son mas rápidos" - autor anónimo
 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 

 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Estadistica Para Hacer Mas Completa Una Función. 
 
Hello world
Ubuntu 18.04.4 LTS
Bye cruel world


 
 




===================
"Los IF son mas rápidos" - autor anónimo
 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Función Para Comprobar Que Un Email Es Co... soplo Aplicaciones/Fragmentos de Código 1 Domingo, 10 Octobre 2010, 00:05 Ver último mensaje
jsbsan
No hay nuevos mensajes Función Para Comprobar IP soplo Aplicaciones/Fragmentos de Código 2 Viernes, 01 Julio 2011, 10:47 Ver último mensaje
Invitado
No hay nuevos mensajes ¿Que Significa? Compilación Completa: Fu... gambafeliz General 2 Sabado, 31 Agosto 2019, 14:28 Ver último mensaje
gambafeliz
No hay nuevos mensajes Función Para Mover Un Archivo A La Papelera. tincho Aplicaciones/Fragmentos de Código 8 Miercoles, 25 Septiembre 2019, 22:36 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron