Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL  
Форум NeoBook » Всё о программе NeoBook » Сценарии и скриптовые языки в Neobook » Autolt (Выполнение команд Autolt в своем проекте)
Autolt
mishemДата: Вт, 04 Июля 2023, 20:51 | Сообщение # 1
Эксперт форума
Порылся немножко по справке и понял что много команд можно использовать в проектах NeoBook, WisualNeoWin.
Кто заинтересуется:
Скачать Autolt можно здесь.
Справку на русском языке (правда устаревшую) скачать можно здесь.

Мне давно нужен был плагин или функция которые могли бы определять кодировку файла, но...
В Autolt я такую возможность нашел и воплотил в жизнь.

Ниже напишу краткую инструкцию ка это все применить не изучая глубоко Autolt.

Все что нам нужно, создать консольное приложение и запускать его с помощью плагина dmCMDLine. Спасибо Дембелю.

Можно и сам скрипт запускать, но это уже кто как хочет... Не буду расписывть, все равно азы придется постигать, по этому разберетесь.

Пишем скрипт Autolt.
Можно использовать как шаблон.
Код

#NoTrayIcon ;приложение без окна и иконок в трее. Консольное..

;В переменной $CmdLine[0] находится кол-во передаваемых параметров

;В первом параметре всегда передаем название функции
;Если 1 параметр передается, присваиваем переменной $param1 значение которое находится в переменной $CmdLine[1]
If $CmdLine[0] = 1 Then
    Global $param1 = $CmdLine[1]
EndIf
;Если 2 присваиваем двум переменным соответствующие значения
If $CmdLine[0] = 2 Then
    Global $param1 = $CmdLine[1]
    Global $param2 = $CmdLine[2]
EndIf    

;\\\\\\ЗДЕСЬ ПИШЕМ УСЛОВИЯ С НАЗВАНИЕМ ФУНКЦИИ\\\\\\\\\\\\\\\\\\\

;Получить кодировку файла 1параметр = название функции, 2 параметр = путь к файлу:
If $param1 = "FileGetEncoding" Then
    _FileGetEncoding($param2)
EndIf    

; Получить дескриптор указанного окна.
If $param1 = "WinGetHandle" Then
    _WinGetHandle($param2)
EndIf

;\\\\\\ЗДЕСЬ ПИШЕМ САМИ ФУНКЦИИ К КОТОРЫМ ПЕРЕХОДИМ ПОСЛЕ ВЫПОЛНЕНИЯ УСЛОВИЯ ВЫШЕ\\\\\\\\\

;Получить кодировку файла:
Func _FileGetEncoding($param2)
    Local $iResult = FileGetEncoding ($param2) ; Возвращает кодировку файла запущенного скрипта
    If @error Then
        ConsoleWrite (@error) ;Вернет -1 если ошибка
    Else
  ConsoleWrite ($iResult) ;Вернет 0 = ANSI, 32 = UTF16 Little Endian, 64 = UTF16 Big Endian, 128 = UTF8 (с BOM), 256 = UTF8 (без BOM), 512 = Кириллица ?
    EndIf
EndFunc    

; Получить дескриптор указанного окна.
Func _WinGetHandle($param2)
    Local $iResult = WinGetHandle ($param2) ; Получить дескриптор указанного окна.
    If @error Then
        ConsoleWrite (@error) ;Вернет 1 если нет окон
    Else
  ConsoleWrite ($iResult) ;Вернет дескриптор
    EndIf
EndFunc    


Сохраняем файл с расширением au3.
Например сохраним под названием FileGetEncoding.au3.

Далее нужно будет установить программу Autolt хотя бы один раз. Какие файлы отвечают за компиляцию, как компилировать сжатый файл что б был меньше размером, разберетесь сами. В справке прям вначале написано какие фвйлы за что отвечают.

Жмем на файл правой кнопкой мыши и выбираем Cоmpile Script(х86) не зависимо от установленной системы что бы избежать не предвиденных проблем в дальнейшем. Не все функции поддерживают х64.

Скомпилировали. Получили файл FileGetEncoding.exe. Кладем его в папку со своим проектом. Переходим в проект и пишем код откуда будем вызывать написанные нами функции.

Узнать кодировку фала:
Код
SetVar "[ConsoleBuffer]" ""
FileOpenBox "" "Все файлы|*.*" "" "[FileName]" ""
dmRun "[PubDir]FileGetEncoding.exe" " FileGetEncoding [#34][FileName][#34]" "[Result]" "True" "False"


Получить дескриптор окна:
Код
SetVar "[ConsoleBuffer]" ""
dmRun "[PubDir]FileGetEncoding.exe" " WinGetHandle [#34]Безымянный проект VisualNeo[#34]" "[Result]" "True" "False"


Переходим в раздел подпрограмм и пишем две подпрограммы:
Код
:OnConsoleBuffer
    SetVar "[ConsoleBuffer]" "[ConsoleBuffer][Result]"
    SetVar "[Result]" ""
Return
:OnConsoleClose
    If "[Result]" "<>" ""
       SetVar "[ConsoleBuffer]" "[ConsoleBuffer][Result]"
    EndIf
Return


Все. Выполняем FileGetEncoding или WinGetHandle и наблюдаем за переменной [ConsoleBuffer]. В первом случае будет число или -1 при ошибке. Во втором случае дескриптор окна или 1, если окно не найдено с таким заголовком.

Одного или двух параметров будет всегда достаточно. Один когда нужно выполнить функцию без параметров. Два - когда с параметрами.

Эксперементируйте...


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеПорылся немножко по справке и понял что много команд можно использовать в проектах NeoBook, WisualNeoWin.
Кто заинтересуется:
Скачать Autolt можно здесь.
Справку на русском языке (правда устаревшую) скачать можно здесь.

Мне давно нужен был плагин или функция которые могли бы определять кодировку файла, но...
В Autolt я такую возможность нашел и воплотил в жизнь.

Ниже напишу краткую инструкцию ка это все применить не изучая глубоко Autolt.

Все что нам нужно, создать консольное приложение и запускать его с помощью плагина dmCMDLine. Спасибо Дембелю.

Можно и сам скрипт запускать, но это уже кто как хочет... Не буду расписывть, все равно азы придется постигать, по этому разберетесь.

Пишем скрипт Autolt.
Можно использовать как шаблон.
Код

#NoTrayIcon ;приложение без окна и иконок в трее. Консольное..

;В переменной $CmdLine[0] находится кол-во передаваемых параметров

;В первом параметре всегда передаем название функции
;Если 1 параметр передается, присваиваем переменной $param1 значение которое находится в переменной $CmdLine[1]
If $CmdLine[0] = 1 Then
    Global $param1 = $CmdLine[1]
EndIf
;Если 2 присваиваем двум переменным соответствующие значения
If $CmdLine[0] = 2 Then
    Global $param1 = $CmdLine[1]
    Global $param2 = $CmdLine[2]
EndIf    

;\\\\\\ЗДЕСЬ ПИШЕМ УСЛОВИЯ С НАЗВАНИЕМ ФУНКЦИИ\\\\\\\\\\\\\\\\\\\

;Получить кодировку файла 1параметр = название функции, 2 параметр = путь к файлу:
If $param1 = "FileGetEncoding" Then
    _FileGetEncoding($param2)
EndIf    

; Получить дескриптор указанного окна.
If $param1 = "WinGetHandle" Then
    _WinGetHandle($param2)
EndIf

;\\\\\\ЗДЕСЬ ПИШЕМ САМИ ФУНКЦИИ К КОТОРЫМ ПЕРЕХОДИМ ПОСЛЕ ВЫПОЛНЕНИЯ УСЛОВИЯ ВЫШЕ\\\\\\\\\

;Получить кодировку файла:
Func _FileGetEncoding($param2)
    Local $iResult = FileGetEncoding ($param2) ; Возвращает кодировку файла запущенного скрипта
    If @error Then
        ConsoleWrite (@error) ;Вернет -1 если ошибка
    Else
  ConsoleWrite ($iResult) ;Вернет 0 = ANSI, 32 = UTF16 Little Endian, 64 = UTF16 Big Endian, 128 = UTF8 (с BOM), 256 = UTF8 (без BOM), 512 = Кириллица ?
    EndIf
EndFunc    

; Получить дескриптор указанного окна.
Func _WinGetHandle($param2)
    Local $iResult = WinGetHandle ($param2) ; Получить дескриптор указанного окна.
    If @error Then
        ConsoleWrite (@error) ;Вернет 1 если нет окон
    Else
  ConsoleWrite ($iResult) ;Вернет дескриптор
    EndIf
EndFunc    


Сохраняем файл с расширением au3.
Например сохраним под названием FileGetEncoding.au3.

Далее нужно будет установить программу Autolt хотя бы один раз. Какие файлы отвечают за компиляцию, как компилировать сжатый файл что б был меньше размером, разберетесь сами. В справке прям вначале написано какие фвйлы за что отвечают.

Жмем на файл правой кнопкой мыши и выбираем Cоmpile Script(х86) не зависимо от установленной системы что бы избежать не предвиденных проблем в дальнейшем. Не все функции поддерживают х64.

Скомпилировали. Получили файл FileGetEncoding.exe. Кладем его в папку со своим проектом. Переходим в проект и пишем код откуда будем вызывать написанные нами функции.

Узнать кодировку фала:
Код
SetVar "[ConsoleBuffer]" ""
FileOpenBox "" "Все файлы|*.*" "" "[FileName]" ""
dmRun "[PubDir]FileGetEncoding.exe" " FileGetEncoding [#34][FileName][#34]" "[Result]" "True" "False"


Получить дескриптор окна:
Код
SetVar "[ConsoleBuffer]" ""
dmRun "[PubDir]FileGetEncoding.exe" " WinGetHandle [#34]Безымянный проект VisualNeo[#34]" "[Result]" "True" "False"


Переходим в раздел подпрограмм и пишем две подпрограммы:
Код
:OnConsoleBuffer
    SetVar "[ConsoleBuffer]" "[ConsoleBuffer][Result]"
    SetVar "[Result]" ""
Return
:OnConsoleClose
    If "[Result]" "<>" ""
       SetVar "[ConsoleBuffer]" "[ConsoleBuffer][Result]"
    EndIf
Return


Все. Выполняем FileGetEncoding или WinGetHandle и наблюдаем за переменной [ConsoleBuffer]. В первом случае будет число или -1 при ошибке. Во втором случае дескриптор окна или 1, если окно не найдено с таким заголовком.

Одного или двух параметров будет всегда достаточно. Один когда нужно выполнить функцию без параметров. Два - когда с параметрами.

Эксперементируйте...

Автор - mishem
Дата добавления - 04 Июля 2023 в 20:51
mkgДата: Ср, 05 Июля 2023, 16:07 | Сообщение # 2
Любопытный
Экспериментирую. Перекодировал что попало под руку в СР866.
Результат:

ConsoleBuffer=0x000E112C
dmCMDRun=SUCCESS
FileName=G:\êîòëåòû.txt
 
СообщениеЭкспериментирую. Перекодировал что попало под руку в СР866.
Результат:

ConsoleBuffer=0x000E112C
dmCMDRun=SUCCESS
FileName=G:\êîòëåòû.txt

Автор - mkg
Дата добавления - 05 Июля 2023 в 16:07
mishemДата: Ср, 05 Июля 2023, 19:29 | Сообщение # 3
Эксперт форума
Цитата mkg ()
dmCMDRun=SUCCESS

Эта переменная я думаю будет всегда SUCCESS.

Цитата mkg ()
FileName=G:\êîòëåòû.txt

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

Добавлено (05 Июля 2023, 19:34)
---------------------------------------------
mkg, кстати используя Autolt, нужда во многих плагинах отпадет. Можно под себя написать нужные команды. Файл из ехе можно переименовать в dll, он так же будет работать. Язык Autolt похож на NEO, так что думаю у многих проблем не возникнет.
Короче требуется изучение вопроса. Я только поверхностно пробежался. NEO в связке с Autolt дает широкие возможности.

Добавлено (05 Июля 2023, 19:41)
---------------------------------------------

Цитата mkg ()
Перекодировал что попало под руку в СР866.
Результат:

ConsoleBuffer=0x000E112C

Что то сразу не обратил внимания. При чем здесь перекодировал и дескриптор окна?
0x000E112C это дескриптор окна.

Это в разных кнопках нужно прописать:
Цитата mishem ()
Узнать кодировку фала:

Код
SetVar "[ConsoleBuffer]" ""
FileOpenBox "" "Все файлы|*.*" "" "[FileName]" ""
dmRun "[PubDir]FileGetEncoding.exe" " FileGetEncoding [#34][FileName][#34]" "[Result]" "True" "False"


Получить дескриптор окна:

Код
SetVar "[ConsoleBuffer]" ""
dmRun "[PubDir]FileGetEncoding.exe" " WinGetHandle [#34]Безымянный проект VisualNeo[#34]" "[Result]" "True" "False"




Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата mkg ()
dmCMDRun=SUCCESS

Эта переменная я думаю будет всегда SUCCESS.

Цитата mkg ()
FileName=G:\êîòëåòû.txt

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

Добавлено (05 Июля 2023, 19:34)
---------------------------------------------
mkg, кстати используя Autolt, нужда во многих плагинах отпадет. Можно под себя написать нужные команды. Файл из ехе можно переименовать в dll, он так же будет работать. Язык Autolt похож на NEO, так что думаю у многих проблем не возникнет.
Короче требуется изучение вопроса. Я только поверхностно пробежался. NEO в связке с Autolt дает широкие возможности.

Добавлено (05 Июля 2023, 19:41)
---------------------------------------------

Цитата mkg ()
Перекодировал что попало под руку в СР866.
Результат:

ConsoleBuffer=0x000E112C

Что то сразу не обратил внимания. При чем здесь перекодировал и дескриптор окна?
0x000E112C это дескриптор окна.

Это в разных кнопках нужно прописать:
Цитата mishem ()
Узнать кодировку фала:

Код
SetVar "[ConsoleBuffer]" ""
FileOpenBox "" "Все файлы|*.*" "" "[FileName]" ""
dmRun "[PubDir]FileGetEncoding.exe" " FileGetEncoding [#34][FileName][#34]" "[Result]" "True" "False"


Получить дескриптор окна:

Код
SetVar "[ConsoleBuffer]" ""
dmRun "[PubDir]FileGetEncoding.exe" " WinGetHandle [#34]Безымянный проект VisualNeo[#34]" "[Result]" "True" "False"



Автор - mishem
Дата добавления - 05 Июля 2023 в 19:29
mkgДата: Ср, 05 Июля 2023, 20:01 | Сообщение # 4
Любопытный
Я ничего не понял. Зачем мне дескриптор окна, если речь шла об определении кодировки?.
 
СообщениеЯ ничего не понял. Зачем мне дескриптор окна, если речь шла об определении кодировки?.

Автор - mkg
Дата добавления - 05 Июля 2023 в 20:01
mishemДата: Ср, 05 Июля 2023, 22:05 | Сообщение # 5
Эксперт форума
В шаблоне выше две функции. Одна определяет кодировку. Другая дескриптор окна по заголовку или если заголовок не указан, верхнего активного.

Эти команды, вызывают функцию определения кодировки. Помести их в кнопку и запусти проект. При выборе файла увидишь результат в переменной ConsoleBuffer.
Функция в шаблоне FileGetEncoding.
Код

SetVar "[ConsoleBuffer]" ""
FileOpenBox "" "Все файлы|*.*" "" "[FileName]" ""
dmRun "[PubDir]FileGetEncoding.exe" " FileGetEncoding [#34][FileName][#34]" "[Result]" "True" "False"


Это все равно как вызвать подпрограмму в NeoBook, WisualNeoWin. Подпрограмм много, а вызывается нужная по ее имени. Так и в шаблоне, написано 2 функции и каждая вызывается по ее имени.

Код
dmRun "[PubDir]FileGetEncoding.exe" " FileGetEncoding [#34][FileName][#34]" "[Result]" "True" "False"

[PubDir]FileGetEncoding.exe = путь к нашему скомпилированному файлу. У него могло быть любое название.
" FileGetEncoding [#34][FileName][#34]"
FileGetEncoding = 1 параметр. Название вызываемой функции.
[#34][FileName][#34] = 2 параметр. Путь к файлу. Здесь можно писать по несколько параметров для других функций соблюдая структуру передачи параметров.

Это уже вызывает другую функцию из скомпилированного файла.
Код
SetVar "[ConsoleBuffer]" ""
dmRun "[PubDir]FileGetEncoding.exe" " WinGetHandle [#34]Безымянный проект VisualNeo[#34]" "[Result]" "True" "False"


Здесь у нас в качестве параметров передается:
" WinGetHandle [#34]Безымянный проект VisualNeo[#34]"
WinGetHandle = 1 параметр. Название вызываемой функции.
[#34]Безымянный проект VisualNeo[#34] = заголовок окна, по которому нужно получить дескриптор.

В одном файле можно написать хоть 100 функций и вызывать нужную из одного файла. Примерно как в плагине, только без окон помощников. Для себя просто нужно памятку писаь, что бы в следующий раз знать, какая функция за что отвечает.

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

Добавлено (05 Июля 2023, 22:23)
---------------------------------------------
mkg, смотри в шаблон выше. Вот это:

Код
;Получить кодировку файла 1параметр = название функции, 2 параметр = путь к файлу:
If $param1 = "FileGetEncoding" Then
    _FileGetEncoding($param2)
EndIf

Вызывает функцию FileGetEncoding.
Если $param1 = "FileGetEncoding" то вызывается функция расположенная ниже:
Код

;Получить кодировку файла:
Func _FileGetEncoding($param2)
    Local $iResult = FileGetEncoding ($param2) ; Возвращает кодировку файла запущенного скрипта
    If @error Then
        ConsoleWrite (@error) ;Вернет -1 если ошибка
    Else
  ConsoleWrite ($iResult) ;Вернет 0 = ANSI, 32 = UTF16 Little Endian, 64 = UTF16 Big Endian, 128 = UTF8 (с BOM), 256 = UTF8 (без BOM), 512 = Кириллица ?
    EndIf
EndFunc


Вот этот код отвечает за распознование кодировки.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Вот это:
Код
; Получить дескриптор указанного окна.
If $param1 = "WinGetHandle" Then
    _WinGetHandle($param2)
EndIf

Вызывает функцию WinGetHandle. Расположенную еще ниже.

Код
; Получить дескриптор указанного окна.
Func _WinGetHandle($param2)
    Local $iResult = WinGetHandle ($param2) ; Получить дескриптор указанного окна.
    If @error Then
        ConsoleWrite (@error) ;Вернет 1 если нет окон
    Else
  ConsoleWrite ($iResult) ;Вернет дескриптор
    EndIf
EndFunc


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

И вот таким методом ты можешь добавлять любые другие функции которые тебе понадобятся. Читаешь справку Autolt с описанием функций (команд), и пишешь то, что тебе надо.

При том раскладе что я дал выше, результат всегда будет в переменной [ConsoleBuffer].

Код
ConsoleWrite ($Здесь переменная Autolt или текст , или еще что то)

Выводится в консоль.
Плагин Дембля считывает это и выводить в переменную [ConsoleBuffer].

Надеюсь доходчиво объяснил. Не копируйте все подряд. Попробуйте разобраться сначала, как и почему это работает. Что не понятно, подскажу, если сам разберусь. :D


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеВ шаблоне выше две функции. Одна определяет кодировку. Другая дескриптор окна по заголовку или если заголовок не указан, верхнего активного.

Эти команды, вызывают функцию определения кодировки. Помести их в кнопку и запусти проект. При выборе файла увидишь результат в переменной ConsoleBuffer.
Функция в шаблоне FileGetEncoding.
Код

SetVar "[ConsoleBuffer]" ""
FileOpenBox "" "Все файлы|*.*" "" "[FileName]" ""
dmRun "[PubDir]FileGetEncoding.exe" " FileGetEncoding [#34][FileName][#34]" "[Result]" "True" "False"


Это все равно как вызвать подпрограмму в NeoBook, WisualNeoWin. Подпрограмм много, а вызывается нужная по ее имени. Так и в шаблоне, написано 2 функции и каждая вызывается по ее имени.

Код
dmRun "[PubDir]FileGetEncoding.exe" " FileGetEncoding [#34][FileName][#34]" "[Result]" "True" "False"

[PubDir]FileGetEncoding.exe = путь к нашему скомпилированному файлу. У него могло быть любое название.
" FileGetEncoding [#34][FileName][#34]"
FileGetEncoding = 1 параметр. Название вызываемой функции.
[#34][FileName][#34] = 2 параметр. Путь к файлу. Здесь можно писать по несколько параметров для других функций соблюдая структуру передачи параметров.

Это уже вызывает другую функцию из скомпилированного файла.
Код
SetVar "[ConsoleBuffer]" ""
dmRun "[PubDir]FileGetEncoding.exe" " WinGetHandle [#34]Безымянный проект VisualNeo[#34]" "[Result]" "True" "False"


Здесь у нас в качестве параметров передается:
" WinGetHandle [#34]Безымянный проект VisualNeo[#34]"
WinGetHandle = 1 параметр. Название вызываемой функции.
[#34]Безымянный проект VisualNeo[#34] = заголовок окна, по которому нужно получить дескриптор.

В одном файле можно написать хоть 100 функций и вызывать нужную из одного файла. Примерно как в плагине, только без окон помощников. Для себя просто нужно памятку писаь, что бы в следующий раз знать, какая функция за что отвечает.

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

Добавлено (05 Июля 2023, 22:23)
---------------------------------------------
mkg, смотри в шаблон выше. Вот это:

Код
;Получить кодировку файла 1параметр = название функции, 2 параметр = путь к файлу:
If $param1 = "FileGetEncoding" Then
    _FileGetEncoding($param2)
EndIf

Вызывает функцию FileGetEncoding.
Если $param1 = "FileGetEncoding" то вызывается функция расположенная ниже:
Код

;Получить кодировку файла:
Func _FileGetEncoding($param2)
    Local $iResult = FileGetEncoding ($param2) ; Возвращает кодировку файла запущенного скрипта
    If @error Then
        ConsoleWrite (@error) ;Вернет -1 если ошибка
    Else
  ConsoleWrite ($iResult) ;Вернет 0 = ANSI, 32 = UTF16 Little Endian, 64 = UTF16 Big Endian, 128 = UTF8 (с BOM), 256 = UTF8 (без BOM), 512 = Кириллица ?
    EndIf
EndFunc


Вот этот код отвечает за распознование кодировки.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Вот это:
Код
; Получить дескриптор указанного окна.
If $param1 = "WinGetHandle" Then
    _WinGetHandle($param2)
EndIf

Вызывает функцию WinGetHandle. Расположенную еще ниже.

Код
; Получить дескриптор указанного окна.
Func _WinGetHandle($param2)
    Local $iResult = WinGetHandle ($param2) ; Получить дескриптор указанного окна.
    If @error Then
        ConsoleWrite (@error) ;Вернет 1 если нет окон
    Else
  ConsoleWrite ($iResult) ;Вернет дескриптор
    EndIf
EndFunc


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

И вот таким методом ты можешь добавлять любые другие функции которые тебе понадобятся. Читаешь справку Autolt с описанием функций (команд), и пишешь то, что тебе надо.

При том раскладе что я дал выше, результат всегда будет в переменной [ConsoleBuffer].

Код
ConsoleWrite ($Здесь переменная Autolt или текст , или еще что то)

Выводится в консоль.
Плагин Дембля считывает это и выводить в переменную [ConsoleBuffer].

Надеюсь доходчиво объяснил. Не копируйте все подряд. Попробуйте разобраться сначала, как и почему это работает. Что не понятно, подскажу, если сам разберусь. :D

Автор - mishem
Дата добавления - 05 Июля 2023 в 22:05
mkgДата: Ср, 05 Июля 2023, 22:35 | Сообщение # 6
Любопытный
Не всякий ундервуд способен въехать в тут.
Пойду плакать, а потом читать хелп.
 
СообщениеНе всякий ундервуд способен въехать в тут.
Пойду плакать, а потом читать хелп.

Автор - mkg
Дата добавления - 05 Июля 2023 в 22:35
mishemДата: Пт, 07 Июля 2023, 00:05 | Сообщение # 7
Эксперт форума
mkg, давай попробую еще раз.
Пойдем от простого...

Вот это:
Код

#NoTrayIcon
  
Local $iResult = FileGetEncoding ($CmdLine[1]) ; Возвращает кодировку файла запущенного скрипта
If @error Then
    ConsoleWrite (@error) ;Вернет -1 если ошибка
Else
    ConsoleWrite ($iResult) ;Вернет 0 = ANSI, 32 = UTF16 Little Endian, 64 = UTF16 Big Endian, 128 = UTF8 (с BOM), 256 = UTF8 (без BOM), 512 = Кириллица ?
EndIf


копируешь в файл и компилируешь. Это одна единственная функция, которая определяет кодировку.
Скомпилированный файл должен называться GetEncoding.exe

Вот это:
Код

SetVar "[ConsoleBuffer]" ""
FileOpenBox "" "Все файлы|*.*" "" "[FileName]" ""
dmRun "[PubDir]GetEncoding.exe" "[#34][FileName][#34]" "[Result]" "True" "False"


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

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ЧТО ОЗНАЧАЮТ КОМАНДЫ В КОДЕ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

#NoTrayIcon (создать консольное приложение)

Local $iResult(объявить переменную $iResult)= (присвоить переменной $iResult) FileGetEncoding ($CmdLine[1]) (Вызванную функцию FileGetEncoding в которую передается путь к файлу находящийся в переменной $CmdLine[1])
If @error (если ошибка) Then (то)
ConsoleWrite (@error) (записать в консоль 1, которая будет находится в переменной @error)
Else (или)
ConsoleWrite ($iResult)(Записать в консоль результат, который будет находится в переменной $iResult. Вернет 0 = ANSI, 32 = UTF16 Little Endian, 64 = UTF16 Big Endian, 128 = UTF8 (с BOM), 256 = UTF8 (без BOM), 512 = Кириллица под ?, так как в справке этого нет, но у меня возвращает именно это число)
EndIf (конец условия)

Теперь надеюсь если сопоставишь с кодом из первого поста, разберешься. :)

А в первом посте, я показал как вызывать несколько функций из одного файла. Т.е. не делать для каждой функции отдельный файл, а написать сразу несколько и при необходимости вызывать нужную. По сути тот же плагин, только без окон помощника. И тот кто уже разбирается в WisualNeoWin, при небольших умственных усилиях сможет написать для себя много нужных команд, без поиска плагина.

Я думаю, что практически все что есть в плагинах, можно будет каждому для себя сделать с помощью Autolt .


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщениеmkg, давай попробую еще раз.
Пойдем от простого...

Вот это:
Код

#NoTrayIcon
  
Local $iResult = FileGetEncoding ($CmdLine[1]) ; Возвращает кодировку файла запущенного скрипта
If @error Then
    ConsoleWrite (@error) ;Вернет -1 если ошибка
Else
    ConsoleWrite ($iResult) ;Вернет 0 = ANSI, 32 = UTF16 Little Endian, 64 = UTF16 Big Endian, 128 = UTF8 (с BOM), 256 = UTF8 (без BOM), 512 = Кириллица ?
EndIf


копируешь в файл и компилируешь. Это одна единственная функция, которая определяет кодировку.
Скомпилированный файл должен называться GetEncoding.exe

Вот это:
Код

SetVar "[ConsoleBuffer]" ""
FileOpenBox "" "Все файлы|*.*" "" "[FileName]" ""
dmRun "[PubDir]GetEncoding.exe" "[#34][FileName][#34]" "[Result]" "True" "False"


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

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ЧТО ОЗНАЧАЮТ КОМАНДЫ В КОДЕ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

#NoTrayIcon (создать консольное приложение)

Local $iResult(объявить переменную $iResult)= (присвоить переменной $iResult) FileGetEncoding ($CmdLine[1]) (Вызванную функцию FileGetEncoding в которую передается путь к файлу находящийся в переменной $CmdLine[1])
If @error (если ошибка) Then (то)
ConsoleWrite (@error) (записать в консоль 1, которая будет находится в переменной @error)
Else (или)
ConsoleWrite ($iResult)(Записать в консоль результат, который будет находится в переменной $iResult. Вернет 0 = ANSI, 32 = UTF16 Little Endian, 64 = UTF16 Big Endian, 128 = UTF8 (с BOM), 256 = UTF8 (без BOM), 512 = Кириллица под ?, так как в справке этого нет, но у меня возвращает именно это число)
EndIf (конец условия)

Теперь надеюсь если сопоставишь с кодом из первого поста, разберешься. :)

А в первом посте, я показал как вызывать несколько функций из одного файла. Т.е. не делать для каждой функции отдельный файл, а написать сразу несколько и при необходимости вызывать нужную. По сути тот же плагин, только без окон помощника. И тот кто уже разбирается в WisualNeoWin, при небольших умственных усилиях сможет написать для себя много нужных команд, без поиска плагина.

Я думаю, что практически все что есть в плагинах, можно будет каждому для себя сделать с помощью Autolt .

Автор - mishem
Дата добавления - 07 Июля 2023 в 00:05
Форум NeoBook » Всё о программе NeoBook » Сценарии и скриптовые языки в Neobook » Autolt (Выполнение команд Autolt в своем проекте)
  • Страница 1 из 1
  • 1
Поиск: