hallo everybody
my first script
i have a problem with listview When I put my information please help me!
![:D](http://aut1.autoit-cdn.com/forum/public/style_emoticons/default/biggrin.png)
i have a problem with listview When I put my information please help me!
[ autoit ]
#NoTrayIcon Opt("GUIOnEventMode", 1) Global $Lister[9999][2] $COUNT = 0 $LVM_SETCOLUMNWIDTH = (4096 + 30) $Form1 = GUICreate("Hello " & @ComputerName, 609, 480, 302, 273) GUISetOnEvent(-3, "__Exit") $Tab1 = GUICtrlCreateTab(8, 49, 593, 393) $TabSheet1 = GUICtrlCreateTabItem(" Liste proxy ") $ListView1 = GUICtrlCreateListView("IP:PORT|TYPE|COUNTRY|TIME", 8, 75, 591, 366) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 150) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 150) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 150) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 150) $settings = GUICtrlCreateContextMenu($ListView1) $SENDS = GUICtrlCreateMenuItem("add to favoris", $settings) GUICtrlSetOnEvent(-1, "add") $Checkbox1 = GUICtrlCreateCheckbox("Use a proxy", 104, 8, 97, 17) GUICtrlSetOnEvent(-1, "Checkbox") $Checkbox2 = GUICtrlCreateCheckbox("Rendom proxy", 104, 24, 97, 17) GUICtrlSetState(-1, 129) $Checkbox3 = GUICtrlCreateCheckbox("Bypass proxy server for local addresses", 224, 8, 217, 17) GUICtrlSetState(-1, 129) $TabSheet2 = GUICtrlCreateTabItem(" favoris ") $ListView2 = GUICtrlCreateListView("IP:PORT|TYPE|COUNTRY|TIME", 8, 75, 591, 366) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 150) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 150) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 150) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 150) GUICtrlCreateTabItem("") $Button1 = GUICtrlCreateButton("Set proxy", 8, 8, 75, 33) GUICtrlSetOnEvent(-1, "SELECTED") $Label1 = GUICtrlCreateLabel("", 16, 453, 111, 17) $Label2 = GUICtrlCreateLabel("", 133, 453, 464, 17) $Group1 = GUICtrlCreateGroup("", 8, 440, 593, 33) GUISetState() GETPROXY() Do Sleep(10000) Until False Func _StringBetween($s_String, $s_Start, $s_End, $v_Case = -1) Local $s_case = "" If $v_Case = Default Or $v_Case = -1 Then $s_case = "(?i)" Local $s_pattern_escape = "(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)" $s_Start = StringRegExpReplace($s_Start, $s_pattern_escape, "\\$1") $s_End = StringRegExpReplace($s_End, $s_pattern_escape, "\\$1") If $s_Start = "" Then $s_Start = "\A" If $s_End = "" Then $s_End = "\z" Local $a_ret = StringRegExp($s_String, "(?s)" & $s_case & $s_Start & "(.*?)" & $s_End, 3) If @error Then Return SetError(1, 0, 0) Return $a_ret EndFunc ;==>_StringBetween Func GETPROXY() RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "Proxyenable", "REG_DWORD", "0") DllCall('WININET.DLL', 'long', 'InternetSetOption', 'int', 0, 'long', 39, 'str', 0, 'long', 0) GUICtrlSetData($Label1, "Please wait ...") $FileURL1 = "http://www.proxylists.net/proxylists.xml" $FileName1 = @TempDir & "\proxylists" $Down = _DownloadProgress($FileURL1, $FileName1) If $Down = 404 Then GUICtrlSetData($Label1, "Error: Connection lost..") Return EndIf $m = _StringBetween(FileRead($FileName1), "<prx:proxy><prx:ip>", "</prx:check_timestamp></prx:proxy>") For $i = 1 To UBound($m) - 1 Local $rep $rep = StringReplace($m[$i], "</prx:ip><prx:port>", "_") $rep = StringReplace($rep, "</prx:port><prx:type>", "_") $rep = StringReplace($rep, "</prx:type><prx:country>", "_") $rep = StringReplace($rep, "</prx:country><prx:check_timestamp>", "_") $FIN = StringSplit($rep, "_") If $FIN[3] = "Transparent" Then Sleep(1) $COUNT = $COUNT + 1 GUICtrlSetData($Label1, "Proxies N° " & $COUNT) $Lister[$COUNT][1] = GUICtrlCreateListViewItem($FIN[1] & ":" & $FIN[2] & "|" & $FIN[3] & "|" & $FIN[4] & "|" & $FIN[5], $ListView1) EndIf Next EndFunc ;==>GETPROXY Func SELECTED() If GUICtrlRead($Checkbox3) = 1 Then RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyOverride", "REG_SZ", "<local>") DllCall('WININET.DLL', 'long', 'InternetSetOption', 'int', 0, 'long', 39, 'str', 0, 'long', 0) Else RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyOverride") DllCall('WININET.DLL', 'long', 'InternetSetOption', 'int', 0, 'long', 39, 'str', 0, 'long', 0) EndIf If GUICtrlRead($Tab1) Then Call("favo") Return EndIf If GUICtrlRead($Checkbox1) = 1 Then If GUICtrlRead($Checkbox2) = 1 Then GUICtrlSetData($Label2, "") $Random = Random(1, $COUNT, 1) $selected = GUICtrlRead($Lister[$Random][1]) If Not $selected <> "" Then Return GUICtrlSetBkColor($Lister[$Random][1], 0xCCFFCC) GUICtrlSendMsg($ListView1, 0x1013, $Random - 1, 1) Else $selected = GUICtrlRead(GUICtrlRead($ListView1)) If Not $selected <> "" And StringInStr(GUICtrlRead($Label1), "Please wait ... ") > 0 Or StringInStr(GUICtrlRead($Label1), "Error: Connection lost..") > 0 Then GUICtrlSetData($Label2, "") Return ElseIf Not $selected <> "" Then GUICtrlSetData($Label2, "Please select proxy first.") Return EndIf EndIf $StringSplit = StringSplit($selected, "|", 1) $IP = StringLeft($StringSplit[1], StringInStr($StringSplit[1], ":") - 1) $ping = Ping($IP, 9999) GUICtrlSetData($Label2, " Your current ip " & $IP & " from " & $StringSplit[3] & " Ping: " & $ping) RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "Proxyenable", "REG_DWORD", "1") RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "proxyserver", "REG_SZ", $StringSplit[1]) DllCall('WININET.DLL', 'long', 'InternetSetOption', 'int', 0, 'long', 39, 'str', 0, 'long', 0) Else RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "Proxyenable", "REG_DWORD", "0") DllCall('WININET.DLL', 'long', 'InternetSetOption', 'int', 0, 'long', 39, 'str', 0, 'long', 0) GUICtrlSetData($Label2, " Your current proxy is Default !") EndIf EndFunc ;==>SELECTED Func Checkbox() If GUICtrlRead($Checkbox1) = 1 Then GUICtrlSetState($Checkbox2, 64) GUICtrlSetState($Checkbox3, 64) Else GUICtrlSetState($Checkbox2, 128) GUICtrlSetState($Checkbox3, 128) EndIf EndFunc ;==>Checkbox Func _DownloadProgress($FileURL, $FileSave) $FileSize = InetGetSize($FileURL) If $FileSize = 0 Then Return 404 $FileDownload = InetGet($FileURL, $FileSave, 0, 1) Do $Percentage = InetGetInfo($FileDownload, 0) * 100 / $FileSize GUICtrlSetData($Label1, "Please wait ... " & Round($Percentage, 0) & " % ") Sleep(200) Until InetGetInfo($FileDownload, 2) EndFunc ;==>_DownloadProgress Func __Exit() Exit EndFunc ;==>__Exit Func favo() $selected = GUICtrlRead(GUICtrlRead($ListView2)) If Not $selected <> "" Then GUICtrlSetData($Label2, "Please select proxy first.!!!") Return EndIf $StringSplit = StringSplit($selected, "|", 1) $IP = StringLeft($StringSplit[1], StringInStr($StringSplit[1], ":") - 1) $ping = Ping($IP, 9999) GUICtrlSetData($Label2, " Your current ip " & $IP & " from " & $StringSplit[3] & " Ping: " & $ping) RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "Proxyenable", "REG_DWORD", "1") RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "proxyserver", "REG_SZ", $StringSplit[1]) DllCall('WININET.DLL', 'long', 'InternetSetOption', 'int', 0, 'long', 39, 'str', 0, 'long', 0) EndFunc ;==>favo Func add() $selected = GUICtrlRead(GUICtrlRead($ListView1)) If Not $selected <> "" And StringInStr(GUICtrlRead($Label1), "Please wait ... ") > 0 Or StringInStr(GUICtrlRead($Label1), "Error: Connection lost..") > 0 Then GUICtrlSetData($Label2, "") Return ElseIf Not $selected <> "" Then GUICtrlSetData($Label2, "Please select proxy first.") Return EndIf $StringSplit = StringSplit($selected, "|", 1) GUICtrlCreateListViewItem($StringSplit[1] & "|" & $StringSplit[2] & "|" & $StringSplit[3] & "|" & $StringSplit[4], $ListView2) EndFunc ;==>add