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.

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 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
 
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
Procédure AddInput :
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>"
Bonne prog