Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Obtener Paquetes Y Dependencias

Obtener Paquetes Y Dependencias
Artículo
Responder citando    Descargar mensaje  
Mensaje Obtener Paquetes Y Dependencias 
 
Hola

He estado jugando un poquito con la salida de apt a ver que podía obtener sobre paquetes y dependencias y como ha sido algo muy simple os posteo aquí los códigos para que los podais probar.

El objetivo es poder buscar un paquete y las dependencias totales que tiene. Esto es un arbol de dependencias completo.

Se me ocurre que la mejor forma de visualizarlo es en un columview mostrando una estructura arbórea, pero para hacer mas inteligible el código pondré los paquetes y en un gridview y las dependencias en otro. Al fin y al cabo se trata de hacer código comprensible.

Rutina para buscar un paquete
necesitamos en un formulario un textbox donde escribiremos el paquete a buscar, un botón para buscar y un grid de un tamaño de width=700 para que se vea bien en un formulario con miximized=true

Este es el código que va en el botón

DIM lineas AS String[], paquetes AS String[], Salida AS String, contador AS Integer
  
  Grid.Columns.Count = 2
  Grid.Columns[0].Width = 150
  
  SHELL ("apt-cache search " & textbox.text) TO salida
  salida = Replace(salida, " - ", " @ ") ' ----> para distinguir donde está el nombre del paquete y donde su descripción
  lineas = Split(salida, gb.newline) ---> meter en cada linea el paquete y descripción separados por @
  Grid.Rows.count = lineas.Length + 1 ' ---> dimensionar las filas que necesito en el grid mas la cabecera
  Grid[0, 0].Text = "Paquete"
  Grid[0, 1].text = "Descripción"
  FOR contador = 0 TO lineas.Max
      paquetes = Split(lineas[contador], "@") ' ---> separar nombre de descripción
      TRY Grid[contador + 1, 0].text = paquetes[0] '---> el nombre del paquete
      TRY Grid[contador + 1, 1].text = paquetes[1] ' ---> la descripción del paquete
  NEXT

FINALLY
Grid.Refresh

CATCH

END




 
última edición por soplo el Viernes, 09 Octobre 2009, 18:56; editado 2 veces 
soplo - Ver perfil del usuario Enviar mensaje privado  
soplo [ Viernes, 09 Octobre 2009, 18:04 ]
 


Obtener Paquetes Y Dependencias
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Obtener Paquetes Y Dependencias 
 
Código para listar las dependencias totales de un paquete
Aprovechando los controles anteriores añadimos un botón nuevo al que pegamos el siguiente código

DIM lineas AS String[] salida AS String, contador AS Integer
  
  Grid.Columns.Count = 2
  Grid.Columns[0].Width = 150
  
  SHELL ("apt-rdepends " & textbox.text & " | grep -v depends") TO salida
  lineas = Split(salida, gb.newline)
  Grid.Rows.count = lineas.Length + 1
  Grid[0, 0].Text = "Paquete"
  Grid[0, 1].text = "Dependencia"
  FOR contador = 0 TO lineas.Max
    IF InStr(lineas[contador], ":") > 0 THEN 'si hay en la línea el signo : es que es una dependencia
      TRY Grid[contador + 1, 1].text = lineas[contador] '---> poner el nombre del paquete
    ELSE
      TRY Grid[contador + 1, 0].text = lineas[contador] '---> en la otra columna poner sus dependencias
    ENDIF
  NEXT

FINALLY
c.Refresh


La palabra "depende" la pone apt y será la correspondiente a los locales de cada sistema.



 
soplo - Ver perfil del usuario Enviar mensaje privado  
soplo [ Viernes, 09 Octobre 2009, 18:07 ]
Mostrar mensajes anteriores:    
 
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


 



 

cron