Je suis confronté à un problème et je n'arrive pas à le résoudre, je
vous pose la question si quelqu'un à une idée ?
Voila , je voudrais afficher un code erreur qui mets renvoyé par un
scripts .J'arrive bien a récupérer le code erreur, ensuite j'aimerais
que le code erreur soit traduit par le message correspondant grâce à
"net helpmsg "
Donc quand le script se termine correctement je récupère "0" comme code
de retour ensuite je le passe à "net helpmsg" par
Set oExec1 = objShell.Exec("net helpmsg "& id)
Do Until oExec1.StdOut.AtEndOfStream
sLine = LCase(oExec1.StdOut.ReadLine())
mess1=mess1+sLine
Loop
et je récupère le résultat avec StdOut, voila ou je bloque les accents
et caractère non us ne passe pas :(
ex : Au lieu de récupérer : "Opération réussie" , je réupère "Op,ration
r,ussie"
Il y a t-il une autre façon pour interpréter le code de retour en
évitant de passer par "net helpmsg" ?
Si il n'y a pas de solution comment faire pour corriger la mauvaise
interprétation des caractères non us ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles LAURENT
a écrit dans le message de news:4555d16a$0$25922$ | Bonjour,
Bonjour,
[...] | Set oExec1 = objShell.Exec("net helpmsg "& id) | Do Until oExec1.StdOut.AtEndOfStream | sLine = LCase(oExec1.StdOut.ReadLine()) | | mess1=mess1+sLine | Loop | | et je récupère le résultat avec StdOut, voila ou je bloque les | accents et caractère non us ne passe pas :(
Set oExec1 = objShell.Exec ("%comspec% /c " & _ "chcp 1252>nul & net helpmsg "& id)
-- Gilles LAURENT http://glsft.free.fr
<user@nospam> a écrit dans le message de
news:4555d16a$0$25922$ba4acef3@news.orange.fr
| Bonjour,
Bonjour,
[...]
| Set oExec1 = objShell.Exec("net helpmsg "& id)
| Do Until oExec1.StdOut.AtEndOfStream
| sLine = LCase(oExec1.StdOut.ReadLine())
|
| mess1=mess1+sLine
| Loop
|
| et je récupère le résultat avec StdOut, voila ou je bloque les
| accents et caractère non us ne passe pas :(
Set oExec1 = objShell.Exec ("%comspec% /c " & _
"chcp 1252>nul & net helpmsg "& id)
a écrit dans le message de news:4555d16a$0$25922$ | Bonjour,
Bonjour,
[...] | Set oExec1 = objShell.Exec("net helpmsg "& id) | Do Until oExec1.StdOut.AtEndOfStream | sLine = LCase(oExec1.StdOut.ReadLine()) | | mess1=mess1+sLine | Loop | | et je récupère le résultat avec StdOut, voila ou je bloque les | accents et caractère non us ne passe pas :(
Set oExec1 = objShell.Exec ("%comspec% /c " & _ "chcp 1252>nul & net helpmsg "& id)
-- Gilles LAURENT http://glsft.free.fr
Jean Philippe L
a écrit dans le message de news:4555d16a$0$25922$ | Bonjour,
Bonjour,
[...] | Set oExec1 = objShell.Exec("net helpmsg "& id) | Do Until oExec1.StdOut.AtEndOfStream | sLine = LCase(oExec1.StdOut.ReadLine()) | | mess1=mess1+sLine | Loop | | et je récupère le résultat avec StdOut, voila ou je bloque les | accents et caractère non us ne passe pas :(
Set oExec1 = objShell.Exec ("%comspec% /c " & _ "chcp 1252>nul & net helpmsg "& id)
Merci ,
Sa fonctionne via wscript.echo, mais si je l'affiche avec un msgbox toujours le même problème :(
<user@nospam> a écrit dans le message de
news:4555d16a$0$25922$ba4acef3@news.orange.fr
| Bonjour,
Bonjour,
[...]
| Set oExec1 = objShell.Exec("net helpmsg "& id)
| Do Until oExec1.StdOut.AtEndOfStream
| sLine = LCase(oExec1.StdOut.ReadLine())
|
| mess1=mess1+sLine
| Loop
|
| et je récupère le résultat avec StdOut, voila ou je bloque les
| accents et caractère non us ne passe pas :(
Set oExec1 = objShell.Exec ("%comspec% /c " & _
"chcp 1252>nul & net helpmsg "& id)
Merci ,
Sa fonctionne via wscript.echo, mais si je l'affiche avec un msgbox
toujours le même problème :(
a écrit dans le message de news:4555d16a$0$25922$ | Bonjour,
Bonjour,
[...] | Set oExec1 = objShell.Exec("net helpmsg "& id) | Do Until oExec1.StdOut.AtEndOfStream | sLine = LCase(oExec1.StdOut.ReadLine()) | | mess1=mess1+sLine | Loop | | et je récupère le résultat avec StdOut, voila ou je bloque les | accents et caractère non us ne passe pas :(
Set oExec1 = objShell.Exec ("%comspec% /c " & _ "chcp 1252>nul & net helpmsg "& id)
Merci ,
Sa fonctionne via wscript.echo, mais si je l'affiche avec un msgbox toujours le même problème :(
Gilles LAURENT
"Jean Philippe L" a écrit dans le message de news:4555f110$0$5084$ | Sa fonctionne via wscript.echo, mais si je l'affiche avec un msgbox | toujours le même problème :(
En effet, dans ce cas il est nécessaire de convertir les caractères OEM de la console en ANSI. Une solution consiste à utiliser le script de Jean-Claude BELLAMY oem2ansi.vbs disponible en téléchargement ici : http://www.bellamyjc.org/fr/vbsdownload.html#oem2ansi
Ou alors utiliser ma fonction VBScript 'ToAnsi' permettant d'obtenir un résultat identique. La table d'équivalence OEM=>ANSI a été obtenue avec mon bout de code C suivant :
---8<--- #include <windows.h>
void main (void) { // déclaration des variables int nCount, nCode ;
// balayage de la plage des caractères OEM [0..256] for (nCount = 0 ; nCount < 256; nCount++) {