Je n'ai pas l'habitude d'exposer mes scripts mais j'en ai un qui m'énerve particulièrement car il bute contre une erreur qui survient 1 fois sur 3.
La fonction principale de celui-ci est de récupérer des proxy trouvé sur internet et de les caser dans un tableau. Par la suite je ping cette liste de proxy pour classer cette liste de proxy du plus rapide au moins rapide.
L'erreur provient lors du ping des proxy.
Code : Tout sélectionner
$proxyanonyme[$i][2] = Ping($proxyanonyme[$i][0])Pourtant mon array possède belle et bien le nombre de colonne requise.
► Afficher le texte
Code : Tout sélectionner
[u]La partie en Vert correspond au "copier-collé" des proxy et à leur insertion dans l'array. Cette partie fonctionne correctement malgré l'utilisation de code "délicat".[/u]
Dim $proxyanonyme[1][2]
;~ _ArrayDisplay($proxyanonyme)
[color=#40BF00]$oIE = _IECreate("http://www.freeproxylists.net/fr/?c=FR&pt=&pr=&a%5B%5D=1&a%5B%5D=2&u=0")
WinSetState("Liste Proxy Gratuit - Windows XP Ultimate Edition By Mad Dog",'',@SW_MAXIMIZE)
Sleep(4000)
IF PixelGetColor(300,230) <> "0xF4F4F4" Then
MouseClick('left',993,715,1,0);déffile la bart de zoom
Sleep(500)
MouseClick('left',845,624,1,0);zoom a 75%
Sleep(300)
MouseClick('left',1012,152,5,20);remonte la page
Sleep(2000)
_IEAction($oIE,'refresh')
Sleep(2000)
EndIf
;~ MsgBox(0,'','détection des proxy')
IF PixelGetColor(133,441) = "0xCCCCCC" then
$n +=1
redim $proxyanonyme[2][2]
MouseClickDrag("left",124,433,212,433)
Sleep(500)
Send('^c')
$proxy1 = _ClipBoard_GetData()
$proxyanonyme[1][0] = $proxy1
MouseClickDrag('left',234,432,268,433,5)
Sleep(200)
Send('^c')
$port1 = _ClipBoard_GetData()
$proxyanonyme[1][1] = $port1
;~ MsgBox(0,'',$proxy1& ":" &$port1,1)
Else
$finproxy += 1
EndIf
If PixelGetColor(143,460) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[3][2]
MouseClickDrag('left',124,452,212,452,5)
Sleep(100)
Send('^c')
$proxy2 = _ClipBoard_GetData()
$proxyanonyme[2][0] = $proxy2
MouseClickDrag('left',234,452,268,452,5)
Sleep(200)
Send('^c')
$port2 = _ClipBoard_GetData()
$proxyanonyme[2][1] = $port2
;~ MsgBox(0,'',$proxy2&":"&$port2,1)
Else
$finproxy += 1
EndIf
If PixelGetColor(150,479) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[4][2]
MouseClickDrag('left',124,471,212,471)
Sleep(100)
Send('^c')
$proxy3 = _ClipBoard_GetData()
$proxyanonyme[3][0] = $proxy3
MouseClickDrag('left',234,471,268,471,5)
Sleep(200)
Send('^c')
$port3 = _ClipBoard_GetData()
$proxyanonyme[3][1] = $port3
;~ MsgBox(0,'',$proxy3&":"&$port3,1)
Else
$finproxy += 1
EndIf
If PixelGetColor(152,498) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[5][2]
MouseClickDrag('left',124,490,212,490)
Sleep(100)
Send('^c')
$proxy4 = _ClipBoard_GetData()
$proxyanonyme[4][0] = $proxy4
MouseClickDrag('left',234,490,268,490,5)
Sleep(200)
Send('^c')
$port4 = _ClipBoard_GetData()
$proxyanonyme[4][1] = $port4
;~ MsgBox(0,'',$proxy4&":"&$port4,1)
Else
$finproxy += 1
EndIf
If PixelGetColor(158,517) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[6][2]
MouseClickDrag('left',124,511,212,511)
Sleep(100)
Send('^c')
$proxy5 = _ClipBoard_GetData()
$proxyanonyme[5][0] = $proxy5
MouseClickDrag('left',234,511,268,511,5)
Sleep(200)
Send('^c')
$port5 = _ClipBoard_GetData()
$proxyanonyme[5][1] = $port5
;~ MsgBox(0,'',$proxy5&":"&$port5)
Else
$finproxy += 1
EndIf
If PixelGetColor(166,536) = "0xCCCCCC" And $finproxy = 0 Then
$n += 1
redim $proxyanonyme[7][2]
MouseClickDrag('left',124,528,212,528)
Sleep(100)
Send('^c')
$proxy6 = _ClipBoard_GetData()
$proxyanonyme[6][0] = $proxy6
MouseClickDrag('left',234,528,268,528,5)
Sleep(200)
Send('^c')
$port6 = _ClipBoard_GetData()
$proxyanonyme[6][1] = $port6
;~ MsgBox(0,'',$proxy6&":"&$port6)
Else
$finproxy += 1
EndIf
If PixelGetColor(163,555) = "0xCCCCCC" And $finproxy = 0 Then
$n += 1
redim $proxyanonyme[8][2]
MouseClickDrag('left',124,547,212,547)
Sleep(100)
Send('^c')
$proxy7 = _ClipBoard_GetData()
$proxyanonyme[7][0] = $proxy7
MouseClickDrag('left',234,547,268,547,5)
Sleep(200)
Send('^c')
$port7 = _ClipBoard_GetData()
$proxyanonyme[7][1] = $port7
;~ MsgBox(0,'',$proxy7&":"&$port7)
Else
$finproxy += 1
EndIf
If PixelGetColor(143,574) = "0xCCCCCC" And $finproxy = 0 Then
$n += 1
redim $proxyanonyme[9][2]
MouseClickDrag('left',124,568,212,568)
Sleep(100)
Send('^c')
$proxy8 = _ClipBoard_GetData()
$proxyanonyme[8][0] = $proxy8
MouseClickDrag('left',234,568,268,568,5)
Sleep(200)
Send('^c')
$port8 = _ClipBoard_GetData()
$proxyanonyme[8][1] = $port8
;~ MsgBox(0,'',$proxy8&":" & $port8)
Else
$finproxy += 1
EndIf
If PixelGetColor(148,593) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[10][2]
MouseClickDrag('left',124,585,212,585)
Sleep(100)
Send('^c')
$proxy9 = _ClipBoard_GetData()
$proxyanonyme[9][0] = $proxy9
MouseClickDrag('left',234,585,268,585,5)
Sleep(200)
Send('^c')
$port9 = _ClipBoard_GetData()
$proxyanonyme[9][1] = $port9
;~ MsgBox(0,'',$proxy9&":" & $port9)
Else
$finproxy += 1
EndIf
If PixelGetColor(144,612) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[11][2]
MouseClickDrag('left',124,603,212,603)
Sleep(100)
Send('^c')
$proxy10 = _ClipBoard_GetData()
$proxyanonyme[10][0] = $proxy10
MouseClickDrag('left',234,603,268,603,5)
Sleep(200)
Send('^c')
$port10 = _ClipBoard_GetData()
$proxyanonyme[10][1] = $port10
Else
$finproxy += 1
EndIf
If PixelGetColor(147,631) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[12][2]
MouseClickDrag('left',124,624,212,624)
Sleep(100)
Send('^c')
$proxy11 = _ClipBoard_GetData()
$proxyanonyme[11][0] = $proxy11
MouseClickDrag('left',234,624,268,624,5)
Sleep(200)
Send('^c')
$port11 = _ClipBoard_GetData()
$proxyanonyme[11][1] = $port11
Else
$finproxy += 1
EndIf
If PixelGetColor(148,650) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[13][2]
MouseClickDrag('left',124,642,212,642)
Sleep(100)
Send('^c')
$proxy12 = _ClipBoard_GetData()
$proxyanonyme[12][0] = $proxy12
MouseClickDrag('left',234,642,268,642,5)
Sleep(200)
Send('^c')
$port12 = _ClipBoard_GetData()
$proxyanonyme[12][1] = $port12
;~ MsgBox(0,'',$proxy9&":" & $port9)
Else
$finproxy += 1
EndIf
If PixelGetColor(148,669) = "0xCCCCCC" And $finproxy = 0 Then
$n +=1
redim $proxyanonyme[14][2]
MouseClickDrag('left',124,661,212,661)
Sleep(100)
Send('^c')
$proxy13 = _ClipBoard_GetData()
$proxyanonyme[13][0] = $proxy13
MouseClickDrag('left',234,585,268,585,5)
Sleep(200)
Send('^c')
$port13 = _ClipBoard_GetData()
$proxyanonyme[13][1] = $port13
;~ MsgBox(0,'',$proxy9&":" & $port9)
Else
$finproxy += 1
EndIf[/color]
$proxyanonyme[0][0] = $n [color=#80FF00]; $n est le nombre de proxy dans l'array. Peut-être peut-on l'utiliser dans la boucle pour contourner l'erreur :?: [/color]
;~ $n += 1
ReDim $proxyanonyme [$n][3]
;~ $n -= 1
Sleep(2000)
[color=#FF0000]For $i = 1 To $proxyanonyme[0][0]
;~ _ArrayDisplay($proxy)[/color]
[color=#FF00FF]$proxyanonyme[$i][2] = Ping($proxyanonyme[$i][0])[/color]
[color=#FF0000]If @error Then
Switch @error
Case 1
$proxyanonyme[$i][2] = "Host is offline"
Case 2
$proxyanonyme[$i][2] = "Host is unreachable"
Case 3
$proxyanonyme[$i][2] = "Bad destination"
Case 4
$proxyanonyme[$i][2] = "Other errors"
_ArrayDelete($proxyanonyme, $i)
$n -= 1
EndSwitch
EndIf
Next[/color]Bon je sais qu'on peut toujours paufinner le script en utilisant la fonction direct "Clipget()" par exmple et en supprimant tout les restants de mes "test"... mais bon, à l'époque ou je débutais le script je n'avais pas toutes ces notions.
Si quelqu'un pourrait m'expliquer cette erreur qui survient, je rappelle, une fois sur trois. Sa veut dire que je peux lancer le script et découvrir par la suite mon array pingué.
Yohan




