PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV (earlier versions) → piloter un scanner
piloter un scanner
Started by geof, Oct., 11 2004 4:28 PM - 1 reply
Posted on October, 11 2004 - 4:28 PM
Bonjour a tous,

Quelqu un connaitrait-il un moyen de piloter un scanner, (donc en appelant le soft du scanner), via une appli windev developpée en 7.5.
Bouts de code bienvenus...
Merci d'avance.
Geof
Posted on October, 12 2004 - 12:28 PM
Il est possible en effet de lancer l'interface de scan avec windev 5.5 (
donc avec Windev 7xxx ca devrait l'etre aussi )
Il faut la DLL EzTwain ( trouvé dans une LST )

Un bout de code :
fonction ScannerDocument()

// Acquisition d'image sur un SCANNER TWAIN
// grâce à la DLL EZTWAIN
// Cette DLL EZTWAIN ("Easy Twain" )
// pilote la DLL TWAIN

LOCAL
EZ_Result est un entier
EZ_Result32 est un entier
EZ_HndDib est un entier
EZ_HndDib32 est un entier long
EZ_HndLib est un entier long

szNomBmp est une chaine asciiz sur 261
sNomDLL est une chaine
EZ_ok est un booléen

si versionwindows()<>"32" alors
sNomDLL = "eztwain.dll"
SINON
sNomDLL = "eztw32.dll"
FIN

// EZ_HndLib=appeldll("kernel","Loadlibrary",sNomDLL)
EZ_HndLib=ChargeDLL(sNomDLL)

szNomBmp=RepEXE+"\scan.bmp"

SI abs(EZ_HndLib)<32 alors
// Info("Pb de chargement DLL", sNomDLL, EZ_HndLib) // Pour débogage
uniquement
info("Veuillez vérifier que les DLL EZTWAIN sont bien installées sur
votre poste.")
renvoyer ""
FIN

// Numérisation
si versionwindows()<>"32" alors
EZ_HndDib=AppelDLL(sNomDLL, "TWAIN_AcquireNative", Handle(), 0x0000)
// Sauvegarde en .BMP
SI EZ_HndDib<>0 ALORS
EZ_Result=AppelDll(sNomDLL, "TWAIN_WriteNativeToFilename", EZ_HndDib,
&szNomBmp)
si EZ_Result <> 0 alors
erreur("La copie du fichier "+szNomBmp+" n'a pu être exécutée")
EZ_Ok = faux
sinon
EZ_Ok = vrai
fin
appeldll(sNomDLL,"TWAIN_FreeNative", EZ_HndDib)
sinon
EZ_Ok = Faux
FIN
sinon
EZ_HndDib32=AppelDLL32(sNomDLL, "TWAIN_AcquireNative", Handle(), 0x0000)
// Sauvegarde en .BMP
SI EZ_HndDib32<>0 ALORS
EZ_Result32=AppelDll32(sNomDLL, "TWAIN_WriteNativeToFilename",
EZ_HndDib32, &szNomBmp)
si EZ_Result32 <> 0 alors
erreur("La copie du fichier "+szNomBmp+" n'a pu être exécutée")
EZ_Ok = faux
sinon
EZ_Ok = vrai
fin
appeldll32(sNomDLL,"TWAIN_FreeNative", EZ_HndDib32)
sinon
EZ_Ok = Faux
FIN
FIN

DéchargeDll(EZ_HndLib)

Si EZ_Ok alors
NbSCANReussi++
NBSCAN="Nombre de pages scannées = "+NbSCANReussi
renvoyer szNomBmp
sinon
renvoyer ""
fin

geof wrote:
Bonjour a tous,

Quelqu un connaitrait-il un moyen de piloter un scanner, (donc en appelant le soft du scanner), via une appli windev developpée en 7.5.
Bouts de code bienvenus...
Merci d'avance.
Geof