Показать полную графическую версию : [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
#include <GUIConstants.au3>
GUICreate("Computer ID system created by Senka!", 320, 200)
GUICtrlCreateLabel("Input Computer ID", 10, 10)
$okbutton = GUICtrlCreateButton("Ready", 110, 120, 60)
$nEdit = GUICtrlCreateInput ("inventory no.", -1,3,175,20)
$aEdit = GUICtrlCreateInput ("Everest no.", -1,30,175,20)
GUISetState ()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...")
exit
Case $msg = $okbutton
MsgBox(0, "11", "You pressed OK!")
filewrite(FileOpen("Data.txt",1),"Data from $nEdit: " & $nEdit &@CRLF& "Data from $aEdit: "& $NEdit & @CRLF)
EndSelect
WEnd
работает но не так как нужно!
filewrite(FileOpen("Data.txt",1),"Data from $nEdit: " & $nEdit &@CRLF& "Data from $aEdit: "& $NEdit & @CRLF)
записывает в файл:
Data from $nEdit: 6
что бы я не вводил в
$nEdit = GUICtrlCreateInput ("inventory no.", -1,3,175,20)
подскажите че исправить!!!!
HORRIBLE
29-01-2008, 17:19
Creat0R,
ага, спасибо за FileClose(Handle)- эту команду воткнул в код и все получил ответ на свой вопрос который ты не понял)
Senka11,
Во-первых код заключать нужно в тег (#)... или использовать утилиту для раскраски (http://creator-lab.ucoz.ru/load/4-1-0-18) ;)
подскажите че исправить!
[code]#include <GUIConstants.au3>
GUICreate("Computer ID system created by Senka!", 320, 200)
GUICtrlCreateLabel("Input Computer ID", 10, 10)
$OK_Button = GUICtrlCreateButton("Ready", 110, 120, 60)
$nEdit = GUICtrlCreateInput("inventory no.", -1, 3, 175, 20)
$aEdit = GUICtrlCreateInput("Everest no.", -1, 30, 175, 20)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...")
Exit
Case $OK_Button
MsgBox(0, "11", "You pressed OK!")
Local $sDataFrom_nEdit = GUICtrlRead($nEdit)
Local $sDataFrom_aEdit = GUICtrlRead($aEdit)
Local $hOpenFile = FileOpen("Data.txt", 1)
FileWriteLine($hOpenFile, _
"Data from $nEdit: " & $sDataFrom_nEdit & @CRLF & _
"Data from $aEdit: "& $sDataFrom_aEdit)
FileClose($hOpenFile)
EndSwitch
WEnd
HORRIBLE
29-01-2008, 17:42
Creat0R, а почему в моем примере для Senka11, ересть какая то записывалась в файл,несмотря на то, что ты в водишь в поля ?
#include <GUIConstants.au3>
GUICreate("Computer ID system created by Senka!", 320, 200)
GUICtrlCreateLabel("Input Computer ID", 10, 10)
$okbutton = GUICtrlCreateButton("Ready", 110, 120, 60)
$nEdit = GUICtrlCreateInput ("inventory no.", -1,3,175,20)
$aEdit = GUICtrlCreateInput ("Everest no.", -1,30,175,20)
GUISetState ()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...")
exit
Case $msg = $okbutton
MsgBox(0, "11", "You pressed OK!")
filewrite(FileOpen("Data.txt",1),"Data from $nEdit: " & $nEdit &@CRLF& "Data from $aEdit: "& $NEdit & @CRLF)
FileClose("Data.txt")
EndSelect
WEnd
я вот переделал и упростил свою задачу!!!!!!
$nEdit = InputBox("Input inventory ID", "Input inventory ID", "", "", -1,3,175,20)
$aEdit = InputBox("Input Everest ID", "Input Everest ID", "", "", -1,30,175,20)
FileWrite(FileOpen("Data.txt",1),"inventory ID:" &$nEdit&@CRLF& "Everest ID:"& $NEdit & @CRLF)
работает все супер !!!!
теперь вопрос в след. я хочу создать меседж бокс который выводил бы на екран IP тачки !!!!!!!!
и дописывал его вместе с мак адресом в txt файлик!!!!!!Help если ктото знает!!!!!!!!
P.S
Огромное спасибо CREATOR-e за неоценимую помощь!!!!!!!!!!
HORRIBLE, почему в моем примере для Senka11, ересть какая то записывалась в файл,несмотря на то, что ты в водишь в поля ?
Записываются идентификаторы контролов, чтобы получить данные введённые в эти элементы, нужно использовать GUICtrlRead() ;) (см. мой пример выше).
Senka11, создать меседж бокс который выводил бы на екран IP тачки
Для этого есть макрос @IPAddress2.
Огромное спасибо CREATOR-e за неоценимую помощь!
Для этого есть ссылочка внизу у каждого сообщения - http://forum.oszone.net/images/smilies/up.gif Полезное сообщение ;)
Maza Faka
30-01-2008, 08:06
Senka11
Мдааа...ты хоть сам понял, что написал?
Функция InputBox() не является создаваемым элементом пользовательского GUI, это встроенное стандартное окно диалога. Пример создания пользовательского GUI:
#include <GUIConstants.au3>
GUICreate("Computer ID system created by Senka!", 260, 160)
GUICtrlCreateLabel("Input Computer ID", 15, 30, 90, 15)
GUICtrlCreateLabel("Input Everest ID", 160, 30, 90, 15)
$nEdit = GUICtrlCreateInput("", 10, 50, 100, 17)
$aEdit = GUICtrlCreateInput("", 150, 50, 100, 17)
$OK_Button = GUICtrlCreateButton("Ready", 10, 130, 60, 20)
GUICtrlSetCursor(-1, 0)
$Close_Button = GUICtrlCreateButton("Close", 190, 130, 60, 20)
GUICtrlSetCursor(-1, 0)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $Close_Button
Exit
Case $OK_Button
$sDataFrom_nEdit = GUICtrlRead($nEdit)
$sDataFrom_aEdit = GUICtrlRead($aEdit)
If $sDataFrom_nEdit = '' Or $sDataFrom_aEdit = '' Then
MsgBox(16, "Error", "Please fill in the forms")
ContinueCase
EndIf
$DataFile = FileOpen(@ScriptDir & "\Data.txt", 1)
FileWriteLine($DataFile, _
"Data from $nEdit: " & $sDataFrom_nEdit & @CRLF & _
"Data from $aEdit: "& $sDataFrom_aEdit)
FileClose($DataFile)
EndSwitch
WEnd
я хочу создать меседж бокс который выводил бы на екран IP тачки!
и дописывал его вместе с мак адресом в txt файлик!
Какой тачки? Локальной или удалённой? Для получения IP-адреса используй макро @IPAddress1 или @IPAddress2, а ещё лучше брать его из реестра. Для получения MAC-адреса используй утилиту getmac.exe есть по умолчанию в WindowsXP, для справки вбей в консоль getmac /?.
HORRIBLE
30-01-2008, 11:52
Creat0R, мда, тупим по маленьку (это я про себя) , спасибо.
А вот у меня вопрос, интернет страничка игрушки, на ней 2 поля ввода и кнопочка, AutoIt Window Info не показывает ни координат, ни id этих полей, а как можно к чему нить привязаться, чтобы вводить в поле информацию и кнопку жать ?? Конечно, самое простое это tab понажимать, а еще как нить можно?
Когда ввели данные, нажимаем кнопку войти, вошли, другой вопрос, слева наверху есть картинка персонажа, над картинкой его ХП, как в автоите сказать ждать пока не наберется определенное кол-во ХП ждать ?? опять таки привязаться не к чему.
Для получения IP-адреса используй макро @IPAddress1 или @IPAddress2, а ещё лучше брать его из реестра. Для получения MAC-адреса используй утилиту getmac.exe »ИМХО лучше без вызова внешних прог - через WMI:#include <array.au3>
$a = _NetAdapterGetProp()
_ArrayDisplay($a)
Func _NetAdapterGetProp($sHostName = "localhost")
Local $objItem, $objWMIService = ObjGet( "winmgmts:\\"& $sHostName &"\root\CIMV2")
Local $sQuery = 'SELECT Index, Caption, MACAddress, IPAddress FROM Win32_NetworkAdapterConfiguration Where IPEnabled = True'
Local $colItems = $objWMIService.ExecQuery($sQuery, "WQL", 0x30)
If IsObj($colItems) Then
Local $aRes[1][3], $i=0
For $colItem In $colItems
ReDim $aRes[$i+1][3]
$aRes[$i][0] = $colItem.Caption
$aRes[$i][1] = $colItem.IPAddress(0)
$aRes[$i][2] = $colItem.MACAddress
$i+=1
Next
Return $aRes
EndIf
Return SetError(1)
EndFunc ;==> _NetAdapterGetProp
Maza Faka
30-01-2008, 12:13
amel27
Привет! Ты как всегда на высоте! Отличный пример! :up:
Привет! Ты как всегда на высоте! Отличный пример! »
Спасибо, всем привет!.. вот, решил восстановить подписку на топик после его разделения... ;)
Кстати, полный список поддерживаемых параметров и методов объекта "Win32_NetworkAdapterConfiguration"
описан по адресу: http://msdn2.microsoft.com/en-us/library/aa394217.aspx
а в скрипте случайно функции шифрования нет???
Maza Faka
31-01-2008, 11:48
Angelus
Смотри в справке _StringEncrypt(), если я правильно тебя понял.
Да правильно понял, сенкс...а то я смотрел не нашол....
thief_89
01-02-2008, 10:32
добрый день
делаю скрипт для архивации данных, вроде всё работает архивирует и теперь хочу добавить строку прогресса, но как её релализовать не знаю. может есть у кого пример строки прогресса скинте код и я на его основе зделаю свой.
спасибо
Maza Faka
01-02-2008, 11:14
thief_89
скинте код
Лови! :)
#include <GuiConstants.au3>
$Gui = GuiCreate("Simulation Progress Demo", 350, 120)
$ProgressLabel = GUICtrlCreateLabel("Status: Press the button! ", 20, 30, 330)
$Progress = GUICtrlCreateProgress(20, 50, 300, 20)
$StartButton = GUICtrlCreateButton("Start Simulation Progress", (350/2)-(140/2), 80, 140)
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
Exit
Case $StartButton
GUICtrlSetData($ProgressLabel, "Status: Please wait...")
Dim $FilesArr[1000]
For $i = 1 To UBound($FilesArr)-1
$FilesArr[$i] = _GetRandomName(6) & ".test"
Next
Local $FilesCount = UBound($FilesArr)-1
Local $CurrentFName, $ProgressSet = 0
GUICtrlSetData($ProgressLabel, "Status: 0% Done...")
GUICtrlSetData($StartButton, "Abort Simulation Progress")
For $i = 1 To $FilesCount
Sleep(40)
$CurrentFName = $FilesArr[$i]
$ProgressSet = Round(100 / ($FilesCount / $i))
GUICtrlSetData($ProgressLabel, "Status: " & $ProgressSet & "% Done, [" & $CurrentFName & "]")
GUICtrlSetData($Progress, $ProgressSet)
If GUIGetMsg() = $StartButton Then ExitLoop
Next
GUICtrlSetData($Progress, 0)
GUICtrlSetData($ProgressLabel, "Status: Finish!")
GUICtrlSetData($StartButton, "Start Simulation Progress")
EndSwitch
WEnd
Func _GetRandomName($Lenght=3)
Local $RetName = ''
For $i = 1 To $Lenght
$RetName &= Chr(Random(97, 122, 1))
Next
Return $RetName
EndFunc
Вот тут кто макрос для оперы недавно кидал, так может он могет наваять такой, который сможет отмечать в скролируемом списке задаваемые форумы на torrents.ru? А то ихние админы ну никак не могут встроить таку фичу!!!
thief_89,
может есть у кого пример строки прогресса скинте код и я на его основе зделаю свой.
Переделать будет непросто, ведь статус прогресса считывать с внешнего приложения нужно? что используется для архивирования?
NikLok,
Вот тут кто макрос для оперы недавно кидал
Вроде я, но это не макрос, а библиотека. (http://creator-lab.ucoz.ru/load/3-1-0-36)
наваять такой, который сможет отмечать в скролируемом списке задаваемые форумы на torrents.ru?
А подробнее можно?
Creat0R, На сайте torrents.ru есть в разделе торенты прокручиваемы список форумов среди которых происходит поиск торентов - вернее их анонсов. Если выбрать не все а только интересующие, то список сильно от мусора очищается. Беда в том что одно неловкое движение и выдиление снимается и на тебя опять сваливается куча всякого Г-на. Если захочется порнухи я уж специяльно за ней зайду, а так каждый раз об это глаза ломаются! Вот и мечтается нажать кнопку и выделятся те которые, ну допустим записаны в файл, а еще лучше кнопкой фиксировать выбранные на машину и выбирать по другой кнопке из фиксированных. Список прокручиваемый по вертикали. Вот ссылка Torrent forum selector (http://torrents.ru/forum/tracker.php?search_id=FY2NLi8orzbh&start=300)
К сожалению нуна регистрироваться, но треккер стоящий.
MsgBox(0, "IP-Adress", @IPAddress1)
MsgBox(0, "Computer-name", @ComputerName)
$nEdit = InputBox("Input inventory ID", "Input inventory ID", "", "", -1,3,175,20)
$aEdit = InputBox("Input Everest ID", "Input Everest ID", "", "", -1,30,175,20)
FileWriteLine(FileOpen("\\192.168.0.254\public\senka1985\ipconfig.txt",1),"" &$nEdit& " "& $aEdit &" "&@IPAddress1 )
а как теперь добавить чтоб и мак дописывал ся!!!!!!!!!!??)))))))
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.