|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 10 ![]() |
Bonjour,
j'ai crée un beau petit programme qui envoie des messages netsend entre postes. Malheureusement, la langue française comporte des accents "È" qui ne peuvent s'afficher dans le service de message windows car il utilise le typer de texte Latin-1, et la console utilise le type ASCII. Comment puis-je transformer un texte en type Latin-1 pour que les accents fonctionnent? Le rapport avec VB est que l'utilisateur entre un texte dans un textbox, puis en clickant sur send, un .bat est créé et exécuté. (Je sais, c'est lourd mais c'est le seul moyen avec la sécurité ici). Edit: Aceess 2002, pas dotnet. Dsl pour la mauvaise section du post. |
|
|
00
|
|
|
#2 | ||
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 702 ![]() |
Sûrement pas ASCII, sinon on ne pourrait jamais afficher d'accents dans la console... ça utilise l'encodage ibm850 (du moins sous Windows XP en français)
Pour écrire ton fichier bat, il faut donc utiliser cet encodage : Code :
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
||
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : juin 2010 Messages : 10 ![]() |
Salut voici mon code :
Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 702 ![]() |
Ah ok, le sujet a été déplacé dans Access.... Ma solution supposait que c'était du VB.NET, donc effectivement elle ne s'applique pas.
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
00
|
|
|
#5 | ||||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Essaie ceci. Ajoute cette déclaration de la fonction API CharToOem : Code :
Code :
|
||||
|
|
20
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 10 ![]() |
Salut,
Avec les examens et tout je m'étais absenté du boulot depuis longtemps. Ta solution fonctionne parfaitement merci beaucoup a toi! Par contre j'aimerais bien comprendre cette ligne: Code :
strRowOem = String(Len(strRow), vbNullChar) |
|
|
00
|
|
|
#7 | |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Citation:
Il faut que chaîne VB ait réservé un espace suffisant, correspondant au nombre de caractères que la fonction API va renvoyer. C'est dû au fait que l'API Windows est constituée en grande partie, de fonctions destinées au langage C, dans lequel il n'y a pas de type String. En C, les chaînes de caractères sont juste des tableaux de caractères. On ne connait que l'adresse du premier caractère, et la fin de chaîne de caractères est repérée par le code 00. A+ |
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com