Page 1 sur 1

[RESOLU] probleme de caracteres

Publié : mer. 09/déc./2009 21:45
par venom
Bonjour,

voilà j'ai fait un code qui récupere le texte d'une fenetre DOS, mais le texte est mal récupérer.

Testez ce code vous comprendrez mieux.

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #IPAddress_0
  #Button_0
  #String_0
EndEnumeration

  If OpenWindow(#Window_0, 0, 0, 400, 40, "Ping Powah",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
      IPAddressGadget(#IPAddress_0, 10, 10, 150, 20)
      ButtonGadget(#Button_0, 170, 10, 220, 20, "Lancer une requête ping")
      EditorGadget(#String_0, 10, 40, 380, 360, #PB_Editor_ReadOnly)

  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
        
       Case #Button_0
        ip1 = IPAddressField(GetGadgetState(#IPAddress_0), 0)
        ip2 = IPAddressField(GetGadgetState(#IPAddress_0), 1)
        ip3 = IPAddressField(GetGadgetState(#IPAddress_0), 2)
        ip4 = IPAddressField(GetGadgetState(#IPAddress_0), 3)
        adresseip$ = Str(ip1)+"."+Str(ip2)+"."+Str(ip3)+"."+Str (ip4)
        
        Programme = RunProgram("ping.exe", adresseip$, "", #PB_Program_Open |  #PB_Program_Read | #PB_Program_Hide)
         If IsProgram(Programme)
		      While ProgramRunning(Programme)
				   Sortie$ + ReadProgramString(Programme) + Chr(13)
		      Wend 
         EndIf 
          AddGadgetItem(#String_0, -1, Sortie$, 0)
         ResizeWindow(#Window_0, WindowX(#Window_0), WindowY(#Window_0), 400, 410)

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow





@++

Re: probleme de caracteres

Publié : mer. 09/déc./2009 22:56
par PAPIPP
Bonjour venon
Sujet déjà traité par Gnozal Flype et PAPIPP
utilise Oemtochar_
http://www.purebasic.fr/french/viewtopi ... r_#p101069
http://www.purebasic.fr/french/viewtopi ... ar_#p96909

A+

Re: probleme de caracteres

Publié : mer. 09/déc./2009 23:02
par Ar-S
Je pense que PAPIPP a voulu te rediriger ici : http://www.purebasic.fr/french/viewtopi ... &hilit=dos
Trouver en tapant DOS dans le moteur de recherche :mrgreen:
Un topic que tu as toi même lancé :mrgreen: :mrgreen:

Re: probleme de caracteres

Publié : mer. 09/déc./2009 23:02
par Ar-S
Ar-S a écrit :Je pense que PAPIPP a voulu te rediriger ici : http://www.purebasic.fr/french/viewtopi ... &hilit=dos
Trouver en tapant DOS dans le moteur de recherche :mrgreen:
Un topic que tu as toi même lancé :mrgreen: :mrgreen:
--opps-- papipp a corrigé son lien ^^

Re: probleme de caracteres

Publié : jeu. 10/déc./2009 0:40
par Le Soldat Inconnu
c'est qui qui a mauvais caractère ? Et c'est sur le DOS de qui que tu veux mettre ça ?


hein quoi ? j'ai rien pigé ? baaah :mrgreen:

Re: probleme de caracteres

Publié : jeu. 10/déc./2009 7:00
par venom
8O oula je pers la boule moi
j'ai déjà posé exactement le même code :? . faut que je me repose moi :lol:
merci les mecs portant je me suis posé la question hier et j'ai chercher avec DOS et je n'est pas trouvé ce post :oops: .







@++

Re: probleme de caracteres

Publié : jeu. 10/déc./2009 9:37
par Kwai chang caine
oula je pers la boule moi
j'ai déjà posé exactement le même code
Je sais c'est pas sympa....mais j'suis content a pas etre le seul a faire ça :mrgreen:
Bienvenue au club, parfois on a des idées on abandonne ou on met de coté pour plus tard, ou bien on utilise, puis longtemps apres on oublie.

Huummmmfff !!!! ça fait du bien quand ça arrive aux autres :mrgreen: :lol: :lol: :lol:

Re: probleme de caracteres

Publié : jeu. 10/déc./2009 12:57
par venom
C'est clair ont se sent bête surtout que je me suis retaper le meme code :lol:
bref passons.






@++

Re: probleme de caracteres

Publié : jeu. 10/déc./2009 14:23
par Kwai chang caine
je me suis retaper le meme code
Remarque.....je vais pas non plus te jeter la pierre...la mémoire c'est une plaie...surtout quand on l'a pas :mrgreen:

Moi,.... ça fait 15 ans que je me "retape" la meme femme... :D
Mais ça commence a la lasser, qu'a chaque fois, je lui redemande son prenom et surtout si elle a des enfants ........:lol:

Re: probleme de caracteres

Publié : jeu. 10/déc./2009 19:04
par venom
Kwai chang caine a écrit :Moi,.... ça fait 15 ans que je me "retape" la meme femme... :D
Mais ça commence a la lasser, qu'a chaque fois, je lui redemande son prenom et surtout si elle a des enfants ........:lol:
mdr :lol: sacret Kwai chang caine :wink:

j'en profite pour remettre le code qui fonctionne :wink: histoire de comparer.

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #Frame3D_0
  #IPAddress_0
  #Button_0
  #Text_envoys
  #Text_reus
  #Text_perdu
  #Text_Perte
  #Text_Duree_min
  #Text_Duree_max
  #Text_Moyenne
EndEnumeration

  If OpenWindow(#Window_0, 216, 0, 460, 145, "Ping Powah",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
      Frame3DGadget(#Frame3D_0, 10, 10, 440, 125, "")
      StringGadget(#IPAddress_0, 25, 25, 200, 20, "")
      ButtonGadget(#Button_0, 235, 25, 200, 20, "Lancer une requête ping")
      TextGadget(#Text_envoys, 25, 55, 120, 20, "Paquets envoyés = ")
      TextGadget(#Text_reus, 25, 80, 120, 20, "Paquets reçus = ")
      TextGadget(#Text_perdu, 25, 105, 120, 20, "Paquets perdu = ")
      TextGadget(#Text_Perte, 170, 55, 120, 20, "Perte = ")
      TextGadget(#Text_Duree_min, 170, 80, 120, 20, "Durée minimum = ")
      TextGadget(#Text_Duree_max, 170, 105, 120, 20, "Durée maximum = ")
      TextGadget(#Text_Moyenne, 310, 80, 125, 20, "Moyenne = ")

  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
        
       Case #Button_0
        adresseip$ = GetGadgetText(#IPAddress_0)
         Programme = RunProgram("ping.exe", adresseip$, "", #PB_Program_Open |  #PB_Program_Read | #PB_Program_Hide)
          Output.s = "" 
          Output1.s = ""
          
           While ProgramRunning(Programme ) 
		        Output = ReadProgramString(Programme ) 
		         If FindString(Output,"Paq",1)
			        Break 
		         EndIf 
	         Wend 
	         
	         While ProgramRunning(Programme) 
		        Output1 = ReadProgramString(Programme) 
		         If FindString(Output1,"Min",1)
			        Break 
		         EndIf 
	         Wend 
	         
	          OemToChar_(@Output,@Output)
	          OemToChar_(@Output1,@Output1)

	           Paquets_envoyes$= Mid(Output, 25, 1)
	           TextGadget(#Text_envoys, 25, 55, 120, 20, "Paquets envoyés = "+Paquets_envoyes$)
	           
	           Paquets_recu$= Mid(Output, 36, 1)
	           TextGadget(#Text_reus, 25, 80, 120, 20, "Paquets reçus = "+Paquets_recu$)
	           
	           Paquets_perdu$= Mid(Output, 48, 1)
	           Resultat = TextGadget(#Text_perdu, 25, 105, 120, 20, "Paquets perdu = "+Paquets_perdu$) 
	           
	          If Val(Paquets_perdu$) = 0
	           Perte$= Mid(Output, 57, 1)
	           TextGadget(#Text_Perte, 170, 55, 120, 20, "Perte = "+Perte$+"%")
	          ElseIf Val(Paquets_perdu$) = 4
	           Perte$= Mid(Output, 57, 3)
	           TextGadget(#Text_Perte, 170, 55, 120, 20, "Perte = "+Perte$+"%")
	          EndIf 
	          
	           Duree_minimum$ = Mid(Output1, 15, 4)
	           TextGadget(#Text_Duree_min, 170, 80, 120, 20, "Durée minimum = "+Duree_minimum$) 
	           
	           Duree_maximum$ = Mid(Output1, 31, 4)
	           TextGadget(#Text_Duree_max, 170, 105, 120, 20, "Durée maximum = "+Duree_maximum$)
	           
	           Moyenne$ = Mid(Output1, 47, 4)
	           TextGadget(#Text_Moyenne, 310, 80, 125, 20, "Moyenne = "+Moyenne$)
        
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
Pourquoi j'ai fait cela ! je ne sais pas :D



@++

Re: [RESOLU] probleme de caracteres

Publié : jeu. 10/déc./2009 23:02
par Ar-S
Qui n'a jamais refait un code qu'il avait déjà fait (surtout en ayant oublié comment).. pas moi en tout cas /D
Des fois je me bafferai aussi.. :|