Что нового

[Окна, Диалоги] Как выводить в tooltip данные из консольного приложения

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
Наклепал скрипт суть в том что выбираешь папки (откуда брать и куда класть) и выводишь в tooltip информацию о том что это консольное приложение выводит (приложение python_mcp).
Фрагмент кода, но он ничего не выводит в tooltip кроме надписи Files и при флаге $STDOUT_CHILD консоль питона пустая
Код:
Local $pid=Run($py & " " & $dread & " " & $sDir & " " & $dDir, "", @SW_MINIMIZE, $STDIO_INHERIT_PARENT)
Local $sOut
While ProcessExists($pid)
ToolTip("Files" & @CRLF & StdoutRead($pid), 20, 20, "Идёт декодирование", 1)
If @error Then ExitLoop
Sleep(20)
WEnd
MsgBox(4096, "Info", "Декодирование ресурсов завершено")
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
Просто напишите реально это или нет.
сообщение исправил, осознал ошибку.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Black_Sunlight [?]
Просто напишите реально это или нет
Скорее да чем нет.

Чтобы решить проблему, нужно увидеть рабочий скрипт, и иметь под рукой запускаемую утилиту в переменной $py.
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
CreatoR [?]
Скорее да чем нет.Чтобы решить проблему, нужно увидеть рабочий скрипт, и иметь под рукой запускаемую утилиту в переменной $py.
Спасибо.
Ну рабочий скрипт это можно, но он мягко говоря много весит вместе с консольным питоном.
https://dl.dropboxusercontent.com/u/3053245/XNB_Decode.7z
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Black_Sunlight [?]
он мягко говоря много весит
5~ mb это много? :smile:

А если так попробовать:
Код:
$pid = Run($py & " " & $dread & " " & $sDir & " " & $dDir, "", @SW_HIDE, $STDIO_INHERIT_PARENT)
$sOut = ''

While ProcessExists($pid)
	$sOut = StdoutRead($pid)
	If @error Then ExitLoop
	
	ToolTip("Files" & @CRLF & $sOut, 20, 20, "Идёт декодирование", 1)
	;Sleep(10) ;возможно из за паузы не все данные передаются
WEnd
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
CreatoR

Так выводит, но только в конце все файлы сразу.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Black_Sunlight
А что делает скрипт питона?
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
CreatoR
эм, ну я питона не знаю, но посмотрев код предполагаю что он проходится по всем файлам *.xnb рекурсивно, потом удаляет расширение, потом загружает в функцию XNBReader весь прочитанный бинарный вид файла и эта функция его распознаёт, декодирует, конвертирует и записывает в файл с соотв. расширением. Ну и выводит в консоль обрабатываемый файл.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Black_Sunlight [?]
ну я питона не знаю
Ну а какая задача то поставлена, знаешь? :smile:
Я же не спрашиваю про то как работает питон и как там всё устроено, я про то, что скрипт питона же используется тобой для чего-то, вот и хотел узнать, для чего именно, возможно эту задачу можно решить и на AutoIt'е.

эта функция его распознаёт, декодирует, конвертирует и записывает в файл с соотв. расширением
Во что декодирует и конвертирует?
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
CreatoR
ну я так далеко не хотел зайти, была задача просто заменить .bat файл для выбора папок,
но потом, я решил попробовать свои силы в выводе того что он выводит в консоль, что бы видеть работу декодировщика, меня постигла неудача, поэтому решил спросить у людей куда намного более знающих в этом вопросе. Научился кое-чему :smile: но заменять полностью скрипты на питоне это для меня через-чур, я конечно представляю что можно HEX посмотреть, научиться определять количество байтов, сделать декодировщик и конвертер AutoIt (а о его потрясающих возможностях я знаю уже очень давно).
Ну а если всё таки вкраце, то 1 .xnb файл может содержать файлы, абсолютно разного содержания, картинка, звук, xml, какой-нить файл текстур, шрифты, и т.д.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Black_Sunlight [?]
я так далеко не хотел зайти
Хорошо, спрошу по другому.
Что ты ожидаешь от работы данного скрипта, т.е в чём твоя конечная задача?

заменять полностью скрипты на питоне это для меня через-чур, я конечно представляю что можно HEX посмотреть, научиться определять количество байтов, сделать декодировщик и конвертер AutoIt
Возможно уже есть декодировщик для твоей задачи. Но пока мы её не узнаем, будет очень сложно делать какие либо выводы.
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
CreatoR
Ну задачи больше нет, это чисто спортивный интерес, но ожидания - это вывод в момент работы по одной строчке в столбик тех файлов, которые в данный момент расшифровываются.
А декодер я пытался найти, на AutoIt его нету.

В общем если это нельзя сделать простым способом, остановимся на решении из #5 поста
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Мда, тяжёлый случай...

Black_Sunlight
Я так понимаю вместо скрипта питона может быть использован совершенно любой скрипт или программа, и не важно что она будет делать? :laugh:

[?]
декодер я пытался найти, на AutoIt его нету.
То что должен делать этот декодер, это секретная информация? Или мы всё таки узнаем что и во что он декодирует?
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
CreatoR
Да, не важно, главное что бы на вход принималось два параметра, папка источник и папка назначения :smile:
Ничего секретного, как я уже писал выше, он берёт любой файл .xnb формата, к примеру возьмём файл latin big.xnb и скрипт питона декодирует в latin big.xml+latin big.png (файлы шрифтов)
Если это не то что имелось ввиду, я не знаю как объяснить :stars:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Black_Sunlight [?]
он берёт любой файл .xnb формата, к примеру возьмём файл latin big.xnb и скрипт питона декодирует в latin big.xml+latin big.png (файлы шрифтов)
А можно получить хотя бы один такой файл, чтобы на деле проверить работу скрипта?
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
Конечно можно, вот несколько trixellogoin - звук, latin big - шрифт и последний текстура в png, шрифты декодируются дольше всех
 
Автор
Black_Sunlight

Black_Sunlight

Новичок
Сообщения
13
Репутация
0
В общем я посмотрел другие приложения, и другие темы, ответ нельзя выводить построчно, только после завершения приложения, если оно читается, а не посылает сигналы скрипту.
 
Верх