Hay comandos en GNU/Linux que permites realizar un apagado de nuestro sistema. Este apagado se puede hacer, bien indicando en cuántos minutos queremos que se apague, o bien indicando la hora. Si queremos la opción de minutos restantes:
shutdown -h minutos
Mientras que si preferimos indicar la hora:
shutdown -h hh:mm
En caso de haber introducido la opción de apagado automático y que queramos cancelarla:
shutdown -c
Utilizando estos comandos y la potencia de gambas podemos desarrollar fácilmente una aplicación gráfica que permita el apagado del sistema. Veámos cómo hacerlo.
Lo primero es crear el diseño de nuestra aplicación. En mi caso he decidido no esmerarme mucho, y el resultado obtenido es
Aspecto visual |
En esta ventana tenemos la opción de elegir ambos tipos de apagado y además nos muestra el comando que se envía en consola. Por simplicidad a la hora de realizar la programación, requiere que en el caso de elegir la opción "Apagar a las" se introduzcan dos dígitos en cada recuadro y que los valores sean válidos. A continuación se muestran ejemplos con las diferentes opciones en funcionamiento
Ejecutando la opción "Apagar en" |
Ejecutando la opción "Apagar a las" |
Ejecutando la opción "Cancelar apagado" |
El código que ejecuta esta aplicación es
' Gambas class file
Public minutosRestantes As String
Public minutos As String
Public hora As String
Public comando As String
Const cancelar As String = "gksu -l shutdown -c"
Const apagar As String = "gksu -l shutdown -h "
Public Sub _new()
End
Public Sub Form_Open()
End
Public Sub btnCancelar_Click()
comando = cancelar 'Asignamos como comando la opción cancelar
txtComando.text = comando
Shell comando 'Enviamos el comando a la shell
End
Public Sub btnAceptar_Click()
If rdbCuentaAtras.value = True Then 'Comprueba si el boton de cuenta atras esta activo
minutosRestantes = vlbMinutosRestantes.Text
comando = apagar & minutosRestantes 'Si lo está, envía el comando de cuenta atrás
txtComando.text = comando
Shell comando
Else 'Si no lo esta, entonces se envia la hora a la cual queremos apagar la computadora
hora = vlbHora.Text
minutos = vlbMinutos.Text
comando = apagar & hora & ":" & minutos 'Concatena para formar el comando
Shell comando
txtComando.text = comando
Endif '
End
No hay comentarios:
Publicar un comentario