Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/07/2008, 09:53
forketina
 
Fecha de Ingreso: abril-2008
Mensajes: 47
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: guardar archivos cada determinado tiempo

Si aquí está
módulo1:

Option Compare Database
'Option Explicit
'Declaraciones para implemntar el timer con el Api
'************************************************* *********
Función que crea un timer
Declare Function SetTimer Lib "user32" ( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) As Long

' Función que detiene el timer iniciado
Declare Function KillTimer Lib "user32" ( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long) As Long

' Función Callback que se dispara al iniciar el timer
Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long)

Static x As Long

Form1.Value = "Valor de x : -->> " & CStr(x)
x = x + 1
End Sub

'Inicia
Sub Iniciar_Timer(Hwnd_Form As Long, Intervalo As Long, ID As Long)
SetTimer Hwnd_Form, ID, Intervalo, AddressOf TimerProc
End Sub

'Detiene
Sub Detener_Timer(Hwnd_Form As Long, ID As Long)
KillTimer Hwnd_Form, ID
End Sub
--------------------------------
y en el Form1: load

Private Sub Form_Load()
Milisegundos = 2000
'Me.AutoRedraw = True
'Me.Print " Valor actual del intervalo: " & _
CStr(Milisegundos) & " Milisegundos"

Comando0.Caption = " Iniciar "
Comando1.Caption = " Detender "
Comando2.Caption = " especificar "
FileCopy "D:\x.doc", "D:\x (2).doc"

End Sub
--------------------------------
y en los botones

Option Compare Database
Dim Form1 As String
Dim Milisegundos As Long
Private Sub Comando0_Click()

' Inicia el timer
Call Iniciar_Timer(Me.hwnd, Milisegundos, 0)

' Imprime en el form el valor de los milisegundos
'Cls
'Me.Print " Valor actual del intervalo: " & _
CStr(Milisegundos) & " Milisegundos"
End Sub



Private Sub Comando1_Click()
' Detiene la ejecución del timer que se iniciado
Call Detener_Timer(Me.hwnd, 0)


End Sub

Private Sub Comando2_Click()
On Error Resume Next

' Para Especificar los milisegundos
Milisegundos = InputBox(" Intervalo ", _
" Indicar los milisegundos para el intervalo ")

' Si se presiona cancelar o no es un número sale
If Err.Number = 13 Then
MsgBox " el valor ingresado no es un válido", vbCritical
Exit Sub
End If

' Limpia el controlador de error
On Error GoTo 0

' Cambia el intervalo
Call Iniciar_Timer(Me.hwnd, Milisegundos, 0)

' Esto solo muestra el valor de los milisegundos en el form
' Cls
'Me.Print " Valor actual del intervalo: " & _
CStr(Milisegundos) & " Milisegundos"


End Sub
----------------------------------
y en el unload

Private Sub Form_Unload(Cancel As Integer)
' Mata el timer y finaliza el programa
Call Detener_Timer(Me.hwnd, 0)
End

End Sub


**una duda más en la parte de Option Compare Database es este o este Option Explicit como es??