is, isw routines...[résolu] - C++ - Programmation
Marsh Posté le 14-04-2003 à 15:47:25
backdafuckup a écrit : J'ai regardé dans msdn les fonctions is et isw. N'existe t il pas une fonction genre isnumeric() de php, qui évalue la chaine entière et non pas un seul caractère. |
ah ben ca c tout con, tu regle ca dans le classe wizard (eg tu associe une variable a ton edit, tu donnes les bornes min et max et pis vala)
Marsh Posté le 14-04-2003 à 15:50:29
chrisbk a écrit : |
tiens j'y avais pas pensé....
Merci
edit : Mais une petite remarque quand même, mon but n'est pas de fixer une limite à l'utilisateur (vu que ce sont des tensions donc il les règles comme il veut), mais simplement de vérifier que ce qu'il rentre dans les cases (7 en tout) est bien un nombre positif ou négatif... mais bon, pour l'instant je v faire comme ca, mais faut que j'en parle à ma chef... elle risque de peut etre être moins d'accord..
edit2 : et en plus ce que tu m'as dit c cool, mais ca empeche pas l'utilisateur de rentrer une lettre.... (et ca met 0 à l'affichage de la valeur après, ce qui pas forcément bon...)
Marsh Posté le 14-04-2003 à 16:08:16
ben chez moi si je mets une lettre, a la prochaine action que j'effectue, le programme me dit automatiquement "please enter an integer". Donc pas de probleme de ce cote la.
Et pour tes valeurs limite, tu n'es pas oblige de les fixer. Tu peux laisser les cases vides. La seule chose que tu ne peux faire, c'est d'en fiser une et pas l'autre. C'est tout ou rien
Marsh Posté le 14-04-2003 à 16:10:13
polo021 a écrit : ben chez moi si je mets une lettre, a la prochaine action que j'effectue, le programme me dit automatiquement "please enter an integer". Donc pas de probleme de ce cote la. |
t'en as de la chance toi... !
Moi si je mets une lettre, il dit rien, mais en plus il remplace la valeur par 0 !!!
Marsh Posté le 14-04-2003 à 16:14:20
backdafuckup a écrit : |
essaye de mettre un bouton a cote. Tu saisis une lettre et tu cliques sur le bouton. Y se passe quoi?
Marsh Posté le 14-04-2003 à 16:19:22
polo021 a écrit : |
Ben rien.
Je fais une vérification juste pour savoir si le champ est vide ou non (comparaison avec "" ).
C'est une fenetre de paramétrage. Si je tape une lettre, la fenetre se ferme correctement, et quand je vais sur la fenetre de consultation et que je fais "mise à jour des valeurs", il me met, la ou j'ai entré une lettre, 0... c'est tout...
Marsh Posté le 14-04-2003 à 16:24:49
Ah mais non c bon en fait.
J'avais oublie le UpdateData(TRUE)
La maintenant il me dit "veuillez taper un nombre entier" (moi je développe en français...
Mais par contre, du coup, comme il y a 7 variables, il me les mets toutes à 0 dès qu'il rencontre une erreur de ce type la...
Ya pas un moyen de parametrer ca, ou bien de faire un truc du genre "OnError", ou une gestion d'exception (je sais pas le faire ca.. )
Marsh Posté le 14-04-2003 à 16:34:53
backdafuckup a écrit : Ah mais non c bon en fait. |
ben chez moi, il me selectionne (affiche en bleu) l'edit ou est l'erreur en commencant par celui qui a ete cree en premier et ainsi de suite.
Mais sinon rien ne t'empeches de faire un truc a la main comme:
OnChange sur ton edit et tu verifies si le contenu est < le maximum des entier et > que le minimum des entiers. Ces deux valeurs sont definies mais je ne sais plus ou. A toi de les chercher
EDIT : limits.h INT_MAX et INT_MIN
Marsh Posté le 14-04-2003 à 16:42:34
polo021 a écrit : |
ah ben encore une fois t'as de la chance, moi, comme code, j'ai ca :
Code :
|
Voila, donc dès qu'il plante (sur UpdateDate je pense, il set toutes les valeurs à 0 (je lui ai rien demandé moi...) et il execute EndDialog(); Donc mes valeurs sont mises à 0.
Et je le répète, je veux pas de min et de max, je veux juste que ce soit pas une lettre qui soit tapée, et si c une lettre, alors la fenetre reste, on saisit tant que c'est pas un entier !!
Edit : je sens venir le découpage de chaine et l'utilisation de isdigit()..... fais chier.. j'voulais pas....
Marsh Posté le 14-04-2003 à 16:51:03
ben c'est assez bizarre parce que si tu veux decouper ta chaine du vas quand meme devoir faire le UpdateData(TRUE), non? et donc ca va encore planter si l'user a entre une lettre.
Marsh Posté le 14-04-2003 à 16:54:24
polo021 a écrit : ben c'est assez bizarre parce que si tu veux decouper ta chaine du vas quand meme devoir faire le UpdateData(TRUE), non? et donc ca va encore planter si l'user a entre une lettre. |
oui, mais à ce moment la, je me servirais pas des 'member variable'...
T'as vraiment aucune autre idée ?
Et les autres qui m'ont autrefois aidé vous avez pas une solution ?
Marsh Posté le 14-04-2003 à 16:59:31
backdafuckup a écrit : |
si, tu mets un label devant ton Edit box "Entrez un entier"
Non serieux, c'en est fini pour moi, je suis pas assez malin non plus pour ca
deux nuls ensemble ca a jamais fait un pro
Marsh Posté le 14-04-2003 à 17:02:29
polo021 a écrit : |
Ben t pas nul, moi je le suis, toi t'essaies de m'aider !! Donc tu fais ce que tu peux...
Mais c vrai que l'aide de gens qui s'y connaissent mieux que nous serait la bienvenue...
Harkonnen, visualC++, antp, chrisbk, et les autres.. vous faites quoi ? Vous ignorez mes topics ???
edit :
polo021 a écrit : |
Ouais pk pas....
Mais j'aurais peur que ma chef de projet fasse un peu la gueule...
Marsh Posté le 14-04-2003 à 17:04:53
pour la suite ne up pas ton topic toutes les 5 minutes sinon c'est sur que ca va pas plaire, donc pas d'aide en perspective
Marsh Posté le 14-04-2003 à 17:06:46
polo021 a écrit : pour la suite ne up pas ton topic toutes les 5 minutes sinon c'est sur que ca va pas plaire, donc pas d'aide en perspective |
de toute facon, moi je m'en vais, ma journée est finie..
Réponde qui veut bien, je regarderais ca demain matin...
Merci polo en tout cas, meme si tu m'as pas aidé, au moins t solidaire... ++
Marsh Posté le 15-04-2003 à 08:11:13
pis genre tester le code de retour de UpdateData poursavoir si ca a marche ou pas ?
Marsh Posté le 15-04-2003 à 08:53:56
chrisbk a écrit : pis genre tester le code de retour de UpdateData poursavoir si ca a marche ou pas ? |
c'est à dire ?
genre un truc comme ca ?
Code :
|
ca marcherait ca ?
Marsh Posté le 15-04-2003 à 09:02:24
non il manque une parenthese a la fin du if
(bah essaye quoi )
Marsh Posté le 15-04-2003 à 09:34:54
chrisbk a écrit : non il manque une parenthese a la fin du if |
Trop fort, ca marche....
Merci monsieur !
Marsh Posté le 14-04-2003 à 15:39:45
J'ai regardé dans msdn les fonctions is et isw. N'existe t il pas une fonction genre isnumeric() de php, qui évalue la chaine entière et non pas un seul caractère.
En fait, j'aurais besoin de cette fonction pour m'indiquer si le contenu d'un CEdit (MFC) est bien un nombre (positif ou négatif.. c ca le pb...). Comment faire (sans découper la chaine...) ?
Message édité par backdafuckup le 15-04-2003 à 09:42:22