OVH Cloud OVH Cloud

ATT. Quasimodo

6 réponses
Avatar
Monalisa
Je suis vraiment débutant dans le language VB, je m'amuse un peu avec l'aide
d'un livre.

Pourrais-tu me donner un exemple dequel facon je peu faire mon programme
pour qu'il soit compatible avec n'importe quel format de clavier. J'ai
trouvé que VB utilise seulement le "." comme séparateur décimal.

Merci



Monalisa expressed precisely :
> Bonjour, je me fait une calculatrice. Le probleme est que je suis en
> clavier
> francais Canada, quand je fait des calculs avec des séparateurs décimeaux
> je
> doit pouvoir mettre le nombre avec un point et mes parametres sont avec
> une
> virgule. Comment je peut faire pour gardé le point durant tout mon calcul
> sans que cette virgule vienne me hanté au milieu des opérations.
>
> Merci

Bonjour,
Je vous conseille d'utiliser les fonctions api qui vous retournent
le(s) séparateur(s) décimal(ux).
Si vous faite le teste, vous pouvez utiliser comme séparateur décimal,
ceci $$ ou cela ~~, ..., ce n'est pas logique mais c'est possible.
Aussi, quel séparateur d. vous allez utiliser, celui des currencys ou
des numérics.
Et pour terminer, je pense que vouloir changer des séparateurs d. dans
votre application, n'est pas logique surtout si vous voulez distribuer
votre application. Ceci, du fait que ce choix est innérant au user (os
+ user) et pas au concepteur du programme.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com

6 réponses

Avatar
ng
Salut,

En effet en interne (c-a-d qd tu tapes des chiffres dans ton code) il faut
utiliser le point, quelque soit le systeme, le raison est très simple : la ,
rentrerai en conflit avec la , permettant de séparer les arguments :

'//Maintenant avec un .
Call Test(1.1,2) '//ok ca roule
'//Maintenant avec une ,
Call Test(1,1,2) '//erreur ! la fonction ne prend que 2 arguments

Public Sub Test(arg1 as double, arg2 as integer)
'//code
End Sub

Sinon là au ca change c'est au niveau utilisateur (saisie de données dans un
textbox), il faut savoir interpreter ces données quelque soit le séparateur
décimal, aisni pour faire une conversion avec val il faudra remplacer le
séparateur de l'utilisateur par un point :

Dim lVal as long
lVal = Val(Replace(Text1.Text, DecimalSeparaor(), "."))

Public Function DecimalSeparaor() As String
DecimalSeparaor = Mid$(CStr(0.5), 2, 1)
End Function

Certains diront que ma fonction DecimalSeparaor() est limitée car elle ne
prend en charge que le premier caractère du séparateur : cela est vrai mais
il rare d'avoir des séparateurs sur plusierus caractères.
Toutefois si cela ne te plait pas tu as toujours les APIs.

Aussi tu peux stocker le séparateur au debut de ton prog afin d'éviter de le
recalculer sans arret.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Monalisa wrote:
Je suis vraiment débutant dans le language VB, je m'amuse un peu avec
l'aide d'un livre.

Pourrais-tu me donner un exemple dequel facon je peu faire mon
programme pour qu'il soit compatible avec n'importe quel format de
clavier. J'ai trouvé que VB utilise seulement le "." comme séparateur
décimal.
Merci



Monalisa expressed precisely :
Bonjour, je me fait une calculatrice. Le probleme est que je suis en
clavier
francais Canada, quand je fait des calculs avec des séparateurs
décimeaux je
doit pouvoir mettre le nombre avec un point et mes parametres sont
avec une
virgule. Comment je peut faire pour gardé le point durant tout mon
calcul sans que cette virgule vienne me hanté au milieu des
opérations. Merci



Bonjour,
Je vous conseille d'utiliser les fonctions api qui vous retournent
le(s) séparateur(s) décimal(ux).
Si vous faite le teste, vous pouvez utiliser comme séparateur décimal,
ceci $$ ou cela ~~, ..., ce n'est pas logique mais c'est possible.
Aussi, quel séparateur d. vous allez utiliser, celui des currencys ou
des numérics.
Et pour terminer, je pense que vouloir changer des séparateurs d. dans
votre application, n'est pas logique surtout si vous voulez distribuer
votre application. Ceci, du fait que ce choix est innérant au user (os
+ user) et pas au concepteur du programme.

@+Quaz


Avatar
LE TROLL
Salut, eh, ça ne te déranges pas de t'adresser au groupe, et non pas
à une personne en particulier, si c'est ainsi que tu veux procéder, il faut
lui écrire par mail, mais ici, on s'adresse à tous :o)
---

"Monalisa" a écrit dans le message de news:
8W9pd.51825$
Je suis vraiment débutant dans le language VB, je m'amuse un peu avec
l'aide
d'un livre.

Pourrais-tu me donner un exemple dequel facon je peu faire mon programme
pour qu'il soit compatible avec n'importe quel format de clavier. J'ai
trouvé que VB utilise seulement le "." comme séparateur décimal.

Merci



Monalisa expressed precisely :
Bonjour, je me fait une calculatrice. Le probleme est que je suis en
clavier
francais Canada, quand je fait des calculs avec des séparateurs décimeaux
je
doit pouvoir mettre le nombre avec un point et mes parametres sont avec
une
virgule. Comment je peut faire pour gardé le point durant tout mon calcul
sans que cette virgule vienne me hanté au milieu des opérations.

Merci



Bonjour,
Je vous conseille d'utiliser les fonctions api qui vous retournent
le(s) séparateur(s) décimal(ux).
Si vous faite le teste, vous pouvez utiliser comme séparateur décimal,
ceci $$ ou cela ~~, ..., ce n'est pas logique mais c'est possible.
Aussi, quel séparateur d. vous allez utiliser, celui des currencys ou
des numérics.
Et pour terminer, je pense que vouloir changer des séparateurs d. dans
votre application, n'est pas logique surtout si vous voulez distribuer
votre application. Ceci, du fait que ce choix est innérant au user (os
+ user) et pas au concepteur du programme.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com




Avatar
Quasimodo
Monalisa brought next idea :
Je suis vraiment débutant dans le language VB, je m'amuse un peu avec l'aide
d'un livre.

Pourrais-tu me donner un exemple dequel facon je peu faire mon programme
pour qu'il soit compatible avec n'importe quel format de clavier. J'ai
trouvé que VB utilise seulement le "." comme séparateur décimal.

Merci



Monalisa expressed precisely :
Bonjour, je me fait une calculatrice. Le probleme est que je suis en
clavier
francais Canada, quand je fait des calculs avec des séparateurs décimeaux
je
doit pouvoir mettre le nombre avec un point et mes parametres sont avec une
virgule. Comment je peut faire pour gardé le point durant tout mon calcul
sans que cette virgule vienne me hanté au milieu des opérations.

Merci



Bonjour,
Je vous conseille d'utiliser les fonctions api qui vous retournent
le(s) séparateur(s) décimal(ux).
Si vous faite le teste, vous pouvez utiliser comme séparateur décimal,
ceci $$ ou cela ~~, ..., ce n'est pas logique mais c'est possible.
Aussi, quel séparateur d. vous allez utiliser, celui des currencys ou
des numérics.
Et pour terminer, je pense que vouloir changer des séparateurs d. dans
votre application, n'est pas logique surtout si vous voulez distribuer
votre application. Ceci, du fait que ce choix est innérant au user (os
+ user) et pas au concepteur du programme.

@+Quaz



re,
Je viens de répondre à votre question dans votre poste précédent voir :
22/11/2004 à 2:45 <<aide sur paramètre regionneaux>>.
Aussi, je ne donne qu'une façon de voir les choses, surement que
d'autres personnes ont des solutions différentes, mieux ou moins bien,
mais cela vous permet de vous mettre sur la voie, d'avoir de nouvelles
idées ... Donc, de coutume dans les groups, évité d'orienter vers une
personnne ou une autre votre question. Je vous invite à relir les
débats du 23/11/2004 avec comme objet <<QUI REPOND A MA QUESTION>> du
TROLL, ainsi 09/11/2004 avec comme objet <<Pour tous les autres :
DESOLE !!!>> de SALVA, Si vous avez d'autre question, svp, continuez
sur ce post. Ne créer pas de nouveau post à chaque fois pour la même
question. Pour ma part j'ai ,difficile de suivre plusieur post pour la
même question et d'y répondre dans tous.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
Quasimodo
ng pretended :
Salut,

En effet en interne (c-a-d qd tu tapes des chiffres dans ton code) il faut
utiliser le point, quelque soit le systeme, le raison est très simple : la ,
rentrerai en conflit avec la , permettant de séparer les arguments :

'//Maintenant avec un .
Call Test(1.1,2) '//ok ca roule
'//Maintenant avec une ,
Call Test(1,1,2) '//erreur ! la fonction ne prend que 2 arguments

Public Sub Test(arg1 as double, arg2 as integer)
'//code
End Sub

Sinon là au ca change c'est au niveau utilisateur (saisie de données dans un
textbox), il faut savoir interpreter ces données quelque soit le séparateur
décimal, aisni pour faire une conversion avec val il faudra remplacer le
séparateur de l'utilisateur par un point :

Dim lVal as long
lVal = Val(Replace(Text1.Text, DecimalSeparaor(), "."))

Public Function DecimalSeparaor() As String
DecimalSeparaor = Mid$(CStr(0.5), 2, 1)
End Function

Certains diront que ma fonction DecimalSeparaor() est limitée car elle ne
prend en charge que le premier caractère du séparateur : cela est vrai mais
il rare d'avoir des séparateurs sur plusierus caractères.
Toutefois si cela ne te plait pas tu as toujours les APIs.

Aussi tu peux stocker le séparateur au debut de ton prog afin d'éviter de le
recalculer sans arret.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Monalisa wrote:
Je suis vraiment débutant dans le language VB, je m'amuse un peu avec
l'aide d'un livre.

Pourrais-tu me donner un exemple dequel facon je peu faire mon
programme pour qu'il soit compatible avec n'importe quel format de
clavier. J'ai trouvé que VB utilise seulement le "." comme séparateur
décimal.
Merci



Monalisa expressed precisely :
Bonjour, je me fait une calculatrice. Le probleme est que je suis en
clavier
francais Canada, quand je fait des calculs avec des séparateurs
décimeaux je
doit pouvoir mettre le nombre avec un point et mes parametres sont
avec une
virgule. Comment je peut faire pour gardé le point durant tout mon
calcul sans que cette virgule vienne me hanté au milieu des
opérations. Merci



Bonjour,
Je vous conseille d'utiliser les fonctions api qui vous retournent
le(s) séparateur(s) décimal(ux).
Si vous faite le teste, vous pouvez utiliser comme séparateur décimal,
ceci $$ ou cela ~~, ..., ce n'est pas logique mais c'est possible.
Aussi, quel séparateur d. vous allez utiliser, celui des currencys ou
des numérics.
Et pour terminer, je pense que vouloir changer des séparateurs d. dans
votre application, n'est pas logique surtout si vous voulez distribuer
votre application. Ceci, du fait que ce choix est innérant au user (os
+ user) et pas au concepteur du programme.

@+Quaz





Bonjour,
Je réponds, que vous avez raison. MAIS, il y à tjs un mais, dans le cas
ou votre programme ne charge qu'une seule et une seule fois le
séparateur d. pendant toute la durée d'utilisation, vous ne serez pas
informé de toute mise à jour de celui par vous ou un programme tierce
des settings. Cela peut engendrer des bugs notable (dans le cadre par
exemple, d'utilisation avec des base de données, ou d'échange de
données avec d'autre application) et qui ne sont pas toujours visible,
ce qui pire. Aussi, j'ai créer pour toutes mes applications, un objet
de type clsSettings qui fait appel aux api pour les lires à chaque fois
que j'en ai besoin. Ceci, me permet d'avoir tjs les settings courantes
et d'éviter d'avoir des bugs du type : 1 séparateur au lieu de deux
comme défini dans l'os (il y à tjs un farfelu qui va faire quelque
chose d'imprévu ou de stup...).

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
YannX
Bnjr,

Je signale une approche (découverte dans une FAQ), qui permet simplement
de récupérer juste le séparateur décimal : cSep$ = Format(0,".")

Et quant au bug potentiel signalé par Quasimodo (merci du rappel a l'ordre),
je vais modifier mon programme pour rajouter l'appel à chaque entrée dans la
boucle de saisie...

@+

"Quasimodo" a écrit dans le message de
news:
ng pretended :
> Salut,
>
> En effet en interne (c-a-d qd tu tapes des chiffres dans ton code) il


faut
> utiliser le point, quelque soit le systeme, le raison est très simple :


la ,
> rentrerai en conflit avec la , permettant de séparer les arguments :
>
> '//Maintenant avec un .
> Call Test(1.1,2) '//ok ca roule
> '//Maintenant avec une ,
> Call Test(1,1,2) '//erreur ! la fonction ne prend que 2 arguments
>
> Public Sub Test(arg1 as double, arg2 as integer)
> '//code
> End Sub
>
> Sinon là au ca change c'est au niveau utilisateur (saisie de données


dans un
> textbox), il faut savoir interpreter ces données quelque soit le


séparateur
> décimal, aisni pour faire une conversion avec val il faudra remplacer le
> séparateur de l'utilisateur par un point :
>
> Dim lVal as long
> lVal = Val(Replace(Text1.Text, DecimalSeparaor(), "."))
>
> Public Function DecimalSeparaor() As String
> DecimalSeparaor = Mid$(CStr(0.5), 2, 1)
> End Function
>
> Certains diront que ma fonction DecimalSeparaor() est limitée car elle


ne
> prend en charge que le premier caractère du séparateur : cela est vrai


mais
> il rare d'avoir des séparateurs sur plusierus caractères.
> Toutefois si cela ne te plait pas tu as toujours les APIs.
>
> Aussi tu peux stocker le séparateur au debut de ton prog afin d'éviter


de le
> recalculer sans arret.
>
> --
> Nicolas G.
> FAQ VB : http://faq.vb.free.fr
> API Guide : http://www.allapi.net
> Google Groups : http://groups.google.fr/
> MZ-Tools : http://www.mztools.com/
>
> Monalisa wrote:
>> Je suis vraiment débutant dans le language VB, je m'amuse un peu avec
>> l'aide d'un livre.
>>
>> Pourrais-tu me donner un exemple dequel facon je peu faire mon
>> programme pour qu'il soit compatible avec n'importe quel format de
>> clavier. J'ai trouvé que VB utilise seulement le "." comme séparateur
>> décimal.
>> Merci
>>
>>
>>
>> Monalisa expressed precisely :
>>> Bonjour, je me fait une calculatrice. Le probleme est que je suis en
>>> clavier
>>> francais Canada, quand je fait des calculs avec des séparateurs
>>> décimeaux je
>>> doit pouvoir mettre le nombre avec un point et mes parametres sont
>>> avec une
>>> virgule. Comment je peut faire pour gardé le point durant tout mon
>>> calcul sans que cette virgule vienne me hanté au milieu des
>>> opérations. Merci
>>
>> Bonjour,
>> Je vous conseille d'utiliser les fonctions api qui vous retournent
>> le(s) séparateur(s) décimal(ux).
>> Si vous faite le teste, vous pouvez utiliser comme séparateur décimal,
>> ceci $$ ou cela ~~, ..., ce n'est pas logique mais c'est possible.
>> Aussi, quel séparateur d. vous allez utiliser, celui des currencys ou
>> des numérics.
>> Et pour terminer, je pense que vouloir changer des séparateurs d. dans
>> votre application, n'est pas logique surtout si vous voulez distribuer
>> votre application. Ceci, du fait que ce choix est innérant au user (os
>> + user) et pas au concepteur du programme.
>>
>> @+Quaz

Bonjour,
Je réponds, que vous avez raison. MAIS, il y à tjs un mais, dans le cas
ou votre programme ne charge qu'une seule et une seule fois le
séparateur d. pendant toute la durée d'utilisation, vous ne serez pas
informé de toute mise à jour de celui par vous ou un programme tierce
des settings. Cela peut engendrer des bugs notable (dans le cadre par
exemple, d'utilisation avec des base de données, ou d'échange de
données avec d'autre application) et qui ne sont pas toujours visible,
ce qui pire. Aussi, j'ai créer pour toutes mes applications, un objet
de type clsSettings qui fait appel aux api pour les lires à chaque fois
que j'en ai besoin. Ceci, me permet d'avoir tjs les settings courantes
et d'éviter d'avoir des bugs du type : 1 séparateur au lieu de deux
comme défini dans l'os (il y à tjs un farfelu qui va faire quelque
chose d'imprévu ou de stup...).

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com



Avatar
Monalisa
Un grand merci a tous pour vos réponse :-))
Milles excuses si je n'ai pas suivi les regles du groupe.....je ne l'utilise
pas beaucoup.

"Quasimodo" a écrit dans le message de news:

Monalisa brought next idea :
Je suis vraiment débutant dans le language VB, je m'amuse un peu avec
l'aide
d'un livre.

Pourrais-tu me donner un exemple dequel facon je peu faire mon programme
pour qu'il soit compatible avec n'importe quel format de clavier. J'ai
trouvé que VB utilise seulement le "." comme séparateur décimal.

Merci



Monalisa expressed precisely :
Bonjour, je me fait une calculatrice. Le probleme est que je suis en
clavier
francais Canada, quand je fait des calculs avec des séparateurs
décimeaux je
doit pouvoir mettre le nombre avec un point et mes parametres sont avec
une
virgule. Comment je peut faire pour gardé le point durant tout mon
calcul
sans que cette virgule vienne me hanté au milieu des opérations.

Merci



Bonjour,
Je vous conseille d'utiliser les fonctions api qui vous retournent
le(s) séparateur(s) décimal(ux).
Si vous faite le teste, vous pouvez utiliser comme séparateur décimal,
ceci $$ ou cela ~~, ..., ce n'est pas logique mais c'est possible.
Aussi, quel séparateur d. vous allez utiliser, celui des currencys ou
des numérics.
Et pour terminer, je pense que vouloir changer des séparateurs d. dans
votre application, n'est pas logique surtout si vous voulez distribuer
votre application. Ceci, du fait que ce choix est innérant au user (os
+ user) et pas au concepteur du programme.

@+Quaz



re,
Je viens de répondre à votre question dans votre poste précédent voir :
22/11/2004 à 2:45 <<aide sur paramètre regionneaux>>.
Aussi, je ne donne qu'une façon de voir les choses, surement que d'autres
personnes ont des solutions différentes, mieux ou moins bien, mais cela
vous permet de vous mettre sur la voie, d'avoir de nouvelles idées ...
Donc, de coutume dans les groups, évité d'orienter vers une personnne ou
une autre votre question. Je vous invite à relir les débats du 23/11/2004
avec comme objet <<QUI REPOND A MA QUESTION>> du TROLL, ainsi 09/11/2004
avec comme objet <<Pour tous les autres : DESOLE !!!>> de SALVA, Si vous
avez d'autre question, svp, continuez sur ce post. Ne créer pas de nouveau
post à chaque fois pour la même question. Pour ma part j'ai ,difficile de
suivre plusieur post pour la même question et d'y répondre dans tous.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com