![]() |
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!!! |
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: |
Mira el componente FileSystemWatcher a ver si te puede servir,un saludo :adios: |
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.