Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Visual Basic AUTOMATICO??????? (http://www.forosdelweb.com/f29/visual-basic-automatico-202895/)

kachalot 14/05/2004 11:02

Visual Basic AUTOMATICO???????
 
Hola muy wenas...........

Se puede hacer desde Visual Basic .NET, un programa q trabaje de manera automatica???
Por ejemplo, la empresa en la q trabajo le llegan carpetas via FTP, yo podria hacer un programa q detecte cuando ha acabado de llegar la carpeta y trabajar con ella de menera automatica????

Como???

Por fa si alguien sabe algo q me conteste................MUCHISIMAS GRACIAS!!!

MsTech.DotNet 15/05/2004 16:50

Una posible solucion en teoria podria ser usar un FSO (File System Object) que recorra un directorio "X" y cuente los archivos existente y almacene el total de archivos en una bd, luego con un timer que cada cierto tiempo chequee dicho directorio y compare con el numero de archivos que existian anteriormente y si es mayor entonces es porque existe un archivo nuevo..

Tambien podrias usar como una especie log que registre cada vez que se incluye un archivo para asi saber cual es el ultimo archivo agregado...

En si esto son solo ideas al respecto...siempre existe la posibilidad de hacerlo de diferentes maneras...

Saludos... :adios:

Javier... :arriba:

SunDarK 15/05/2004 17:25

Mira el componente FileSystemWatcher a ver si te puede servir,un saludo :adios:

frank_vo 17/05/2004 14:23

Si se puede, de hecho yo lo he hecho varias veces para tareas distintas como cargar informacion de directorios en base de datos, transmitir archivos FTP, etc.

Lo que dice MsTech.DotNet a funcionado muy bien para mi. La idea es la siguiente.

En un formulario agrega un timer y dentro del timer debe ir el codigo que se ejecutara cada cierto tiempo.
No debes controlar los lapsos de tiempo con el timer ya que son limitados, te sugiero hacerlo con otra variable (long) que pueda contener los segundos transcurridos.

Te mando un ejemplo:

Private Sub Timer1_Timer()

Dim pSegundosIntervalo As Long
Dim sMin As Long
Dim sSeg As Long
Dim sMinCount As Long
On Error GoTo ERRORES

pSegundosIntervalo = gIntervalo * 60
If mHoraInicio = 0 Then
mProcesar = True
abre_conexion
If gConexionOK = True Then
Proceso_Principal
mHoraInicio = CLng(Timer)
End If
Else
If CLng(Timer) >= mHoraInicio + pSegundosIntervalo Then
mProcesar = True
abre_conexion
If gConexionOK = True Then
Proceso_Principal
mHoraInicio = CLng(Timer)
End If
End If
End If
If gConexionOK = True Then
Cierra_Conexion
End If
If CLng(Timer) <= 2 Then
mHoraInicio = 1
End If
sMinCount = Int(((CLng(Timer) - mHoraInicio) / 60)) + 1
sMin = gIntervalo - sMinCount
sSeg = CLng(Timer) - (mHoraInicio + ((sMinCount - 1) * 60))
Barraestado.Panels(2).Text = "Próxima búsqueda en: " & "[" & Format(sMin, "00") & ":" & Format(60 - sSeg, "00") & "]"
DoEvents

ERRORES:
mProcesar = True
gConexionOK = False
Set cn = Nothing

SI no entiendes algo, preguntame.


La zona horaria es GMT -6. Ahora son las 08:27.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.