sábado, 17 de octubre de 2015

Ejemplo Clase Respaldo



FMain:

' gambas class file

Public Respaldo1 As Respaldo

Public Sub Form_Open()
Respaldo1 = New Respaldo(1, txtOrigen.Text, txtDestino.Text)
cbxMes.Index = 9
End

Public Sub Button2_Click()
Dialog.Path = User.Home
If Dialog.OpenFile() Then Return
txtOrigen.Text = Dialog.Path
End

Public Sub cbxPeriodo_Click()

Select Case cbxPeriodo.Index
Case 0
Respaldo1.Periodo = 1
Case 1
Respaldo1.Periodo = 2
Case 2
Respaldo1.Periodo = 3
Case 3
Respaldo1.Periodo = 7
Case 4
Respaldo1.Periodo = 15
Case 5
Respaldo1.Periodo = 30
End Select

End

Public Sub Button1_Click()

If Respaldo1.Verificar() Then
LabInfo.Text = "se efectuo el respaldo"
Else
LabInfo.Text = "No se realizo respaldo"
Endif

End

Public Sub Button3_Click()
Dialog.Path = User.Home
If Dialog.SelectDirectory() Then Return
txtDestino.Text = Dialog.Path
End

Public Sub Button4_Click()
Shell "stat " & txtOrigen.Text
End

Public Sub Button5_Click()
Shell "touch -a -m -t " & cbxAnios.Text & cbxMes.Text & txtDia.Text & "0000.00 " & txtOrigen.Text
End



Clase Respaldo:


' gambas class file

'by postapase (humilde aporte a la comunidad gambera)

Property Periodo As Byte ''1=un día,2=dos días, 3=tres días,7 una semana, 15 una quincena, 30 un mes
Property RutaOrigen As String '' Ruta completa del archivo a respaldar
Property RutaDestino As String '' Lugar donde se respaldara el archivo

Private $Periodo As Byte
Private $RutaOrigen As String
Private $RutaDestino As String

Private $Diferencia As Integer
Private $NameArchivo As String
Private $Rutafinal As String
Private $UltimaModificacion As Date


Public Sub _new(periodo As Byte, origen As String, destino As String) ''Periodo,Origen,Destino
$Periodo = periodo
$RutaOrigen = origen
$RutaDestino = destino
$NameArchivo = File.BaseName($RutaOrigen)
End

Private Function Periodo_Read() As Byte
Return $Periodo
End

Private Sub Periodo_Write(Value As Byte)
$Periodo = Value
End

Private Function RutaOrigen_Read() As String
Return $RutaOrigen
End

Private Sub RutaOrigen_Write(Value As String)
$RutaOrigen = Value
End

Private Function RutaDestino_Read() As String
Return $RutaDestino
End

Private Sub RutaDestino_Write(Value As String)
$RutaDestino = Value
End

Public Sub Respaldar()
If Exist($Rutafinal) Then
Kill $Rutafinal
Wait 0.2
Copy $RutaOrigen To $RutaFinal
Else
Copy $RutaOrigen To $RutaFinal
Endif
End

Public Sub Verificar() As Boolean
$Rutafinal = $RutaDestino &/ $NameArchivo & "_" & Replace$(CString(Date), "/", "-")
$UltimaModificacion = Stat($RutaOrigen).LastModified

$Diferencia = DateDiff($UltimaModificacion, Date, gb.Day) '

If $Diferencia >= $Periodo Then
Respaldar()
Return True
Else
Return False
Endif
End




dropbox: Clase_Respaldo-0.1.tar.gz

jueves, 15 de octubre de 2015

Ejemplo de chmod de Gambas



Como reto, cambia la propiedad text a "Crear y ejecutar"
y usa el comando shell de gambas para ejecutar el Scrits y por medio de un comentario muéstranos tu modificación del código. Saludos.


' gambas class file

'by postapase

Public Sub Form_Open()

End

Public Sub Button1_Click()
Dim TextoScript As String
Dim Ruta As String

Ruta = User.Home &/ "MiScript.sh"
TextoScript = "#!/bin/sh" & gb.NewLine
TextoScript &= "# by postapase" & gb.NewLine
TextoScript &= "echo Esto es un ejemplo de como usar chmod de gambas" & gb.NewLine
TextoScript &= "echo " & TextBox1.Text
File.Save(Ruta, TextoScript)
'si comentamos chmod nos da este error de permisos al ejecutar el script
'bash: ./MiScript.sh: Permiso denegado
'porque crea el script sin permiso de ejecucion para todos.
' "-rw-r--r--" la solución es usar chmod
Chmod Ruta To "rwxr-xr-x"
'el script ahora esta pronto para ser ejecutado abre una terminal
'anda a tu user home (predeterminado) y escribe
' ./MiScript.sh
'y veras los resulados.
End


chmodScript-0.0.1.tar.gz


lunes, 12 de octubre de 2015

Contactos (nueva aplicación)


Es mi nuevo programa, como el nombre lo dice es una agenda de contactos.
Buscando lo simple y practico, para que sea muy fácil ingresar y acceder a los datos.
contactos_0.1.0

Nota: para programadores el código intenta estar orientado a objetos.

Página web: https://sourceforge.net/projects/contactossimple/


Ejemplo de MessageView

Crear un proyecto nuevo eligiendo QT.


Public Sub btnIngresar_Click()
  If txtNombre.Text = Null Then
    MessageView1.Close
    MessageView1.Open("No ingresaste ningún nombre!")
  Else
    MessageView1.Open("Tu nombre es: " & txtNombre.Text)
  Endif
End


Descargar de dropbox: EjemploMessageView-0.0.1.tar.gz