Что нового

TidySource - аккуратный код в SciTE

Автор
A

asdf8

Скриптер
Сообщения
564
Репутация
152
Да, пропало вложение из первого поста. Добавлю код выхода процесса и обновлю шапку.
 
Автор
A

asdf8

Скриптер
Сообщения
564
Репутация
152
Обновил первый пост
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8
Возможно ли переделать скрипт для работы без SciTE? В принципе?
Что-то запутался :smile:
 
Автор
A

asdf8

Скриптер
Сообщения
564
Репутация
152
Skif_off [?]
Возможно ли переделать скрипт для работы без SciTE? В принципе?
Скрипт и так должен поддерживать работу без SciTE
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8
Протупил, забыл, что в окно консоли вывод не пишет, пока не скомпилируешь. Т.е. остаётся только подпилить _GetApiInfo(), чтобы утилита могла искать *.api рядом?
 
Автор
A

asdf8

Скриптер
Сообщения
564
Репутация
152
Skif_off [?]
Т.е. остаётся только подпилить _GetApiInfo(), чтобы утилита могла искать *.api рядом?
Точно. Кстати этот момент я упустил, что для режима работы без SciTe нужно где-то брать api-файлы.
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8
По идее так
Код:
If SciTE_Init() Then
		$aPath = StringRegExp(SciTE_GetProperty('api.$(au3)'), '([^;]+)', 3)
	Else
		$aPath = _FileListToArray(@ScriptDir, 'au3*.api', 1)
	EndIf

проще всего?
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8
Вы выложите исправленную версию? Не хотелось бы самому, чтобы не заниматься проверками после выхода новых версий :smile:
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8
Потерялось
Код:
#Include <Array.au3>

В функции _ArProc() два вызова _ArraySort().

Ещё ругается на недекларированную переменную $aPath в _GetApiInfo().

В AkelPad не пишет в панель вывода, при запуске скриптом с RunWait() всегда возвращает 2.
 
Автор
A

asdf8

Скриптер
Сообщения
564
Репутация
152
Skif_off [?]
Потерялось
#Include <Array.au3>
В функции _ArProc() два вызова _ArraySort().
Array.au3 входит в состав File.au3


Ещё ругается на недекларированную переменную $aPath в _GetApiInfo().
исправил


В AkelPad не пишет в панель вывода, при запуске скриптом с RunWait() всегда возвращает 2.
Запуск был с параметром NoGui? Моя ошибка - в консольном варианте в любом случае должен был быть вывод в консоль.
Исправил.
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8 сказал(а):
Array.au3 входит в состав File.au3
Проверил - так и есть, только компилил в 3.3.8.1, там пока нет, учту.

asdf8 сказал(а):
Запуск был с параметром NoGui?
Да, спасибо.


Добавлено:
Сообщение автоматически объединено:

asdf8
Что-то не получается с кодом выхода: всегда 0 для скомпилированного скрипта и 2 для нескомпилированного. Или компилировать нужно с
Код:
#AutoIt3Wrapper_Change2CUI=y

?
 
Автор
A

asdf8

Скриптер
Сообщения
564
Репутация
152
Skif_off [?]
Что-то не получается с кодом выхода: всегда 0 для скомпилированного скрипта и 2 для нескомпилированного.

Что-то не получается с кодом выхода: всегда 0 для скомпилированного скрипта и 2 для нескомпилированного.
0 - это значит все отработало без ошибок.
2 - все отработало нормально, но не найдены файлы au3*.api и обработка по данным из них не проводилась.
Рядом с нескомпилированным скриптом есть файлы au3*.api?
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8
Если ошибки есть и они выводятся в панель вывода, то почему 0?
Файл au3.api лежит рядом со скомпилированным скриптом, а вот с нескомпилированным нет, слажал.
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8
Не мудрствуя лукаво просто удаляю Then в любом условии If...EndIf и получаю в консоли:
Строка(n) : ОШИБКА: неправильный отступ


Добавлено:
Сообщение автоматически объединено:

Кажется, дошло: в консоль пишет, но $iErrOut не меняется. Т.е. Код выхода 0 - штатная работа, но не ошибки в обрабатываем скрипте?
 
Автор
A

asdf8

Скриптер
Сообщения
564
Репутация
152
Skif_off [?]
Не мудрствуя лукаво просто удаляю Then в любом условии If...EndIf и получаю в консоли:
Для проверки таких ошибок лучше, все-таки использовать Au3Check
 

Skif_off

Знающий
Сообщения
173
Репутация
12
asdf8
Пожалуй, да, вы правы: пытаюсь автоматизировать и упростить проверку, а сейчас подумал - раз результат работы TidySource всё равно будет записан в файл, имеет смысл предварительно запустить Au3Check (код выхода Au3Check всё равно проверяю, если всё нормально, проверка и запуск TidySource пройдут без участия пользователя).
 
Автор
A

asdf8

Скриптер
Сообщения
564
Репутация
152
OffTopic:

Skif_off [?]
По правде говоря, соль не пойму. Хорошая концепция в SciTE4AutoIt3 - проверка кода на ошибки производится отдельно, или перед запуском/компиляцией скрипта. Для форматирования кода, чем и занимается TidySource, главное суметь без ошибок прочитать исходный код, записать обработанный код и проверить не изменился ли синтаксис кода во время обработки.

 
Верх