Classe pour afficher un captcha graphique en windev 25 (01F250052J). Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! CCaptcha est une Classe PRIVÉ m_sChaîneCaptcha est une chaîne m_nCaractère est un entier m_bInfoCheck est un booléen m_Image est une Image FIN PROCÉDURE Constructeur() m_sChaîneCaptcha = "" m_bInfoCheck = Faux //************** PROCÉDURE getCaptcha(ImgName) // reçois en paramètre le Nom du champ Image InitHasard() BOUCLE (6) // 6 caractères // Génère un nombre au hasard dans l'intervalle 65-122 (A-z) m_nCaractère = Hasard(65,122) // On ne prend pas les caractères compris entre 91 et 96 TANTQUE (91 <= m_nCaractère <= 96) m_nCaractère = Hasard(65,122) FIN // Complète et concatène la chaîne m_sChaîneCaptcha += Caract(m_nCaractère) FIN // Paramètres du texte polPolice est une Police polPolice..Nom = "Lucida Fax" polPolice..Gras = Vrai polPolice..Taille = 25 polPolice..Barré = Vrai polPolice..Couleur = CyanFoncé polPolice..Angle = Hasard(-11,11) // Dessin du texte dans l'image dDébutDessin({ImgName,indChamp}) dPolice({ImgName,indChamp},polPolice) dTexte(20, 10, m_sChaîneCaptcha) RENVOYER m_sChaîneCaptcha //*************** PROCÉDURE checkCaptcha(r,v) m_bInfoCheck = Faux SI v = r ALORS m_bInfoCheck = Vrai SINON m_bInfoCheck = Faux FIN RENVOYER m_bInfoCheck //************************** //code de le fenêtre PROCÉDURE MaFenêtre() gpclSCp est CCaptcha dynamique r est une chaîne ExécuteTraitement(BTN_Affiche,trtClic) //*********** //code du bouton Afficher (rafraichir) gpclSCp = new CCaptcha r = gpclSCp.getCaptcha(IMG_Captcha.Nom) delete gpclSCp RepriseSaisie(SAI_Vérification) //********** //code du bouton Go (vérification) gpclSCp = new CCaptcha SI gpclSCp.checkCaptcha(r,SAI_Vérification) ALORS Info("captcha ok") SINON Erreur("erreur") ExécuteTraitement(BTN_Affiche,trtClic) FIN delete gpclSCp