3. Exemple d’utilisation des macro-commandes en Windev
Exemple d’algorithme :
Ouverture de session Silog.
Ouverture de l’application Commande.
Positionnement sur la dernière fiche.
Lecture du numéro de commande de la dernière fiche.
Fermeture de l'application Commande.
Fermeture session de L’ERP Silog.
sRep est une chaîne = ComplèteRep("E:\Silog\8.99.00-991231\")
sDLL est une chaîne = "SilDDE2.dll"
nIdDLLSilog, nIdDllKernel est un entier
nRetour est un entier
nId est un entier sur 4 octets
sChaineLu est une chaîne sur 1024 //La taille doit être délimité pour les appels
SI PAS fFichierExiste(sRep+sDLL) ALORS
Erreur("Fichier non trouvé "+sRep+sDLL)
RETOUR
FIN
Sablier(Vrai)
nIdDllKernel = ChargeDLL("C:\Windows\System32\kernel32.dll")
SI nIdDllKernel=0 ALORS
ExceptionDéclenche(1,"Chargement DLL kernel32 : "+RC+ErreurInfo(errComplet))
FIN
AppelDLL32("kernel32","SetCurrentDirectoryA",sRep)
DéchargeDLL(nIdDllKernel)
nIdDLLSilog = ChargeDLL(sRep+sDLL)
SI nIdDLLSilog=0 ALORS
ExceptionDéclenche(1,"Chargement DLL SilDDE2 : "+RC+ErreurInfo(errComplet))
FIN
AppelDLL32(sDLL,"SilActiveTrace",sRep,Vrai)
nRetour = AppelDLL32(sDLL,"SilOuvrirSession","",sRep,"LTH TEMP","LAURENT","","","")
SI nRetour<>0 ALORS
ExceptionDéclenche(1,"SilOuvrirSession : "+nRetour+RC+ErreurInfo(errComplet))
FIN
nRetour = AppelDLL32(sDLL,"SilOuvrirApplication","CDE",&nId)
SI nRetour<>0 ALORS
ExceptionDéclenche(4,"SilOuvrirApplication : "+nRetour+RC+ErreurInfo(errComplet))
FIN
Info("Valeur retourné de CDE : "+nId)
nRetour = AppelDLL32(sDLL,"SilEnteteFin",nId)
SI nRetour<>0 ALORS
ExceptionDéclenche(4,"SilEnteteFin : "+nRetour+RC+ErreurInfo(errComplet))
FIN
nRetour = AppelDLL32(sDLL,"SilLireChaine",nId,"COME.NoCommande",&sChaineLu)
SI nRetour<>0 ALORS
ExceptionDéclenche(4,"SilLireChaine : "+nRetour+RC+ErreurInfo(errComplet))
FIN
Info("Valeur retourné de SilLireChaine CDE : "+sChaineLu)
nRetour = AppelDLL32(sDLL,"SilFermerApplication",nId)
SI nRetour<>0 ALORS
ExceptionDéclenche(4,"SilFermerApplication : "+nRetour+RC+ErreurInfo(errComplet))
FIN
nRetour = AppelDLL32(sDLL,"SilFermerSession")
SI nRetour<>0 ALORS
ExceptionDéclenche(4,"SilFermerSession : "+nRetour+RC+ErreurInfo(errComplet))
FIN
//DéchargeDLL(nIdDLLSilog)
Sablier(Faux)
Info("Fin du traitement")
Donnez votre avis sur la Base de connaissance Silog ici ou contactez-nous directement par mail sur confluence@silog.fr