A voir également:
- [HTML => C] Récupération de variables
- Editeur html - Télécharger - HTML
- Convertisseur récupération de texte - Guide
- Br html ✓ - Forum Webmastering
- Impossible de récupérer mon compte gmail - Guide
- Espace html ✓ - Forum HTML
14 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
18 juil. 2007 à 16:05
18 juil. 2007 à 16:05
Bonjour,
Tes <select>, et plus précisément les <option> qui le composent, ne renvoient aucune valeur ! Il est donc normal que tu aies du mal à les récupérer...
Voilà ce que tu devrais avoir :
Xavier
Tes <select>, et plus précisément les <option> qui le composent, ne renvoient aucune valeur ! Il est donc normal que tu aies du mal à les récupérer...
Voilà ce que tu devrais avoir :
<select name="Dizaine"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> <select name="Unites"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select>Après, pour récupérer les valeurs, il faut parser l'URL appelante, qui sera de la forme [http://serveur.domaine/[adresse/]page.html?Unites=X&Dizaines=Y]
Xavier
nils28
Messages postés
9
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
1 avril 2009
18 juil. 2007 à 16:30
18 juil. 2007 à 16:30
ok mais comment initialiser mes variables avec les valeur entrée dans la fenetre HTML dans mon programme en C :
?
int dizaine; // chiffre des dizaines reçu de l'appli HTML int unite; // chiffre des unités reçu de l'appli HTML
?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
18 juil. 2007 à 16:41
18 juil. 2007 à 16:41
Il n'y a pas de façon générique de traiter une page html en C... Tout dépend de comment est construit ton programme...
Il y a très certainement une variable qui contienne l'URL appelée par le navigateur. C'est cette URL qu'il faut analyser pour en faire ressortir, comme je l'ai dit, les unités et dizaines.
Mais je ne peux pas t'en dire plus sans connaître exactement ton application !
Il y a très certainement une variable qui contienne l'URL appelée par le navigateur. C'est cette URL qu'il faut analyser pour en faire ressortir, comme je l'ai dit, les unités et dizaines.
Mais je ne peux pas t'en dire plus sans connaître exactement ton application !
Salut,
Dans le pire des cas, si cette variable n'existe pas ou est trop bien cachée, tu peux t'amuser à le faire en javascript en utilisant un contrôle activex pour te permettre d'appeler un programe sur la machine locale
explications ici : http://marcel-bultez.chez-alice.fr/documents/JS_DLL.htm
Bon courage!
Dans le pire des cas, si cette variable n'existe pas ou est trop bien cachée, tu peux t'amuser à le faire en javascript en utilisant un contrôle activex pour te permettre d'appeler un programe sur la machine locale
explications ici : http://marcel-bultez.chez-alice.fr/documents/JS_DLL.htm
Bon courage!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nils28
Messages postés
9
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
1 avril 2009
18 juil. 2007 à 16:58
18 juil. 2007 à 16:58
Mon application en C c'est juste convertir les deux données (qui sont en décimal) en BCD et sortir ces 2 codes BCD vers un port du composant pour, dans un premier temps, afficher le résultat sur des LED.
L'appli complete (de test) se fera de la facon suivante :
1) je me connecte au webserveur du composant en entrant l'adresse IP de celui-ci :
https://www.xxx.xxx/
2) cela affichera la page html que j'ai créé.
3) l'utilisateur choisi les deux chiffres,
4) a l'appuis sur le bouton valide, les deux variables en C sont initialisées par les valeurs entrées précédement,
5) convertion BCD
6) envoi vers les port de sortie du composant pour afficher sur les LEDs.
Actuellement je travaille sur mon disque dur pour ne pas tjs etre obligé de transférer vers le composant. Je lance donc index.html. Et lorsque je fait valider il me demande de télécharger le fichier Prog_C.exe qui n'est autre qu'un main( ) vide (car je ne sais pas ce qu'il faut que je mette dedans ni les lib a ajouter).
Ai-je donc la bonne "action" dans ma balise form?
Ce que je n'arrive pas c'est juste la partie 4) car quand j'aurai les deux variables initialisées je n'aurai auncun pb pour construire mon code C.
Dans me recherches, j'ai lu qu'on pouvai utiliser les cgi mais impossible a mettre en oeuvre ....
Merci
L'appli complete (de test) se fera de la facon suivante :
1) je me connecte au webserveur du composant en entrant l'adresse IP de celui-ci :
https://www.xxx.xxx/
2) cela affichera la page html que j'ai créé.
3) l'utilisateur choisi les deux chiffres,
4) a l'appuis sur le bouton valide, les deux variables en C sont initialisées par les valeurs entrées précédement,
5) convertion BCD
6) envoi vers les port de sortie du composant pour afficher sur les LEDs.
Actuellement je travaille sur mon disque dur pour ne pas tjs etre obligé de transférer vers le composant. Je lance donc index.html. Et lorsque je fait valider il me demande de télécharger le fichier Prog_C.exe qui n'est autre qu'un main( ) vide (car je ne sais pas ce qu'il faut que je mette dedans ni les lib a ajouter).
Ai-je donc la bonne "action" dans ma balise form?
<form method="get" action="Prog_C.exe" name=" test=">
Ce que je n'arrive pas c'est juste la partie 4) car quand j'aurai les deux variables initialisées je n'aurai auncun pb pour construire mon code C.
Dans me recherches, j'ai lu qu'on pouvai utiliser les cgi mais impossible a mettre en oeuvre ....
Merci
Une autre solution puisque apparemment tu n'aimes pas mes controles activeX, serait d'utiliser les cookies.
Je l'ai jamais fait mais je pense que cela doit être réalisable
Tu les initialises en javascript juste à l'événement du click
Tu appelles toujours ton executable. Et après si tu maîtrises la chose tu peux t'amuser à parser le fichier contenant le cookie que tu as créé.
Puisque tu es sous xp, les cookies sont stockés sous : C:\Documents and Settings\<USER>\Cookies
Maintenant à toi de faire des recherches sur le "comment sont formatter ces fichiers"
Ca te fait deux méthodes au moins pour résoudre ton problème
Je l'ai jamais fait mais je pense que cela doit être réalisable
Tu les initialises en javascript juste à l'événement du click
function SetCookie (name, value) { //creation du cookie de nom name et de valeur saisie en paramètre document.cookie = name +"=" + value + ";" ; }
Tu appelles toujours ton executable. Et après si tu maîtrises la chose tu peux t'amuser à parser le fichier contenant le cookie que tu as créé.
Puisque tu es sous xp, les cookies sont stockés sous : C:\Documents and Settings\<USER>\Cookies
Maintenant à toi de faire des recherches sur le "comment sont formatter ces fichiers"
Ca te fait deux méthodes au moins pour résoudre ton problème
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
18 juil. 2007 à 17:15
18 juil. 2007 à 17:15
Thiby, je ne pense pas que tes solutions résolvent le problème. Tes traitements se font chez le client, alors que ce qui est demandé, c'est de la faire sur le serveur...
Nils28, je ne sais pas trop quoi faire pour toi. En effet, ce qu'il te manque, c'est une couche de connexion entre ton serveur web et ton programme en C. Car pour le moment, tout ce que tu obtiendrais serait de télécharger le programme, et non pas de l'excéuter. Il faut dire à ton serveur que le .exe doit être exécuté en lui donnant certains arguments en entrée, mais là, je ne sais pas faire.
Pour faire ce genre de choses, en général on utilise plutôt des langages dédiés au web, comme le php, ou une plateforme .net en asp/c#...
En C, c'est faisable, mais je ne sais pas comment.
Xavier
Nils28, je ne sais pas trop quoi faire pour toi. En effet, ce qu'il te manque, c'est une couche de connexion entre ton serveur web et ton programme en C. Car pour le moment, tout ce que tu obtiendrais serait de télécharger le programme, et non pas de l'excéuter. Il faut dire à ton serveur que le .exe doit être exécuté en lui donnant certains arguments en entrée, mais là, je ne sais pas faire.
Pour faire ce genre de choses, en général on utilise plutôt des langages dédiés au web, comme le php, ou une plateforme .net en asp/c#...
En C, c'est faisable, mais je ne sais pas comment.
Xavier
nils28
Messages postés
9
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
1 avril 2009
18 juil. 2007 à 17:15
18 juil. 2007 à 17:15
Le truc c'est que je ne connais pas du tout la programmation javascipt c'est limite si je connais le html.
Je suis plutot un dev en electonique donc en C.
Je suis plutot un dev en electonique donc en C.
Euh désolé je croyais que le programme était sur le client. Il est vrai dans ce cas que la deuxième méthode ne marche pas si on ne veut pas télécharger.
Par contre la première méthode j'en suis moins sûr. Mais j'ai pas testé non plus :s. Tu pourrais me le confirmer Reivax962? Parce que çà pourrait vraiment être intéressant si çà le faisait...
Maintenant si tu installes un serveur (genre Apache pour ne pas citer de nom), tu n'auras plus aucun problème en utilisant php. Et honnêtement le php reste un langage très simple (le plus simple après l'html). Il y a de très bon tuto pour te permettre de l'installer.
Le défaut c'est que tu es obligé de passer par le serveur. Tu ne peux donc pas simplement lancé une page html comme cela. Ce que je pense que tu veux faire, nan?
Par contre la première méthode j'en suis moins sûr. Mais j'ai pas testé non plus :s. Tu pourrais me le confirmer Reivax962? Parce que çà pourrait vraiment être intéressant si çà le faisait...
Maintenant si tu installes un serveur (genre Apache pour ne pas citer de nom), tu n'auras plus aucun problème en utilisant php. Et honnêtement le php reste un langage très simple (le plus simple après l'html). Il y a de très bon tuto pour te permettre de l'installer.
Le défaut c'est que tu es obligé de passer par le serveur. Tu ne peux donc pas simplement lancé une page html comme cela. Ce que je pense que tu veux faire, nan?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
18 juil. 2007 à 19:37
18 juil. 2007 à 19:37
Désolé, je ne me suis jamais réellement intéressé à cette technologie, qui à mon avis est trop restrictive de par son aspect propriétaire qui exclu d'office 25% des utilisateurs (pour un site grand public, du moins). Donc je ne peux pas t'en dire plus, ni infirmer, ni confirmer ceci...
nils28
Messages postés
9
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
1 avril 2009
18 juil. 2007 à 17:45
18 juil. 2007 à 17:45
exact ;) mais le pb n'est pas là car mon composant qui joue le rôle de serveur sais le faire sans pb. Il sait lancer des pages HTML lorsque l'on entre son IP dans le navigateur internet.
Ben disons que le problème est en partie là à vrai dire.
Parce que si tu veux passer par un serveur, alors tu peux lui faire faire n'importe quoi en y installant ce qu'il faut. (php, servlet, ...)
Mais si tu veux lancer ton programme juste en double cliquant sur une page html, là les possibilités sont beaucoup plus restreintes à mon avis.
A toi de voir si tu as envie de te lancer dans une aventure php, ou autre...
Parce que perso comme Reivax962, je vois pas bien comment faire. A part peut etre avec les controles activex, mais la ca demande quelque tests avant de dire que ca fonctionne.
Maintenant si quelqu'un qui a un cerveau passe sur ce sujet, on aura peut être une réponse positive dans ce que tu veux. Perso, çà m'intéresserait beaucoup de le voir! :)
Parce que si tu veux passer par un serveur, alors tu peux lui faire faire n'importe quoi en y installant ce qu'il faut. (php, servlet, ...)
Mais si tu veux lancer ton programme juste en double cliquant sur une page html, là les possibilités sont beaucoup plus restreintes à mon avis.
A toi de voir si tu as envie de te lancer dans une aventure php, ou autre...
Parce que perso comme Reivax962, je vois pas bien comment faire. A part peut etre avec les controles activex, mais la ca demande quelque tests avant de dire que ca fonctionne.
Maintenant si quelqu'un qui a un cerveau passe sur ce sujet, on aura peut être une réponse positive dans ce que tu veux. Perso, çà m'intéresserait beaucoup de le voir! :)
Salut!
Je voudrais faire un petit up : as-tu trouver une solution à ce probleme car j'ai le même. J'utilise un système de CGI.
J'arrive donc a faire ceci pour le moment : si j'ai une image et que j'appui dessus j'arrive à le savoir. J'arrive à écrire des données sur ma page client/serveur mais comme toi Nils28 je n'arrive pas à récupérer les données d'un formulaire ou d'un simple texte.
Voila mon code html :
<label>variable1 : <input type="text" name="ma_variable1"/></label>
<textarea cols="10" rows="1" name="<!--echo var="ma_variable2"-->">
Je voudrais faire un petit up : as-tu trouver une solution à ce probleme car j'ai le même. J'utilise un système de CGI.
J'arrive donc a faire ceci pour le moment : si j'ai une image et que j'appui dessus j'arrive à le savoir. J'arrive à écrire des données sur ma page client/serveur mais comme toi Nils28 je n'arrive pas à récupérer les données d'un formulaire ou d'un simple texte.
Voila mon code html :
<label>variable1 : <input type="text" name="ma_variable1"/></label>
<textarea cols="10" rows="1" name="<!--echo var="ma_variable2"-->">
Salut!
Je voudrais faire un petit up : as-tu trouver une solution à ce probleme car j'ai le même. J'utilise un système de CGI.
J'arrive donc a faire ceci pour le moment : si j'ai une image et que j'appui dessus j'arrive à le savoir. J'arrive à écrire des données sur ma page client/serveur mais comme toi Nils28 je n'arrive pas à récupérer les données d'un formulaire ou d'un simple texte.
Voila mon code html :
<label>variable1 : <input type="text" name="ma_variable1"/></label>
<textarea cols="10" rows="1" name="<!--echo var="ma_variable2"-->"></textarea>
<A HREF="/send.cgi"><img src="mon_image.gif"/></A>
et de l'autre coté en C j'ai une correspondance entre le CGI et ma fonction send qui permet simplement d'afficher mes deux variables :
char var1[4];
char var2[4];
int send(httpstate *state)
{
printf("variable1 : %s",var1);
printf("variable1 : %s",var2);
cgi_redirectto(state, redirecto)
return 0;
}
Merci pour vos réponses :)
Je voudrais faire un petit up : as-tu trouver une solution à ce probleme car j'ai le même. J'utilise un système de CGI.
J'arrive donc a faire ceci pour le moment : si j'ai une image et que j'appui dessus j'arrive à le savoir. J'arrive à écrire des données sur ma page client/serveur mais comme toi Nils28 je n'arrive pas à récupérer les données d'un formulaire ou d'un simple texte.
Voila mon code html :
<label>variable1 : <input type="text" name="ma_variable1"/></label>
<textarea cols="10" rows="1" name="<!--echo var="ma_variable2"-->"></textarea>
<A HREF="/send.cgi"><img src="mon_image.gif"/></A>
et de l'autre coté en C j'ai une correspondance entre le CGI et ma fonction send qui permet simplement d'afficher mes deux variables :
char var1[4];
char var2[4];
int send(httpstate *state)
{
printf("variable1 : %s",var1);
printf("variable1 : %s",var2);
cgi_redirectto(state, redirecto)
return 0;
}
Merci pour vos réponses :)
J'ai trouvé... J'ai fait un formulaire HTML dans lequel en action j'ai mis le nom de mon cgi (en GET).
Ensuite j'ai créé une fonction dans mon code C permettant de parser les infos retournées par le html. (infos que l'on retrouve dans le changement d'url : http://xxx.xxx.xxx.xxx/var1=resultat1&var2=resultat2...
Ainsi dans mon code C j'arrive à récupérer les données en parsant les noms des variables se trouvant avant le = et les contenus des variables contenues entre le = et le var. C'est une fonction que l'on a trouver toute faite sur Dynamic C pour la rabbit 2000.
A+ ^^
Ensuite j'ai créé une fonction dans mon code C permettant de parser les infos retournées par le html. (infos que l'on retrouve dans le changement d'url : http://xxx.xxx.xxx.xxx/var1=resultat1&var2=resultat2...
Ainsi dans mon code C j'arrive à récupérer les données en parsant les noms des variables se trouvant avant le = et les contenus des variables contenues entre le = et le var. C'est une fonction que l'on a trouver toute faite sur Dynamic C pour la rabbit 2000.
A+ ^^