Ru-Board.club
← Вернуться в раздел «Программы»

» AutoIT

Автор: XpycTMD
Дата сообщения: 22.05.2008 15:45
Dobrii 16:03 22-05-2008
Цитата:
Нету в архиве EXE

И в правду нету сорри. У меня просто в папке EXE'шник лежит водимо я его сам скомпилировал
Автор: ViSiToR
Дата сообщения: 22.05.2008 17:19
Dobrii 14:04 22-05-2008
Цитата:
Variable used without being declared.

Нужно добавить #Include <GuiConstantsEx.au3>.
Автор: gsmschik
Дата сообщения: 23.05.2008 00:43
Доброе время суток. Вопрос по функции PixelChecksum, я так понимаю она вычисляет контрольную сумму в заданной части экрана. А как можно узнать какая это контрольная сумма? Может можно каким нибудь образом эту сумму отобразить?
Автор: Maza Faka
Дата сообщения: 23.05.2008 06:38
gsmschik

Цитата:
Может можно каким нибудь образом эту сумму отобразить?

Да, функция возвращает значение контрольной суммы, а значит это значение можно присвоить переменной и отобразить:

Код: $checksum = PixelChecksum(0,0, 50,50)
MsgBox(0, "", $checksum)
Автор: Dobrii
Дата сообщения: 23.05.2008 07:47

Цитата:
Нужно добавить #Include <GuiConstantsEx.au3>.

Будете смеятся... теперь это:
(148) : ==> Variable used without being declared.:
$InputoutFile = GUICtrlCreateInput($outsFile, 185, 40, 370, 20, $ES_AUTOHSCROLL+$ES_READONLY, $SS_BLACKFRAME)
$InputoutFile = GUICtrlCreateInput($outsFile, 185, 40, 370, 20, $ES_AUTOHSCROLL+$ES_READONLY, ^ ERROR
Автор: Maza Faka
Дата сообщения: 23.05.2008 08:11
Dobrii
Добавь #include <EditConstant.au3> в начало скрипта.
В новой версии все библиотеки "разделили". Я, например, если не знаю где, та или иная константа продекларированна пользуюсь поиском в Total Commander-е
Автор: Dobrii
Дата сообщения: 23.05.2008 08:26

Цитата:
В новой версии все библиотеки "разделили". Я, например, если не знаю где, та или иная константа продекларированна пользуюсь поиском в Total Commander-е

Спасибо, помогло.
Автор: gsmschik
Дата сообщения: 23.05.2008 08:35
Maza Faka

Большое спасибо, очень помог!
Автор: Dobrii
Дата сообщения: 23.05.2008 09:29

Код: <t_2>#comments-start
Чтение столбца с данными из таблицы Access
$pachDBF - полный путь к файлу .mdb
$TabName - название таблицы для чтения
PolName - название столбца таблицы для чтения
возвращает массив значений
#comments-end</t_2>

Func ReadDBF($pachDBF,$TabName,$PolName)
Dim $array[99000]
$i=0

$conn = ObjCreate("ADODB.Connection")
$result=$conn.Open("Driver={Microsoft Access Driver (*.mdb)};" & _
"DBQ="&$pachDBF)

$read=$conn.Execute("SELECT * from [" & $TabName & "]");чтение таблицы

While $read.EOF=0
$i=$i+1
$qwert=$read.fields($PolName).value ;читаем значение поля таблицы пока не дойдем до конца
$array[$i]=$qwert
ConsoleWrite("1111="&$qwert&@cr)
$read.movenext
WEnd

$array[0]=$i
ReDim $array[$i]

$conn.Close
$conn=0
Return $array
EndFunc
;-------------------------------------------------
#include <Array.au3>
Dim $test

$MDB
="c:\test.mdb"
$Tab="Данные "
$Pole="Фамилия"

$test=ReadDBF($MDB,$Tab,$Pole)

_ArrayDisplay ( $test, "" )
Автор: Hackproof
Дата сообщения: 26.05.2008 17:59
Господа, кто-нибудь подскажет, как мне скрипт скомпилить в dll, и можно ли эту dll-ку вызвать из проги, написанной на другом языке?
Автор: ViSiToR
Дата сообщения: 27.05.2008 01:19
Hackproof 18:59 26-05-2008
Цитата:
как мне скрипт скомпилить в dll

На AutoIt это не предусмотрено
Автор: ynbIpb
Дата сообщения: 28.05.2008 15:41
Пишу ГУИ для DOS приложения...
Как известно DOS не любит пути к файлам, которые содержат пробелы.
Например мне надо передать как параметр программе путь к файлу:
C:\Documents and Settings\All Users\Рабочий стол\file.dat
Как преобразовать эту строку в вид типа:
C:\Docum~1\All~1\Рабоч~1\file.dat
Я правда не знаю точных правил как это пишется сколько символов оставлять и всё такое.. Заодно подскажите и эти правила.
Заранее благодарен.
Автор: ViSiToR
Дата сообщения: 29.05.2008 01:22
ynbIpb 16:41 28-05-2008
Цитата:
Как преобразовать эту строку в вид типа

FileGetShortPath()... но некоторе DOS-приложения не “любят” укороченные пути, лучше в кавычках передавать (т.е примерно так: Run('SomeApp.exe "C:\Documents and Settings\All Users\Рабочий стол\file.dat"', 'C:\Documents and Settings\All Users\Рабочий стол'), второй параметр это рабочий каталог).


Цитата:
как это пишется сколько символов оставлять и всё такое

Первые 6 (пробелы удаляются) потом тильда (~), и затем порядковый номер (если похожего файла нет рядом, тогда 1). Если имя файл состоит ровно (или меньше) из восьми символов, то оно не укарачивается.

Код: C:\Docume~1\AllUse~1\Рабочи~1\file.dat
Автор: ynbIpb
Дата сообщения: 29.05.2008 07:15
спасибо.
Действительно если заключаю путь в кавычки программа его принимает. так что и укорачивать не надо.
а зачем вообще указывается рабочий каталог?
Автор: Maza Faka
Дата сообщения: 29.05.2008 09:09
ynbIpb

Цитата:
а зачем вообще указывается рабочий каталог?

Некоторые программы без этого параметра не запускаются.
Автор: NIKZZZZ
Дата сообщения: 29.05.2008 09:54
ynbIpb

Цитата:
а зачем вообще указывается рабочий каталог?

Если программе требуются какие-либо дополнительные файлы, их поиск по умолчанию осуществляется именно там.

Автор: Maza Faka
Дата сообщения: 29.05.2008 13:59
NIKZZZZ
О! Я не знал этого, спасибо за информацию.
Автор: ViSiToR
Дата сообщения: 29.05.2008 16:55
Maza Faka 10:09 29-05-2008
Цитата:
Некоторые программы без этого параметра не запускаются.

Запускаются, но могут работать некорректно.

NIKZZZZ 10:54 29-05-2008
Цитата:
поиск по умолчанию осуществляется именно там

Имхо, не совсем так. Это всё зависит от приложения, если пути относительные, то исходить всё будет либо с текущего каталога (родительский каталог приложения), либо с рабочего (если указан).
Автор: ynbIpb
Дата сообщения: 29.05.2008 17:09
ну в моей ситуации думаю этот параметр можно опустить, так как пути я указываю абсолютные, а программа состоит из 1 файла. вобщем оболочку я сделал всё работает отлично. Спасибо за помощь!
Автор: zero1632
Дата сообщения: 30.05.2008 12:37
Помогите решить задачку - есть много pdf файлов, которые нужно проверить на битость/небитость.
Для этого я нашел на pdf-tools.com программу переконвертации текста (у них есть dll, но я так и не понял, как его подключать). В общем, если текст конвертируется и программа выходит с errorlevel=0 то pdf нормальный, если errorlevel любой другой - битая.
Все бы хорошо,и запускал я эту прогу через $res_errl=Runwait...для получения errorlevel.
Только программа эта периодически вылетает в "программа совершила недопустимую операцию" с кнопкой "закрыть". Я бы сделал даже запуск через run, а потом ждал в цикле, пока процесс в памяти не исчезнет (и отслеживанием появления этого дурацкого окошка об ошибке программы), но тогда я не смогу считать errorlevel программы при ее окончании работы.
Что делать? Как-то можно его считать?
Автор: ynbIpb
Дата сообщения: 30.05.2008 14:08
Подскажите пожалуйста есть ли команда, которая проверяет существует ли в данный момент переменная? Например при определённом условии в цикле инициализируется таймер $begin = TimerInit() но он может и не инициализироватся а в этом же цикле нужно всегда проверять его состояние $dif = TimerDiff($begin) но если таймер не создан, то такой переменной не существует и соответственно скрипт выдаст ошибку. Можно конечно создать её заранее с нулевым значением, но может как-то иначе можно решить?
Автор: ViSiToR
Дата сообщения: 30.05.2008 15:09
ynbIpb 15:08 30-05-2008
Цитата:
есть ли команда, которая проверяет существует ли в данный момент переменная?

IsDeclared().


Цитата:
Можно конечно создать её заранее с нулевым значением

Это имхо, будет правильное решение.
Автор: Astra55
Дата сообщения: 30.05.2008 17:04
zero1632
http://www.pdf-analyzer.com - бесплатная версия.
Сделать скрипт, который анализировал бы результат "OKay!" и другие параметры по необходимости. Вроде бы попадались и другие софты, но подзабыл название.
Автор: Hackproof
Дата сообщения: 31.05.2008 22:41
У меня есть самописная прога на VB с подключенным модулем sysmon.ocx, которая мониторит загрузку процессора, и при превышении определенного уровня кое-что делает. Каждую секунду уровень загрузки процессора читается в переменную таким образом: a = sysmon.Counters.Item(1).Value
Можно ли сделать скрипт мониторинга загрузки без подключения этого модуля, или если нет - то как мне получить из модуля значение текущей загрузки в переменную?
=========
Вопрос более не актуален.
Автор: Maza Faka
Дата сообщения: 03.06.2008 07:37
Hackproof

Цитата:
сделать скрипт мониторинга загрузки


Цитата:
Вопрос более не актуален.

Ну может кому-нибудь пригодится

Автор: gregaz
Дата сообщения: 04.06.2008 16:20
Вопрос :
Можно ли установить кнопки на одной линии с пунктами МЕНЮ ?
Автор: ViSiToR
Дата сообщения: 05.06.2008 02:15
gregaz 17:20 04-06-2008
Цитата:
Можно ли установить кнопки на одной линии с пунктами МЕНЮ

Как стандартную кнопку не думаю, можно пункт меню использовать как кнопку...


Код:
GUICreate("_GUICtrlCreateMenuItemEx", 200, 100)

$hMenu = GUICtrlCreateMenu("File")
$ExitItem = GUICtrlCreateMenuItem("Exit", $hMenu)

GUICtrlCreateMenuItem(" ", -1)

$MenuItem = _GUICtrlCreateMenuItemEx("Button", -1)

GUISetState()

While 1
Switch GUIGetMsg()
Case -3, $ExitItem
Exit
Case
$MenuItem
MsgBox(0, "", "Menu Button Pressed")
EndSwitch
WEnd

Func
_GUICtrlCreateMenuItemEx($sText, $iMenuID, $iMenuEntry=-1, $iMenuRadioItem=0)
Local $iAutoItVersion_Check = StringReplace(@AutoItVersion, ".", "") < 32120

If Not $iAutoItVersion_Check Then
Local
$nDummyMenu = GUICtrlCreateMenu("")
Local $nDummyMenuItem = GUICtrlCreateMenuItem("", $nDummyMenu)
EndIf

Local
$nMenuItem = GUICtrlCreateMenuItem($sText, $iMenuID, $iMenuEntry, $iMenuRadioItem)

If $iAutoItVersion_Check Then Return $nMenuItem

GUICtrlDelete($nDummyMenu)
GUICtrlDelete($nDummyMenuItem)

Return $nMenuItem
EndFunc
Автор: Hackproof
Дата сообщения: 05.06.2008 04:06
Не могу разобраться, как свернуть программу в трей полностью, чтобы не было кнопки на панели задач?
Автор: ViSiToR
Дата сообщения: 05.06.2008 08:40
Hackproof 05:06 05-06-2008
Цитата:
как свернуть программу в трей полностью, чтобы не было кнопки на панели задач?

см. GUISetState(@SW_HIDE, $GUI).
Автор: Maza Faka
Дата сообщения: 05.06.2008 09:12
Hackproof
Пример:

Код: #include <GUIConstantsEx.au3>

Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)

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

$RestoreItem = TrayCreateItem("Restore")
TrayItemSetOnEvent(-1, "_Restore")

GUISetState()

While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
Case
$GUI_EVENT_MINIMIZE
GUISetState(@SW_HIDE)
EndSwitch
WEnd

Func
_Restore()
If BitAND(WinGetState($hGUI), 2) <> 2 Then
GUISetState(@SW_SHOW)
GUISetState(@SW_RESTORE)
EndIf
EndFunc

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

Предыдущая тема: Quintura Search


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.