PDA

Показать полную графическую версию : [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [41] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

TERMINAL
15-08-2008, 14:54
morgan1991, либо так
;предотвращение возможности множественного запуска скрипта
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
;скрыть в системной панели индикатор AutoIt
AutoItSetOption("TrayIconHide", 1)
;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки.
AutoItSetOption("TrayIconDebug", 1)
AutoItSetOption("SendKeyDelay", 10)

либо так
;Включить или отключить возможность прерывания выполнения скрипта пользователем, используя индикатор системной панели.
Break(0)

Maza Faka
15-08-2008, 15:17
morgan1991

Opt("TrayAutoPause", 0)

morgan1991
17-08-2008, 22:00
Нет я имел ввиду просто удалить одну кнопку оставить только exit и потом добавить свои кнопки.
А вот ещё вопросик:
Можно ли заменить команду FileWrite на другую которая работает также, просто у меня такая проблема:
написал скрипт который считывает данные с конфига .ini и записывает их в документ с расширением .wtf
всё работает, но когда в конфиге указаны данные например forum.oszone.ru, то всё тоже работает, а если я пишу
туда wow.karelia.ru то он записывает их так: 卥琠牥慬浬楳琠睯眮歡牥汩愮牵 квадратиками

Может кто знает что это такое??

amel27
18-08-2008, 04:17
Может кто знает что это такое?? »без кода, воспроизводящего проблему, нет :)

Можно ли заменить команду FileWrite на другую которая работает также »
поиграйте значениями параметра "mode" ф-ции FileOpen() для открытия файла перед записью в него текста

Delirium
18-08-2008, 06:52
Vadikan, ссылка Русская справка (http://www.autoitscript.com/autoit3/docs.php) в шапке недействительна.

HORRIBLE
19-08-2008, 16:13
$input_tab3_0 = GUICtrlCreateInput("", "","","","","")
.....................
$input_tab3_20 = GUICtrlCreateInput("", "","","","","")

можно ли заменить такое перечисление всех инпутов,
GUICtrlSetData($input_tab3_0,"1")
.........................
GUICtrlSetData($input_tab3_20,"1")

на какой нить цикл, т.к. просто неудобно одно и тоже писать по нескольку раз.
спасибо.

Maza Faka
19-08-2008, 16:45
HORRIBLE
Создай массив с нужным кол-вом control-ов.

morgan1991
20-08-2008, 19:42
Помогите плиз как посчитать синус числа:
2 градуса 32 минуты 15 секунд???
непонимаю как присвоить переменной градусы минуты секунды.

SyDr
20-08-2008, 19:47
2 + 32/60 + 15/3600

morgan1991
20-08-2008, 20:18
Помогите срочно надо.
Вот скрипт:
$nu = (1 + 28 / 60 + 0 / 3600) * 2
$result = Sin($nu)
MsgBox(0, "", $result)
Он должен вывести в сообщении число: 0.05 с копейками, а он выводит 1.93333333333
Тоесть не правильно высчитывает синус числа. Может както можно посчитать синус подругому???

amel27
22-08-2008, 10:42
morgan1991
#include <Math.au3>

$nu = (1 + 28 / 60 + 0 / 3600) * 2
$result = Sin(_Radian ($nu))
MsgBox(0, "", $result)

morgan1991
22-08-2008, 12:16
спс всё клёва просто афигенно помогли.

HORRIBLE
26-08-2008, 11:54
Как сделать секундомер, только чтоб он показывал не секунды, а милисекунды?? без разницы, что цифры будут быстро обновляться и их будет почти не видно, просто как это сделать?

Maza Faka
26-08-2008, 16:42
HORRIBLE
Как именно должен выглядеть таймер? Так: чч:мм:сс:мм? Или просто миллисекунды?

HORRIBLE
27-08-2008, 10:59
Maza Faka,
Ай, забыл указать это.
Вот так: cc:мм

Maza Faka
27-08-2008, 13:49
HORRIBLE
В общем вот быстрый и грубый пример, как реализовать счётчик миллисекунд, но учитывая, что AutoIt - скриптовый язык (а значит работает медленно), немного поигравшись со значениями, примерно подсчитал, что 60 вызовов функции _TimerProc() примерно равны 1 секунде. :) В принципе в сети есть примеры, но они для таких языков, как: C, C++, Delfi. Короче пробуй! ;)
#include <Date.au3>

Global $SecTimer = 0
Global $MsTimer = 0

$hGUI = GUICreate("Timer", 200, 100)

$SecLabel = GUICtrlCreateLabel("00:", 75, 40, 16, 15)

$MSLabel = GUICtrlCreateLabel("", 91, 40, 16, 15)
GUICtrlSetColor(-1, 0xFF0000)

GUISetState()

Global $TimerProcHandle = DllCallbackRegister("_TimerProc", "none", "hwnd;int;int;dword")

Global $TimerCall = DllCall("user32.dll", "int", "SetTimer", "hwnd", 0, "int", 0, "int", 1, _
"ptr", DllCallbackGetPtr($TimerProcHandle))
$TimerCall = $TimerCall[0]

Do
Until GUIGetMsg() = -3

DllCallbackFree($TimerProcHandle)
DllCall("user32.dll", "int", "KillTimer", "hwnd", 0, "int", $TimerCall)

Func _TimerProc($hWnd, $Msg, $IdTimer, $dwTime)
If $MsTimer >= 60 Then
$MsTimer = 0
$SecTimer += 1
If $SecTimer >= 60 Then $SecTimer = 0
ControlSetText($hGUI, "", $SecLabel, StringFormat("%02i:", $SecTimer))
EndIf

$MsTimer += 1

ControlSetText($hGUI, "", $MSLabel, StringFormat("%02i", $MsTimer))
EndFunc

Creat0R
27-08-2008, 17:26
Maza Faka,
примерно подсчитал, что 60 вызовов функции _TimerProc() примерно равны 1 секунде »
Но в одной секунде 1000 мс :)

#include <Date.au3>

Global $SecTimer = 0
Global $MsTimer = TimerInit()

$hGUI = GUICreate("Timer", 200, 100)

$SecLabel = GUICtrlCreateLabel("00:", 75, 40, 16, 15)

$MSLabel = GUICtrlCreateLabel("", 91, 40, 16, 15)
GUICtrlSetColor(-1, 0xFF0000)

GUISetState()

Global $TimerProcHandle = DllCallbackRegister("_TimerProc", "none", "hwnd;int;int;dword")

Global $TimerCall = DllCall("user32.dll", "int", "SetTimer", "hwnd", 0, "int", 0, "int", 1, _
"ptr", DllCallbackGetPtr($TimerProcHandle))
$TimerCall = $TimerCall[0]

Do
Until GUIGetMsg() = -3

DllCallbackFree($TimerProcHandle)
DllCall("user32.dll", "int", "KillTimer", "hwnd", 0, "int", $TimerCall)

Func _TimerProc($hWnd, $Msg, $IdTimer, $dwTime)
If TimerDiff($MsTimer) >= 1000 Then
$MsTimer = TimerInit()
$SecTimer += 1
If $SecTimer >= 60 Then $SecTimer = 0
ControlSetText($hGUI, "", $SecLabel, StringFormat("%02i:", $SecTimer))
EndIf

ControlSetText($hGUI, "", $MSLabel, _
StringFormat("%02i", Round(TimerDiff($MsTimer)) / 10)) ; / 10 это чтобы получить 10-чное представление
EndFunc

MaxxQ
28-08-2008, 03:38
Цитировать »
Цитировать »

Нашел программу для декомпиляции exe обратно в скрипт.:biggrin:
Если кому надо, могу выложить.

Creat0R
28-08-2008, 06:10
MaxxQ, могу выложить »
Не нужно, кому нужно сами найдут, вот лучше бы кто-то придумал способ как защитить наши скомпилированные скрипты от подобных взломов :help: .

MaxxQ
28-08-2008, 06:44
Цитировать »

хммм... а кому они нужны? IMHO, скрипты AutoIt пишутся под конкретные нужды и исключительно для СЕБЯ, или вы продаете их? :)




© OSzone.net 2001-2012