document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. \' Gambas class file
  2.  
  3. Public contenido As String
  4. Public arrayContenido As String[]
  5. Public lineasDatos As String[]
  6. Public ArrayEspacioParticion As String[]
  7. Public ArrayNombreParticion As String[]
  8.  
  9. Public Sub _new()
  10.  
  11. End
  12.  
  13. Public Sub Form_Open()
  14.   \'determinar particiones
  15.  
  16.   DeterminaParticiones()
  17.   \'cargo visualmente los datos...
  18.   cargaDatos()
  19.  
  20.   \'inicio timer para determinar cambios en el numero de las particiones
  21.   Timer1.Delay = 5000 \'cada 5 segundos
  22.   Timer1.Start
  23.  
  24. End
  25.  
  26. Public Sub DeterminaParticiones()
  27.  
  28.   \'cargo listado de particiones enla variable "contenido"
  29.  
  30.   Dim a As Integer
  31.   Dim b As Integer
  32.  
  33.   Shell ("cat /proc/partitions") To contenido
  34.  
  35.   \'extraigo lineas...
  36.   arrayContenido = Split(contenido, "\\n")
  37.  
  38.   \'elimino espacios dobles...
  39.   For a = 2 To arrayContenido.max - 1
  40.     \'elimino espacios dobles...
  41.     For b = 0 To 5
  42.       arrayContenido[a] = Replace(arrayContenido[a], "  ", " ")
  43.     Next
  44.   Next
  45.  
  46.   \'borro lineas que no tienen datos...
  47.   arrayContenido.Delete(0)
  48.   arrayContenido.Delete(0) \'nota: el 1 paso a ser el 0, al borrarse la linea anterior
  49.   arrayContenido.Delete(arrayContenido.max)
  50.  
  51.   \'instancio arrays de espacio y nombre
  52.   ArrayEspacioParticion = New String[]
  53.   ArrayNombreParticion = New String[]
  54.  
  55.   \'particiono las lineas por el caracter " " (espacio)
  56.   For a = 0 To arrayContenido.Max
  57.     lineasDatos = Split(arrayContenido[a], " ")
  58.     ArrayEspacioParticion.Add(lineasDatos[3])
  59.     ArrayNombreParticion.Add(lineasDatos[4])
  60.   Next
  61.  
  62.   \'escribo en conla los datos...
  63.   Print "Lista de particiones y su espacio:"
  64.   For a = 0 To ArrayEspacioParticion.Max
  65.     Print "Nombre: ", ArrayNombreParticion[a], " Espacio: ", ArrayEspacioParticion[a]
  66.    
  67.   Next
  68.  
  69. End
  70.  
  71. Public Sub cargaDatos()
  72.  
  73.   Dim a As Integer
  74.  
  75.   \' ListBox1.Clear() \'limpiio lista
  76.   \'ComboBox1.Clear() \'limpiio lista
  77.   For a = 0 To ArrayEspacioParticion.Max
  78.     \'en el listbox
  79.     ListBox1.Add(ArrayNombreParticion[a])
  80.     \'en el combobox
  81.     ComboBox1.Add(ArrayNombreParticion[a])
  82.   Next
  83.  
  84. End
  85.  
  86. Public Sub ListBox1_Click()
  87.  
  88.   LabelEspacioListbox.text = "Particion: " & ArrayNombreParticion[ListBox1.index] & " Espacio: " & ArrayEspacioParticion[ListBox1.Index]
  89.  
  90. End
  91.  
  92. Public Sub ComboBox1_click()
  93.  
  94.   LabelEspacioCombobox.text = "Particion: " & ArrayNombreParticion[ComboBox1.Index] & " Espacio: " & ArrayEspacioParticion[ComboBox1.Index]
  95.  
  96. End
  97.  
  98. Public Sub Timer1_Timer()
  99.  
  100.   Dim numeroParticiones As Integer
  101.   Dim numeroParticionesNuevo As Integer
  102.  
  103.   numeroParticiones = ArrayNombreParticion.Max
  104.   ListBox1.Clear()
  105.   ComboBox1.Clear()
  106.   cargaDatos()
  107.   DeterminaParticiones()
  108.   numeroParticionesNuevo = ArrayNombreParticion.Max
  109.  
  110.   If numeroParticionesNuevo <> numeroParticiones Then
  111.     Message.Info("Cambio en el numero de particiones")
  112.    
  113.   Endif
  114.  
  115. End
');