Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Obtener Paquetes Y Dependencias
Autor Mensaje
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Agregar Dependencias A *.deb Gambas razaAztk General 7 Martes, 14 Diciembre 2010, 03:47 Ver último mensaje
Invitado
No hay nuevos mensajes Y Las Dependencias De Nuestro Programa? Agamenon General 3 Domingo, 26 Febrero 2012, 22:38 Ver último mensaje
Agamenon
No hay nuevos mensajes Problema De Dependencias En Los Paquetes P... tincho General 7 Jueves, 29 Octobre 2015, 21:01 Ver último mensaje
tincho
No hay nuevos mensajes Dependencias De Los Paquetes Debian Shell Mundo Linux 8 Domingo, 05 Julio 2020, 08:47 Ver último mensaje
Guizans
 

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