|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36560 |
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно ![]() ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Maza Faka,
Цитата:
Цитата:
На заметку UDF'о-строителю; плохая идея отображать MsgBox'ы прямо из функции, в случае ошибки всегда нужно возвращать её код, пользователь (функцией ![]() ALL Такой вопрос: Как можно перекодировать текст кириллицы в Java-юникод? К примеру «Привет Мир!» будет кодирован так (это я редактор yudit использовал): Нашёл неплохую статью на эту тему, но самому не удаётся сообразить, как всё же (и можно ли вообще) средствами AutoIt'а кодировать кириллицу в Java-Unicode? |
||
------- Отправлено: 07:42, 22-04-2008 | #451 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Creat0R,
Цитата Creat0R:
![]() |
|
------- Отправлено: 08:31, 22-04-2008 | #452 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
MsgBox (0,"", _StringToJava("Привет Мир!")) Func _StringToJava($sText) Local $tw = DllStructCreate("wchar["& StringLen($sText)+1 &"]"), $sOut="" Local $ts = DllStructCreate("ushort["&StringLen($sText)+1 &"]", DllStructGetPtr($tw)) Local $tb = DllStructCreate("byte["&StringLen($sText)*2+2 &"]", DllStructGetPtr($tw)) DllStructSetData($tw, 1, $sText) For $i=1 To StringLen($sText) If DllStructGetData($tb,1,$i*2) Then $sOut &= "\u"& Hex(DllStructGetData($ts,1,$i),4) Else $sOut &= DllStructGetData($tw,1,$i) EndIf Next Return $sOut EndFunc |
|
Отправлено: 13:13, 23-04-2008 | #453 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27,
Цитата:
![]() P.S А обратно можно перекодировать? ![]() |
|
------- Отправлено: 13:41, 23-04-2008 | #454 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
![]() Цитата:
MsgBox (0,"_StringToJava()", '"Привет Мир!" ->'& @CRLF &'"'& _StringToJava("Привет Мир!") &'"') MsgBox (0,"_JavaToString()", '"\u041f\u0440\u0438\u0432\u0435\u0442 \u041c\u0438\u0440!"'& @CRLF &'-> "'& _ _JavaToString("\u041f\u0440\u0438\u0432\u0435\u0442 \u041c\u0438\u0440!") &'"') Func _StringToJava($sText) Local $il = StringLen($sText) Local $tw = DllStructCreate("wchar["& $il+1 &"]"), $sOut="" Local $ts = DllStructCreate("ushort["&$il+1 &"]", DllStructGetPtr($tw)) DllStructSetData($tw, 1, $sText) For $i=1 To StringLen($sText) If DllStructGetData($ts,1,$i)<128 Then $sOut &= DllStructGetData($tw,1,$i) Else $sOut &= "\u"& Hex(DllStructGetData($ts,1,$i),4) EndIf Next Return $sOut EndFunc Func _JavaToString($sText) Local $sOut="", $aText=StringRegExp($sText,"(?:\\u([[:xdigit:]]{4})|[[:ascii:]])",3) For $i=0 To UBound($aText)-1 If StringLen($aText[$i])=1 Then $sOut &= $aText[$i] Else $sOut &= ChrW(Dec($aText[$i])) EndIf Next Return $sOut EndFunc |
||
Последний раз редактировалось amel27, 24-04-2008 в 04:46. Отправлено: 02:03, 24-04-2008 | #455 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27,
Цитата:
Простой пример; если вставить это в адресную строку браузера (Opera / IE / FireFox): То ничего не произойдёт, а если подставить \ под служебные символы: то будет отображено «Привет мир \ ' test». Т.е по сути нужно в самом начале функции добавить примерно это: Только вопрос как пропарсить обратно в _JavaToString() ? хотя тоже наверно можно через RegExp... P.S Кстати, не помешало бы отключать «Opt("Expand(Var/Env)Strings", 0)» для подобной функции, для ускорения обработки ![]() |
|
------- Отправлено: 18:44, 24-04-2008 | #456 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
исправил с учетом твоих замечаний: Func _StringToJava($sText) Local $iLen = StringLen($sText), $sChr, $iAsc Local $tChr = DllStructCreate("wchar["& $iLen+1 &"]"), $sOut="" Local $tAsc = DllStructCreate("ushort["&$iLen+1 &"]", DllStructGetPtr($tChr)) DllStructSetData($tChr, 1, $sText) For $i=1 To StringLen($sText) $sChr = DllStructGetData($tChr,1,$i) $iAsc = DllStructGetData($tAsc,1,$i) If $sChr = "\" Or $sChr = "'" Then $sOut &= "\"& $sChr ElseIf $iAsc<128 Then $sOut &= $sChr Else $sOut &= "\u"& Hex($iAsc,4) EndIf Next Return $sOut EndFunc Func _JavaToString($sText) Local $sOut="", $aText=StringRegExp($sText,"(\\\\|\\'|\\u[[:xdigit:]]{4}|[[:ascii:]])", 3) For $i=0 To UBound($aText)-1 Switch StringLen($aText[$i]) Case 1 $sOut &= $aText[$i] Case 2 $sOut &= StringRight($aText[$i],1) Case 6 $sOut &= ChrW(Dec(StringRight($aText[$i],4))) EndSwitch Next Return $sOut EndFunc |
Отправлено: 05:50, 25-04-2008 | #457 |
Ветеран Сообщения: 825
|
Профиль | Отправить PM | Цитировать amel27, Осеньно надоть в скрипте определять, данная директория или файл реальные или это ссылки ( в смысле NTFS связи ) И самое главное если связи, то на что они указывають?! С надеждой!
|
Отправлено: 00:52, 26-04-2008 | #458 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27,
Цитата:
У меня тут возникла проблема с твоими самопальными _FileSave/OpenDialog() и _FileSelectFolder(); на системе где нет поддержки кириллицы, заголовок с русским текстом отображается некорреткно. Как известно в AutoIt добавили поддержку юникода, и как раз оригинальные функции нормально отображают символы кириллицы, вот можно как то поправить и твои функции, чтобы поддерживали Unicode? ![]() Кстати, в последних бетах к подобным функциям (практический ко всем диалоговым) приделали наконец дополнительный параметр Win Handle ![]() ![]() |
|
------- Отправлено: 01:36, 26-04-2008 | #459 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать NikLok
Насколько я понял речь о символических ссылках, так как для жестких ссылок нельзя отличить ссылку от файла... Имхо различить линк и экземпляр вполне реально через стандартные файловые API, а вот найти путь к оригиналу пока проблематично - полноценные API-функции добавили только в Vista/2008... хотя помнится у API-аналога FileOpenDialog() был флаг, задающий что фозвращает ф-ция - линк или путь к оригиналу... хотя вполне возможно это обычные ярлыки (*.LNK) Creat0R дай линки на используемые редакции (а то их уже было немеренно) или кинь в личку |
Отправлено: 13:05, 26-04-2008 | #460 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ | FOX RED | Защита компьютерных систем | 67 | 21-11-2007 15:05 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|