Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Закрытая тема
Настройки темы
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

(*.*)


Сообщения: 36567
Благодарности: 6698


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 21-01-2009
Описание: архив
Внимание!


В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно Заголовок темы должен быть осмысленным.



Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).


Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).

Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску)
(он же прикреплен в шапке)


Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


NikLok,
Это не для AutoIt'а задачка, тут видимо нужно смотреть в сторону javascript/css, по этим вопросам лучше обратиться сюда

Senka11,
Цитата:
как теперь добавить чтоб и мак дописывал ся!
amel27 привёл функцию на предыдущей страничке:

Код: Выделить весь код
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)

$aMac = _NetAdapterGetProp()

$hOpen = FileOpen("\\192.168.0.254\public\senka1985\ipconfig.txt",1)
FileWriteLine($hOpen, "" & $nEdit & " " & $aEdit & " " & @IPAddress1 & " " & $aMac[0][2])
FileClose($hOpen)

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

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 20:26, 01-02-2008 | #81



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Давно искал функцию для проверки цвета, содержится ли в нём оттенок тёмного или светлого, и наконец (с небольшой, однако значительной помощью на оф. форуме) мне удалось сделать подобную функию:

Код: Выделить весь код
#include <GuiConstants.au3>
#include <Misc.au3>

Global $Bk_Color = 0xFFFFFF

$GUI = GUICreate("_ColorIsDarkShade Demo", 300, 200)

$Label = GUICtrlCreateLabel("Some Text", 20, 40, 55, 14)
GUICtrlSetBkColor(-1, $Bk_Color)

$ColorSet_Button = GUICtrlCreateButton("Set Color", 20, 80)

GUISetState(@SW_SHOW, $GUI)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $ColorSet_Button
            $Bk_Color = _ChooseColor(2, $Bk_Color, 2, $GUI)
            Local $sShade = _ColorIsDarkShade($Bk_Color)

            GUICtrlSetBkColor($Label, $Bk_Color)

            If $sShade Then
                GUICtrlSetColor($Label, 0xFFFFFF)
            Else
                GUICtrlSetColor($Label, 0x000000)
            EndIf
    EndSwitch
WEnd

Func _ColorIsDarkShade($nColor)
    Local $i_Red = BitAND(BitShift($nColor, 16), 0xFF)
    Local $i_Green = BitAND(BitShift($nColor, 8), 0xFF)
    Local $i_Blue = BitAND($nColor, 0xFF)

    Local $iMidle_Color_Val = Int(765 / 2) ;765 is the total of 255 + 255 + 255

    Return ($i_Red + $i_Green + $i_Blue) < $iMidle_Color_Val
EndFunc
Суть в том, что если юзер выбрал тёмный/светлый цвет, то цвет текста соответственно меняется на противоположный (и вто время видимый на фоне) цвет .

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:05, 04-02-2008 | #82


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


2All
ламерский вопрос: для чего используется оператор #region ?

2Creat0R
случайно наткнулся на его цветовое обозначение - INDIGO

Отправлено: 09:38, 04-02-2008 | #83


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27,
Цитата:
для чего используется оператор #region ?
Обозначет блок кода, подобно комментариям для блока, только строки заключённые в этом блоке не комментируются

Пример:

Код: Выделить весь код
#include <GuiConstants.au3>

$GUI = GUICreate("Test Script", 300, 200)

GUICtrlCreateButton("Button", 20, 40, 60, 20)

GUISetState(@SW_SHOW, $GUI)

#Region Main Loop
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
#EndRegion Main Loop
;
Кстати, ещё один стиль для раскарски - Т.н аббривиатуры (вольный перевод ), если ввести cw (эти значения выделяются красным цветом в SciTE), и нажать пробел, то оно раскроется в ConsoleWrite( & @CRLF), а курсор станет после открывающей скобки. Эти значения задаются в файле «abbrev.properties» (доступен из меню «Options - Open Abbriviations file»). Сам недавно узнал.

P.S
За эти аббривиатуры отвечает стиль №13.

Цитата:
случайно наткнулся на его цветовое обозначение - INDIGO
Имхо, не совсем подходит, мне кажется DarkOrchid чётче отражает #Region, по крайней мере тут на форуме.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Последний раз редактировалось Creat0R, 04-02-2008 в 11:24.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:10, 04-02-2008 | #84


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Обозначет блок кода »
чем он лучше уже имеющихся операторов?.. в смысле чем не устраивали старые?
читать дальше »
Код: Выделить весь код
#include <GuiConstants.au3>

$GUI = GUICreate("Test Script", 300, 200)

GUICtrlCreateButton("Button", 20, 40, 60, 20)

GUISetState(@SW_SHOW, $GUI)

;Region Main Loop
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
; /==> Region Main Loop

Цитата Creat0R:
подобно комментариям для блока »
это что за зверь?... или ты имел ввиду блок комментариев?
Цитата Creat0R:
только строки заключённые в этом блоке не комментируются »
прекрасно комментируются, причем какого-либо интеллекта у этого "оператора" я не заметил, получается что все они идентичны банальному ";"... только последний гораздо короче
читать дальше »
Код: Выделить весь код
#include <GuiConstants.au3>

$GUI = GUICreate("Test Script", 300, 200)

GUICtrlCreateButton("Button", 20, 40, 60, 20)

GUISetState(@SW_SHOW, $GUI)

#EndRegion Main Loop
While 1
    $nMsg = GUIGetMsg()
    #Region Main Loop
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
    #Region Main Loop
WEnd
#Region Main Loop


Цитата Creat0R:
мне кажется DarkOrchid чётче отражает »
может огласишь весь список?

Отправлено: 11:54, 04-02-2008 | #85


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27,
Цитата:
чем он лучше уже имеющихся операторов?
Тем что можно свернуть (Fold) этот блок и он не будет "мешать" глазам

Цитата:
ты имел ввиду блок комментариев?
Да.

Цитата:
прекрасно комментируются
Я имел в виду что в отличие от #CS....#CE (кстати с этим стилем при раскраске есть проблемы, см. далее), все строки в блоке не становятся закомментированными после применения подобного комментирования.
А комментарии для отдельных строк конечно же всегда действуют

Цитата:
может огласишь весь список?
Не уверен что понял, но вот сравнение с “бумаги”:

Рисунок:


Текст (DarkOrchid):
#Region Main Loop

Текст (Indigo)
#Region Main Loop

Я даже как то давно показывал подобное сравнение.




По поводу раскраски, вот какие стили у меня уже имеются (до 15-ти)...

Подробнее...
Код: Выделить весь код
; Расстановка стилей по тексту
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_0>(.*?)</t_0>", "\1") ; текст без стиля
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_1>(.*?)</t_1>", "[color=green][i]\1[/i][/color]") ; комментарии
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_2>(.*?)</t_2>", "[color=OliveDrab][i]\1[/i][/color]") ; комментарии (#CS..#CE)
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_3>(.*?)</t_3>", "[color=darkmagenta][i]\1[/i][/color]") ; числа
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_4>(.*?)</t_4>", "[color=darkblue][i]\1[/i][/color]") ; функции
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_5>(.*?)</t_5>", "[color=blue]\1[/color]") ; операторы управления
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_6>(.*?)</t_6>", "[color=magenta]\1[/color]") ; макросы-подстановки
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_7>(.*?)</t_7>", "[color=gray]\1[/color]") ; литеры
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_8>(.*?)</t_8>", "[color=red]\1[/color]") ; операторы
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_9>(.*?)</t_9>", "[color=brown]\1[/color]") ; имена переменных
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_10>(.*?)</t_10>", "[color=orange]\1[/color]") ; макросы клавиатуры
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_11>(.*?)</t_11>", "[color=magenta][i]\1[/i][/color]") ; макросы препроцессора
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_12>(.*?)</t_12>", "[color=DarkOrchid][i]\1[/i][/color]") ; Регион (#Region)
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_13>(.*?)</t_13>", "[color=red][i]\1[/i][/color]") ; аббривиатуры
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_14>(.*?)</t_14>", "[color=blue][i]\1[/i][/color]") ; свойства/методы объектов
	$sText = StringRegExpReplace($sText, "(?s)(?i)<t_15>(.*?)</t_15>", "[color=gray][i]\1[/i][/color]") ; штатные UDF


Но почему-то #CS..#CE неверно раскрашиваются, #CS и содержимое нормально, а вот #CE приобретает цвет magenta .

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 23:43, 04-02-2008 | #86


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Не уверен что понял »
...в смысле может ты знаешь все возможные цвета?
Цитата Creat0R:
вот какие стили у меня уже имеются »
хм, в скрипте с твоего сайта нет всех этих цветов
Цитата Creat0R:
почему-то #CS..#CE неверно раскрашиваются »
посмотрел твой скрипт (тот что с сайта) - если XML подавать сразу на вход функции то все нормально - у тебя где-то по ходу подменяются стили, в частности проставляется "<t n='2'>"

Отправлено: 05:35, 05-02-2008 | #87


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27,
Цитата amel27:
...в смысле может ты знаешь все возможные цвета? »
Нет, но подобрать не сложно - используем пипетку какого нибудь цветового пикера (Diamond написал один такой), наводим над нужным цветом и получаем Hex-значение, затем тут пытаемся найти наиболее подходящее текстовое значение

А ещё можно используя SciteConfig получить текущие значения для подсветок.

Цитата:
в скрипте с твоего сайта нет всех этих цветов
Я ещё не обновлял, хотел выложить работающй вариант со всеми стилями.

Вот вариант который плохо отрабатывает: Au3ToPst_Unstable.au3.

Просто включи ручной ввод кода, введи блок комментов:

Код: Выделить весь код
#CS
Some comments
#CE
И выполни обработку, на выходе получается это:

Код: Выделить весь код
#CS
Some comments
#CE
Есть идеи как поправить? - Возможно имеет значение порядок расстановки при замене стилей?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:55, 05-02-2008 | #88


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
затем тут пытаемся найти наиболее подходящее текстовое значение»
супер!.. меня именно текстовый аналог интересовал
Цитата Creat0R:
Есть идеи как поправить? - Возможно имеет значение порядок расстановки при замене стилей? »
посмотрел - это баг SciTE: при "ручном" формировании XML правильный, а при автоматическом стиль не тот

Отправлено: 12:25, 05-02-2008 | #89


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


спасибо за помощ доделал все что хотел!!!!!!!!!!!

огромное спасибо активным участникам обсуждения!!!!!
к стати вот что вышло!!!
я добавил еще одно поле для номера крнфигурации машины!!!

PHP код: Выделить весь код

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)
$xEdit InputBox("Введите тип конфигурации""Введите тип конфигурации""""", -1,3,175,20)
$wbemFlagReturnImmediately 0x10
$wbemFlagForwardOnly 
0x20
$colItems 
""
$strComputer "localhost"

$Output=""
$Output $Output "Computer: " $strComputer & @CRLF
$Output 
$Output "==========================================" & @CRLF
$objWMIService 
ObjGet("winmgmts:\\" $strComputer "\root\CIMV2")
$colItems $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True""WQL"_
$wbemFlagReturnImmediately 
$wbemFlagForwardOnly)

If 
IsObj($colItemsthen
For $objItem In $colItems

$Output 
=  "" $objItem.MACAddress & @CRLF
next

FileWrite
(FileOpen("\\192.168.0.254\public\senka1985\ipconfig.txt",1),"" &$nEdit" "$aEdit &" "&@IPAddress1 &" "&$Output &"тип" &$xEdit)
Endif 




спс!!!

Отправлено: 15:59, 05-02-2008 | #90



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ FOX RED Защита компьютерных систем 67 21-11-2007 15:05
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход