Esperando al escaner de red. Que graba en una carpeta.

y programas personales para otros como tu, puede que te corrijan ;)
Responder
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2083
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Esperando al escaner de red. Que graba en una carpeta.

Mensaje por BasicOs »

Muchas veces tenemos escaneres remotos y nos añaden en una carpeta los ficheros que comiencen por
DOC*.
En ese caso
1.- Nos avisa que nos ha entrado.
2.- Nos da la opción de cambiar el nombre
3.- Lo visualiza con su programa por defecto, con lo que podemos copiarlo, modificarlo o ver si se escaneó bien.

No gasta nada de recursos ni de memoria ni de procesador.
Aparece un icono al lado del reloj por si queremos cerrarlo.
Siempre tenemos que cambiar el nombre a los ficheros que empiecen por DOC*, con lo que no tendremos ningún archivo llamado "documentación"
:smt023 :smt024
Si alguien desea modificarlo o crear alguna mejora puede aportar, gracias. :smt025 :smt014

PD:
Versión 2:
  • Mejora para varios escaneres, y varias rutas, con varios patrones de ficheros producidos por el escaner.
  • Añadido fichero nuevoscanner.ini para guardar un patrón y una ruta (en pareja).
Salu22:)

Código: Seleccionar todo

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=nuevoscanner.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <MsgBoxConstants.au3>
;Credits Basicos at autoit.es
If not FileExists("nuevoscanner.ini") then
	IniWrite("nuevoscanner.ini","Configurar","Ruta","C:\escaner\")
	IniWrite("nuevoscanner.ini","Configurar","Patron_Nombres","DOC*.*")
EndIf

$sRuta= IniRead("nuevoscanner.ini","Configurar","Ruta","C:\escaner\")
$sPatron=IniRead("nuevoscanner.ini","Configurar","Patron_Nombres","DOC*.*")
Global $aRuta=StringSplit($sRuta,","), $i
Global $aPatron=StringSplit($sPatron,",")
$sTodasRutas=""
#include <MsgBoxConstants.au3>
#include <TrayConstants.au3>

For $i=1 to $aRuta[0]
 $sTodasRutas=$sTodasRutas&$aRuta[$i]&$aPatron[$i] & " y "
Next
$sTodasRutas=StringLeft($sTodasRutas,stringlen($sTodasRutas)-3)
TrayTip("Esperando escaners sin gastar recursos del PC", "En "&$sTodasRutas , 0, $TIP_ICONASTERISK)

While 1
For $i=1 to $aRuta[0]
	if FileExists($aRuta[$i]) then Nuevosescaner($aRuta[$i]&$aPatron[$i])
 Sleep(1000)
Next
sleep(3000)
WEnd

Func Nuevosescaner($Patron)
    ; Assign a Local variable the search handle of all files in the current directory.
    Local $hSearch = FileFindFirstFile($Patron)

    ; Check if the search was successful, if not display a message and return False.
    If $hSearch = -1 Then
       ; MsgBox($MB_SYSTEMMODAL, "", "Error: No files/directories matched the search pattern.")
        Return False
    EndIf

    ; Assign a Local variable the empty string which will contain the files names found.
    Local $sFileName = "", $iResult = 0

    While 1
        $sFileName = FileFindNextFile($hSearch)
        ; If there is no more file matching the search.
        If @error Then ExitLoop
        ; Display the file name.
        $iResult = MsgBox(BitOR($MB_SYSTEMMODAL, $MB_OKCANCEL), "Nuevo fichero desde el escaner", "Nombre: " & $sFileName)
         If $iResult <> $IDOK Then ExitLoop ; If the user clicks on the cancel/close button.
		ShellExecute($aRuta[$i]&$sFileName)
		$sFileName1=StringLeft($sFileName,StringInStr($sFileName,".")-1)
		$sFileName2=StringRight($sFileName,StringLen($sFileName)-StringInStr($sFileName,"."))
		 $sResult = InputBox("Cambiar de nombre escaneados","Escriba el nombre nuevo del "&$sFileName2,$sFileName1)
		 FileMove($aRuta[$i]&$sFileName,$aRuta[$i]&$sResult&"."&$sFileName2)
		 Sleep(500)
		 ShellExecute($aRuta[$i]&$sResult&"."&$sFileName2)
		 ;ShellExecute($sRuta&$sResult&"."&$sFileName2)
    WEnd

    ; Close the search handle.
    FileClose($hSearch)
EndFunc   ;==>Example

Adjuntos
nuevoscanner.zip
Versión 2: Ejecutable Nuevoscanner.exe, icono y código fuente
(423.13 KiB) Descargado 225 veces
Nuevoscanner.zip
Versión 0: Ejecutable Nuevoscanner.exe, icono y código fuente
(423.54 KiB) Descargado 236 veces
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Esperando nuevos escaneos en una carpeta.

Mensaje por yasmany »

Gracias por el aporte, en lo personal me sirve para estudiar el code y aprender algo que haya pasado por alto.
Por cierto como puedo conseguir los includes?
#include <MsgBoxConstants.au3>
#include <TrayConstants.au3>
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Dany3j
Mensajes: 4
Registrado: 09 Jun 2013, 04:08

Re: Esperando nuevos escaneos en una carpeta.

Mensaje por Dany3j »

@yasmany con la ultima versión de AutoIt.

saludos
Malware Killer
Dany3j
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Esperando nuevos escaneos en una carpeta.

Mensaje por yasmany »

Ha yá gracias, por cierto la ultima version tiene una configuracion distinta, no tiene establecido los mismos colores al programar. :smt012
Pero bueno, gracias por responder :smt001
Saludos :smt024
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
PDF
Hacker del Foro
Mensajes: 152
Registrado: 18 Ene 2013, 23:23

Re: Esperando nuevos escaneos en una carpeta.

Mensaje por PDF »

Gracias por compartir tu programa BasicOs..
yasmany escribió:Ha yá gracias, por cierto la ultima version tiene una configuracion distinta, no tiene establecido los mismos colores al programar. :smt012
Pero bueno, gracias por responder :smt001
Saludos :smt024
Eso pasa porque se te ha desinstalado el SciTE, si has actualizado AutoIt se ha borrado con la version antigua y lo que tienes ahora es una version de editor por defecto de AutoIt, por lo que también es necesario descargarla, ya que se instalan por separado..

Saludos.
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2083
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Esperando nuevos escaneos en una carpeta.

Mensaje por BasicOs »

Aquí tienes la última versión con todo, y también la versión anterior de Autoit por si la necesitas puntualmente. :smt026 :smt017 :smt013

Ahora en la versión del AUTOITPORTABLE incluyo las dos versiones porque seguramente necesitamos la versión anterior para retocar algún programa que hemos hecho durante el último año. (Si tienes tiempo para actualizar el código a la nueva no lo necesitas).
AutoitPortable incluye Scite y más utiles

Salu22:)
Responder