Voici une procédure simple pour envoyer les valeurs de champs de saisie Windev vers une page php affichée dans un champ ActiveX "Shell.Explorer" avec la méthode HTTP POST.
La méthode POST permet d'envoyer plus de 2 mo de caractères contre 256 avec la méthode GET (passage de paramètres dans l'Url).
La procédure consiste à générer un formulaire html dans un fichier local qui sera ensuite soumis au script php destinataire.
Ma fenêtre Windev contient 3 champs de saisie : Sai_Nom, Sai_Prenom et Sai_Age et un champ ActiveX AX_IE.
Procédure GenereHTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 oActiveX est un objet OLE dynamique sActiveX est une chaîne sActiveX = AX_IE..Nom {sActiveX,indChamp} = "Shell.Explorer" // Instanciation OK ? oActiveX = {sActiveX,indChamp} SI oActiveX = Null ALORS FinProgramme("L'ActiveX Internet Explorer n'a pas pu être chargé.") FIN //Générer le HTML du formulaire sUrl est une chaîne sFiHTML est une chaîne sUrl = "http://MaPage.php" sFiHTML = GenereHTML(sUrl,Faux) oActiveX>>Navigate(sFiHTML) Multitâche(-10) TANTQUE oActiveX>>Busy Multitâche(-10) FIN oForm est un objet OLE dynamique oForm = oActiveX>>Document>>getElementById("myform") SI oForm <> Null QUAND EXCEPTION DANS RENVOYER oForm>>Submit FAIRE Erreur(ExceptionInfo()) RENVOYER Faux FIN FIN
Procédure AddInput :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 PROCEDURE GenereHTML(_sFormAction est une chaîne,_bVisible est un booléen=Vrai) LOCAL sFiHTML est une chaîne sHTML est une chaîne sDisplay est une chaîne sFiHTML = ComplèteRep(fRepExe())+"Formulaire.html" SI _bVisible ALORS sDisplay = "display:block" SINON sDisplay = "display:none" FIN sHTML += "<html>" sHTML += "<head>" sHTML += "<title>" sHTML += "Formulaire" sHTML += "</title>" sHTML += "</head>" sHTML += "<body>" sHTML += "<div id='divForm' style='"+sDisplay+"'>" sHTML += "<form method='post' id='myform' action='"+_sFormAction+"' >" sHtml += AddInput(Sai_Nom..Nom,Sai_Nom..Valeur) sHTML += AddInput(Sai_Prenom..Nom,Sai_Prenom..Valeur) sHTML += AddInput(Sai_Age..Nom,Sai_Age..Valeur) sHTML += "<input type='submit' value='Valider' />" sHTML += "</form>" sHTML += "</div>" sHTML += "</body>" sHTML += "</html>" fSauveTexte(sFiHTML,shtml) RENVOYER sFiHTML
Bonne prog
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 PROCEDURE AddInput(_sName est une chaîne,_sValue est une chaîne) RENVOYER "<p><input type='text' name='"+_sName+"' value='"+_sValue+"' /></p>"
Partager