Что нового

[Элементы GUI] Отоброжение "логов"

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Как сделать так что бы отображалось качнул "бицуху" или нет?


Код:
Func _TwoWindow()
Global $Form7, $Group7, $Group8, $Group9, $fake,$Edit9, $idvk, $Button7, $Button8, $Button9, $texti
$Form7 = GUICreate("Качаем бицуху", 625, 445, 192, 124)
$Group7 = GUICtrlCreateGroup("Список", 8, 8, 297, 425)
$fake = GUICtrlCreateEdit("", 16, 24, 273, 369)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$Button7 = GUICtrlCreateButton("Извлечь из ...", 16, 400, 105, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Пользователь", 328, 8, 281, 49)
$idvk = GUICtrlCreateInput("", 344, 24, 249, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group9 = GUICtrlCreateGroup("Информация", 328, 72, 281, 305)
$Edit9 = GUICtrlCreateEdit("", 336, 88, 257, 281)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button8 = GUICtrlCreateButton("Получить", 328, 400, 129, 33, $WS_GROUP)
$Button9 = GUICtrlCreateButton("Закрыть", 480, 400, 129, 33, $WS_GROUP)
$sexit = GUICtrlDelete($Form7)
GUISetState(@SW_SHOW)
While 1
    $smsg = GUIGetMsg();
    Switch $smsg
            Case $GUI_EVENT_CLOSE
                GUIDelete($Form7)
                ExitLoop

	EndSwitch
    Switch $smsg
        Case $Button8
		_Str()
		GUISetState()
	EndSwitch
    Switch $smsg
        Case $Button7
		$text = FileOpenDialog("Указать файл", @WorkingDir & "", "Любой (*.txt)", 1 + 4 )
		$Read = FileRead($text)
		GUICtrlSetData($fake,$Read)
	EndSwitch
    Switch $smsg = $Button9
            Case $GUI_EVENT_CLOSE
			GUIDelete($Form7)
			ExitLoop
	EndSwitch


WEnd
EndFunc

Func _Str()

	$i=$fake ; файл с фейками

;~ $fakeUser = StringSplit($i,@CRLF)
$fakeUser = StringSplit($i,@LF)



$ii=1


    $oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
     $URL = 'http://109.234.156.250/prison/universal.php?voteForFriend'
     $URL2 = 'http://109.234.156.250/prison/universal.php?getFriendModels' 
            For $ii=1 To $fakeUser[0]
            $key=StringSplit($fakeUser[$ii],':')
      $Post0 = 'user='&$key[1]&'&key='&$key[2]&'&friend%5Fuid='&$User&'&sig=b6e36cf4b383e362f6fe80a2aed79e8d&method=getFriendModels'
      $Post1 = 'vote=5&key='&$key[2]&'&sex=0&user='&$key[1]&'&sig=a6e36cf3b383e322f63380a2aed1e3f4&model%5Fid=1&friend%5Fuid='&$User&'&method=voteForFriend'
        $oHTTP.setTimeouts(5000,5000, 10000, 10000)
        $oHTTP.Open("POST", $URL2)
        $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        Execute('$oHTTP.Send($Post0)')
      $oHTTP.WaitForResponse
      $Response13 = $oHTTP.ResponseText
      $Return = StringRegExpReplace($Response13, '(?s).*?<vote_availability>(d+)</vote_availability>?.*','\1')
      if $Return = 1 Then ; 
        $oHTTP.setTimeouts(5000,5000, 10000, 10000)
        $oHTTP.Open("POST", $URL)
        $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        Execute('$oHTTP.Send($Post1)')
        $oHTTP.WaitForResponse
      Sleep(1000)
      Else
      Sleep(1000)
      EndIf
        Sleep(1000)
	Next
EndFunc


Незнаю даже как обьяснить

как то вот так

Код:
t:=Form1.idHTTP1.Post('http://109.234.155.196/prison/universal.php?voteForFriend',tst);
     if pos('success vote',t)<>0 then begin
        Form1.Memo2.Lines.Add('Ïîçâàí ñ id='+Copy(s, 1, j-1)+' :)');
        end;
         if pos('<code>1</code>',t)<>0 then begin
        Form1.Memo2.Lines.Add('Íå óäàëîñü ñ id='+Copy(s, 1, j-1)+' :(');
end;
 if pos('<result>0</result>',t)<>0 then begin
        Form1.Memo2.Lines.Add('Îøèáêà ïðîâåðòå ïðàâèëüíîñòü id:auth');
end;
     except on e : EIDHttpProtocolException do
   Begin
     if e.ReplyErrorCode = 500 then
      Form1.Memo2.Lines.Add('500 Internal Server Error');
      end;
end;
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
DarkCrush
Это раздел помощи, т.е. вопрос - ответ.
Темы аля техническое задание в раздел Стол заказов.
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Так я и спрашиваю как сделать
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
DarkCrush
Постановка вашего вопроса в приказной форме:
Нужно сделать что бы отображалось качнул "бицуху" или нет
В этом разделе обсуждение "как сделать", "делаю то-то и так-то, а тут ошибка, как исправить?" и т.д.
В Вашем же случае, даже ответить нечего. Т.к. ни я, ни другие, мысли часть не могут. И как именно отобразить, что качнулось/или нет не знаю.

Необходимо добавить описание, что нужно сделать программно. Откуда получить данные, в каком виде, как и т.д. и т.п.
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Обновил пост, как сделать что бы в том окошке отображалось прокачалась или нет

пример:
Пользователь %ID% прокачал бицуху
Пользователь %ID% прокачал бицуху
Пользователь %ID% прокачал бицуху
Пользователь %ID% ошибка
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
DarkCrush [?]
Обновил пост, как сделать что бы в том окошке отображалось прокачалась или нет
Другое дело, уже лучше.

1. Получить необходимые данные
2. Вставить данные в Edit с помощью функции:
Код:
GUICtrlSetData
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Re: [Элементы GUI] Отоброжение \"логов\"

а как мне поймать ответ и пихнуть его туда?


Добавлено:
Сообщение автоматически объединено:

Код:
$Return1 = StringRegExpReplace($Response1, '(?s).*?<result>(d+)</result>?.*','\1')
			if $Return1 = 1 Then
			$Edit9=GUICtrlSetData('Complite')


Так делать?
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Почти.

Код:
$Return1 = StringRegExpReplace($Response1, '(?s).*?<result>(d+)</result>?.*','\1')

В этой строчке в переменную $Return1 записывается результат выполнения функции StringRegExpReplace. А именно то, что было найденно между <result> и </result>.
Далее сразу же можно вставить этот результат в Edit элемент используя функцию GUICtrlSetData.

В справке к этой функции следующее:
Код:
GUICtrlSetData ( controlID, data [, default] )

Где:
controlID - идентификатор управляющего элемента в который будут вставлены данные
data - вставляемые данные
default - не обязательная опция дополнительных параметров вставки данных

А теперь надо внимательно прочитать последний абзац и исправить вот эту строку:
Код:
$Edit9=GUICtrlSetData('Complite')


А эту можно удалить:
Код:
if $Return1 = 1 Then
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Код:
For $ii=1 To $fakeUser[0] ;Массив запроса
            $key=StringSplit($fakeUser[$ii],':')
			$PostData = 'user='&$key[1]&'&model_id=1&sig=b6e36cf4b383e362f6fe80a2aed79e8d&&model_id=1&friend_uid='&$User&'&sex=0&vote=5&key='&$key[2]&'&method=voteForFriend'
			$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
			$oHTTP.Open("POST", $GetStr)
			$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
			Execute('$oHTTP.Send($PostData1)')
			$oHTTP.WaitForResponse
			$Response = $oHTTP.ResponseText
			$Return = StringRegExpReplace($Response, '(?s).*?<vote_availability>(d+)</vote_availability>?.*','\1')
			GUICtrlSetData($Edit9, 'Complite')


Невыходит, он ошибку выдает из за этой строки(
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
А какая ошибка?
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Код:
C:\Users\Dark_Crush\Desktop\Тюряга\rabo4iy1.au3(238,23) : WARNING: $fake: possibly used before declaration.
	$i= GUICtrlRead($fake)
	~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Dark_Crush\Desktop\Тюряга\rabo4iy1.au3(251,25) : WARNING: $Form9: possibly used before declaration.
			GUICtrlSetData($Form9,
			~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Dark_Crush\Desktop\Тюряга\rabo4iy1.au3(253,7) : ERROR: missing Next.
      Else
~~~~~~^
C:\Users\Dark_Crush\Desktop\Тюряга\rabo4iy1.au3(241,23) : REF: missing Next.
            For $ii=1 To
~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Dark_Crush\Desktop\Тюряга\rabo4iy1.au3(253,7) : ERROR: syntax error
      Else
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
$fake: possibly used before declaration.
Необходимо объявить переменную перед ее использованием.

Например:
Код:
Local $fake


Необходимо указать оператор Next в конструкции цикла.

и еще какая то ошибка синтаксиса
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
У меня $fake глобальная переменная
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Происходит обращение к переменной до ее объявления.
Объявить необходимо заранее.
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Теперь такая ошибка

Код:
C:\Users\Dark_Crush\Desktop\??????\rabo4iy1.au3 (244) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$PostData = 'vote=5&key='&$key[2]&'&sex=0&user='&$key[1]&'&sig=a6e36cf3b383e322f63380a2aed1e3f4&model%5Fid=1&friend%5Fuid='&$User&'&method=voteForFriend'
$PostData = 'vote=5&key='&^ ERROR
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Используется индекс массива, которого нет в массиве.
Надо проверить, $key вообще массив или нет.
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Re: [Элементы GUI] Отоброжение \"логов\"

Код:
;Окно на прокачку бицухи
Func _TwoWindow()
Global $Form7, $Group7, $Group8, $Group9, $fake, $Edit9, $idvk, $Button7, $Button8, $Button9
$Form7 = GUICreate("Качаем бицуху", 625, 445, 192, 124)
$Group7 = GUICtrlCreateGroup("Список", 8, 8, 297, 425)
$fake = GUICtrlCreateEdit("", 16, 24, 273, 369)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$Button7 = GUICtrlCreateButton("Извлечь из ...", 16, 400, 105, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Пользователь", 328, 8, 281, 49)
$idvk = GUICtrlCreateInput($User, 344, 24, 249, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group9 = GUICtrlCreateGroup("Информация", 328, 72, 281, 305)
$Edit9 = GUICtrlCreateEdit("", 336, 88, 257, 281)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button8 = GUICtrlCreateButton("Получить", 328, 400, 129, 33, $WS_GROUP)
$Button9 = GUICtrlCreateButton("Закрыть", 480, 400, 129, 33, $WS_GROUP)
$sexit = GUICtrlDelete($Form7)
GUISetState(@SW_SHOW)
While 1
    $smsg = GUIGetMsg();
    Switch $smsg
            Case $GUI_EVENT_CLOSE
                GUIDelete($Form7)
                ExitLoop
	EndSwitch
    Switch $smsg
        Case $Button8
		_Str()
		GUISetState()
	EndSwitch
    Switch $smsg
        Case $Button7
		$text = FileOpenDialog("Указать файл", @WorkingDir & "", "Любой (*.txt)", 1 + 4 )
		$Read = FileRead($text)
		GUICtrlSetData($fake,$Read)
	EndSwitch
    Switch $smsg = $Button9
            Case $GUI_EVENT_CLOSE
			GUIDelete($Form7)
			ExitLoop
	EndSwitch
WEnd
EndFunc ;==> _TwoWindow
;Бицуха
Func _Str()
	$i= GUICtrlRead($fake) ; файл с фейками
	$fakeUser = StringSplit($i,@LF)
	$ii=1
            For $ii=1 To $fakeUser[0] ;Массив запроса
            $key=StringSplit($fakeUser[$ii],':')
			Local $PostData1 = 'sig=847df9498a90c30f8b3d6a5e3be33596&key='&$key[2]&'&friend_uid='&$User&'&user='&$key[1]&'&method=getFriendModels'
			Local $PostData = 'sig=a253727a35bf937d6ce98d47d9818fa9&user='&$key[1]&'&sex=0&vote=5&username=lololo&model_id=1''&key='&$key[2]&'&friend_uid='&$User&'&method=voteForFriend'
			$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
			$oHTTP.Open("POST", $GetModel)
			$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
			Execute('$oHTTP.Send($PostData1)')
			$oHTTP.WaitForResponse
			$Response = $oHTTP.ResponseText
			$Return = StringRegExpReplace($Response, '(?s).*?<vote_availability>(d+)</vote_availability>?.*','\1')
			if $Return = 1 Then
			$oHTTP.setTimeouts(5000,5000, 10000, 10000)
			$oHTTP.Open("POST", $GetStr)
			$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
			Execute('$oHTTP.Send($PostData)')
			$oHTTP.WaitForResponse
			GUICtrlSetData($Edit9, $Reponse)
      Sleep(1000)
      Else
      Sleep(1000)
      EndIf
	  Sleep(1000)
Next
EndFunc ;==> _Str



Добавлено:
Сообщение автоматически объединено:

он отказывается что либо делать( даже запросы видимо не посылает(((( :wacko:
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Re: [Элементы GUI] Отоброжение \"логов\"

он зависает при посылке


Добавлено:
Сообщение автоматически объединено:

теперь вообще выдает
Код:
C:\Users\Dark_Crush\Desktop\??????\???\BackUPRABbot.au3 (244) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
Local $PostData1 = 'user='&$key[1]&'&key='&$key[2]&'&friend%5Fuid='&$User&'&sig=b6e36cf4b383e362f6fe80a2aed79e8d&method=getFriendModels'
Local $PostData1 = 'user='&$key[1]&'&key='&^ ERROR
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Это нормально, что зависает. Функция отправляет данные в интернет, а в интернете не все так быстро.

Array variable has incorrect number of subscripts or subscript dimen
С чем связана данная ошибка я писал уже выше.
 
Верх