Что нового

Проблема с Msgbox

DmitriyShh2

Новичок
Сообщения
7
Репутация
0
Здравствуйте, дорогие форумчане! Нужна помощь в написании кода. Есть код:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiIPAddress.au3>



$var = IniReadSection("D:\IPs.ini", "Students IP")
For $i = 1 To $var[0][0]
$size = ($var[$i][0])*35
Next

Global $aIni_Section = IniReadSection("D:\IPs.ini", "Students IP")
If @error Then Exit 2
Global $aIP_CheckBoxes[$aIni_Section[0][0]], $aIP_Inputs[$aIni_Section[0][0]]
Global $iTopPos = 15, $iLeftPos = 15



$hMain = GUICreate("Administrator", 440, $size, -1, -1)

For $i = 1 To $aIni_Section[0][0]
    $aIP_CheckBoxes[$i - 1] = GUICtrlCreateCheckbox($aIni_Section[$i][0], $iLeftPos, $iTopPos, 100, 25)
    $aIP_Inputs[$i - 1] = _GUICtrlIpAddress_Create($hMain, $iLeftPos + 110, $iTopPos, 150, 25)
    _GUICtrlIpAddress_Set($aIP_Inputs[$i - 1], $aIni_Section[$i][1])
    $iTopPos += 30
Next

$idShutdown = GUICtrlCreateButton("Выключить", 300, 50, 120, 30)
$idReboot = GUICtrlCreateButton("Перезагрузить", 300, 80, 120, 30)
$idLogout = GUICtrlCreateButton("Выйти из системы", 300, 110, 120, 30)

GUISetState(@SW_SHOW, $hMain)



While 1
    Switch GUIGetMsg()
         Case $GUI_EVENT_CLOSE
            Exit
         Case $idShutdown
			
         Case $idReboot

         Case $idLogout

    EndSwitch
 WEnd

Задача: 1) Я выбираю нужное кол-во айпи ( кликая по checkbox'у около айпи). 2) После выбора появляется Msgbox с заголовком выбранного айпи и любым текстом. P.s. кол-во айпи в ини-файле может быть произвольным. P.ss ини файл прописал т.к. не могу прикрепить "[Students IP]
1=95.79.120.87
2=95.79.120.88
3=95.79.120.89
4=95.79.120.60
5=95.79.120.34
6=95.79.120.54
7=95.79.120.45
8=95.79.120.65"/
Огромное спасибо ;)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: Действия в GUI

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Действия в GUI" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.









Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
247
Не совсем понятно
После выбора появляется Msgbox с заголовком выбранного айпи и любым текстом.
после выбора нужного количества IP должен появиться Msgbox или после каждого клика по checkbox'у ?
 
Автор
D

DmitriyShh2

Новичок
Сообщения
7
Репутация
0
Сначала я выбираю нужные мне айпи, затем нажимаю любую кнопку и только потом (после нажатия кнопки) появляется Msgbox.
 

Вложения

  • СНимок 1.PNG
    СНимок 1.PNG
    26.8 КБ · Просмотры: 16

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
247
Так ?
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiIPAddress.au3>



$var = IniReadSection("D:\IPs.ini", "Students IP")
For $i = 1 To $var[0][0]
$size = ($var[$i][0])*35
Next

Global $aIni_Section = IniReadSection("D:\IPs.ini", "Students IP")
If @error Then Exit 2
Global $aIP_CheckBoxes[$aIni_Section[0][0]], $aIP_Inputs[$aIni_Section[0][0]]
Global $iTopPos = 15, $iLeftPos = 15



$hMain = GUICreate("Administrator", 440, $size, -1, -1)

For $i = 1 To $aIni_Section[0][0]
    $aIP_CheckBoxes[$i - 1] = GUICtrlCreateCheckbox($aIni_Section[$i][0], $iLeftPos, $iTopPos, 100, 25)
    $aIP_Inputs[$i - 1] = _GUICtrlIpAddress_Create($hMain, $iLeftPos + 110, $iTopPos, 150, 25)
    _GUICtrlIpAddress_Set($aIP_Inputs[$i - 1], $aIni_Section[$i][1])
    $iTopPos += 30
Next

$idShutdown = GUICtrlCreateButton("Выключить", 300, 50, 120, 30)
$idReboot = GUICtrlCreateButton("Перезагрузить", 300, 80, 120, 30)
$idLogout = GUICtrlCreateButton("Выйти из системы", 300, 110, 120, 30)

GUISetState(@SW_SHOW, $hMain)



While 1
    Switch GUIGetMsg()
         Case $GUI_EVENT_CLOSE
            Exit
         Case $idShutdown
                _ShowMsgBox()
         Case $idReboot
                _ShowMsgBox()
         Case $idLogout
                _ShowMsgBox()
    EndSwitch
WEnd


Func _ShowMsgBox()
	For $i=0 to $aIni_Section[0][0]-1

		If GuiCtrlRead($aIP_CheckBoxes[$i]) = $GUI_CHECKED Then MsgBox(0,$aIni_Section[$i+1][1],'Любой текст')
	Next
EndFunc
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
DmitriyShh2
Название не стало лучше.
 
Верх