Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)

Модерирует : gyra, Maz

Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138

   

AddXL

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

AutoIt3

 
Домашняя страница: http://www.autoitscript.com
Страница загрузки: http://www.autoitscript.com/autoit3/downloads.php
 
Описание:

Цитата:
AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя - симуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши и управления окнами и его визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.
Умеет он очень и очень многое! Бесплатный.

 
Помощь по AutoIT:
  • Справку на русском (и не только) вы всегда(?) сможете найти тут
  • Справочник по командам rundll32
  • Русский справочник по API-функциям
  • Помощь по Регулярным выражениям
  • AutoIt v3: Your Quick Guide (652 КБ) - Ваш быстрый гид в мир AutoIt-а (книга в формате pdf)
     
    Инструметы для AutoIt:
  • AutoIt3Wrapper [Страница закачки] - Программа для компилляции скрипта с дополнительными возможностями (добавление иконки, описании и т.п).
  • Koda (724 Kb) - Визуализация работы с GUI - аналог Visual Basic.
  • CodeWizard (400 Kb) - нечто простенькое на вариант Koda.
  • AutoItMacroGenerator (34 Kb) - Записывает в реальном времени действия пользователя в AutoIt код.
  • ScriptWriter (78 Kb) - Аналог AutoItMacroGenerator.
  • API Constants (1042 Kb) - Утилита для просмотра всех констант API-Функции и не только.
  • Страница закачки утилит которые идут в отдельной поставке редактора SciTE.
  • AutoIt меню для браузера Opera
     
    Готовые скрипты и программы с открытым кодом на AutoIt:
  • Коллекция AutoIt скриптов от Sanja Alone
  • Коллекция скриптов на http://msfn.org
  • Пополняющийся со временем сайт с полезными утилитами и функциями на AutoIt
  • Desktop Icons Restorator - Скрипт-Программа для сохранения/восстановления позиции иконок р.стола.
  • CaptureIt - Утилита предназначена для захвата изображений с вашего экрана.
  • SwitchIt - Скрипт для конвертирования выделенного текста
  • Скрипт расскраски кода AutoIt для публикации в форумах
     
    Общие вопросы и решения на Autoit:
  • Обработчик скриптов добавляющий отладчик (debugger)
  • Интеракция между несколькими скриптами
  • Пример использование интеракции между скриптами - Добавление элементов GUI с внешнего модуля
  • Копирование большого файла с отображением данных прогресса
  • Создание динамического меню в Tray Icon (значёк в области уведомления)
  • Пример создания своего мастера (Wizard)
  • Метод позволяющий запускать код VBS не создавая временных файлов
  • Описание функции GUIRegisterMsg()
  • Пример перехвата вводимых символов с клавиатуры
  • Пример деактивирования TabItem
  • Пример вывода лога в Edit-поле (с поддержкой форматирования текста)
  • Пример остановки/начало выполнения скрипта + Слежение за б.обмена с заменой неподдерживаемых в имени файла символов
  • Пример использования меню с иконками (ModernMenu.au3) -> Список программ в меню значка в системном трее
     
  • Как по PID процесса вычислить путь запускаемого файла
  • Получение IP по подключенному сокету
     
    Отдельные функции (UDF):
  • Функции Отключения/Подключения к Интернету
  • Функция проверки подключения к Интернету
  • Функция для получения структуры директории включая подкаталоги
  • Функция для поиска в файлах
  • Функция для смены разрешения экрана
  • Функция для смены раскладки клавиатуры в определённом окне
  • Функция для получения списка процессов с допол. инфой (путь к исполняемому файлу и др.)
  • Функции и пример для отображения детального процесса закачки файла
  • Функция (и пример использования) для отображения стильного диалога “О Программе” - [Усовершенствованная версия]
  • Функция возвращает пронумерованный список всех классов определённого окна + функция получения хендлов для этих классов
  • Функция для получения заголовка окна (или его идентификатора) по ID процесса (PID)
  • Функция _StringIsUTF8Format() + _StringToUTF() - Первая проверяет если строка содержится в UTF-8 формате, вторая преобразовывает строку в UTF-8 формат
  • Функция _FileOpenDialogEx - Возвращает массив (или строку) с полными путями к выбранным файлам
  • _AU3_Lib* Функции - Предназначены для обработки подключаемых библиотек через #include
  • Функция транслитерации строки
  • Расширенная библиотека для работы с реестром
     
    За шапкой следит ViSiToR  

  • Всего записей: 6 | Зарегистр. 24-11-2005 | Отправлено: 13:20 24-11-2005 | Исправлено: Maz, 11:50 17-04-2017
    timsky



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR

    Цитата:
    А почему именно ICQ? есть на оф. сайте примеры передачи данных через TCP, можно таким же образом посылать и команды, выполнять код и т.п.

     
    Он за файрволом же.
     
    ynbIpb
    Не заморачивайся и юзай Hamachi для создания связи с компом на работе.

    Цитата:
    Если вы используете Hamachi для собственных некоммерческих нужд, это приложение является 100% бесплатным

     
    http://forum.ru-board.com/topic.cgi?forum=35&topic=33791&start=160#lt
     
    Добавлено:
    Кстати, работа с ICQ протоколом интересна и мне. Может есть какой клиент, который поддерживает параметры ком строки или еще что-нибудь для интеграции с сторонними аппликухами?

    Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 01:17 16-10-2008
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    ViSiToR
    Thanks

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 05:35 16-10-2008 | Исправлено: Tipulatoid, 05:36 16-10-2008
    SysLam

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR

    Цитата:
    так, вроде побыстрее будет

    тогда еще так кста оправданность StringIsASCII() в данном случае спорна

    Код:
    $sCyrrilicString = "Привет, Как дела?"
     
    $sTranslitString = _Translit_Proc($sCyrrilicString)
    MsgBox(64, "_Translit_Proc in Action!", $sCyrrilicString & @CRLF & $sTranslitString)
     
    Func _Translit_Proc($sString)
        Local Const $aCyrTab[67] = [66, "а","б","в","г","д","е","ё" ,"ж" ,"з","и","й","к","л","м","н","о","п", _
                                        "р","с","т","у","ф","х","ц" ,"ч" ,"ш","щ","ь","ъ","ы","э","ю","я" , _
                                        "А","Б","В","Г","Д","Е","Ё" ,"Ж" ,"З","И","Й","К","Л","М","Н","О","П", _
                                        "Р","С","Т","У","Ф","Х","Ц" ,"Ч" ,"Ш","Щ","Ь","Ъ","Ы","Э","Ю","Я" ]
        Local Const $aLatTab[67] = [66, "a","b","v","g","d","e","yo","zh","z","i","j","k","l","m","n","o","p", _
                                        "r","s","t","u","f","h","ts","ch","sh","sch","''",'"',"y","e","yu","ya", _
                                        "A","B","V","G","D","E","YO","ZH","Z","I","J","K","L","M","N","O","P","R", _
                                        "S","T","U","F","H","TS","CH","SH","SCH","''",'"',"Y","E","YU","YA"]
     
        For $i = 1 To $aCyrTab[0]
             $sString = StringReplace($sString, $aCyrTab[$i], $aLatTab[$i], 0, 2)
        Next
     
        Return $sString
    EndFunc  ;==>_Translit_Proc

    Всего записей: 46 | Зарегистр. 05-10-2005 | Отправлено: 11:28 16-10-2008 | Исправлено: SysLam, 03:05 17-10-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SysLam 11:28 16-10-2008
    Цитата:
     оправданность StringIsASCII() в данном случае спорна

    Почему? Таким образом будет выход из цикла если строка уже не нуждается в транслитерации
     
    Добавлено:
    Кстати там есть баг, в заглавных после D нужно E а не T

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 18:19 16-10-2008
    SysLam

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR

    Цитата:
    там есть баг
    исправил

    Цитата:
    выход из цикла если строка уже не нуждается в транслитерации  
    да, но добавляется около 60 лишних сканирований входной строки StringIsASCII(), для длинного текста это потеря приличного количества тиков

    Всего записей: 46 | Зарегистр. 05-10-2005 | Отправлено: 03:50 17-10-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SysLam 03:50 17-10-2008
    Цитата:
    добавляется около 60 лишних сканирований входной строки StringIsASCII()

    Тогда можно сначала проверять @extended...
     
    Но вообще да, согласен, это замедляет:
     

    Код:
    $sCyrrilicString = "Привет, Как дела?"
     
    Sleep(100) ;Это чтобы сравнять таймеры на равные уровни, есть теория что при запуске идёт задержка в таймере
     
    $iTimer = TimerInit()
    _Translit_Proc_1($sCyrrilicString)
    ConsoleWrite("_Translit_Proc_1: " & TimerDiff($iTimer) & @CRLF)
     
    $iTimer = TimerInit()
    _Translit_Proc_2($sCyrrilicString)
    ConsoleWrite("_Translit_Proc_2: " & TimerDiff($iTimer) & @CRLF)
     
    Func _Translit_Proc_1($sString)
        Local Const $aCyrTab[67] = [66, "а","б","в","г","д","е","ё" ,"ж" ,"з","и","й","к","л","м","н","о","п", _
                                        "р","с","т","у","ф","х","ц" ,"ч" ,"ш","щ","ь","ъ","ы","э","ю","я" , _
                                        "А","Б","В","Г","Д","Е","Ё" ,"Ж" ,"З","И","Й","К","Л","М","Н","О","П", _
                                        "Р","С","Т","У","Ф","Х","Ц" ,"Ч" ,"Ш","Щ","Ь","Ъ","Ы","Э","Ю","Я" ]
        Local Const $aLatTab[67] = [66, "a","b","v","g","d","e","yo","zh","z","i","j","k","l","m","n","o","p", _
                                        "r","s","t","u","f","h","ts","ch","sh","sch","''",'"',"y","e","yu","ya", _
                                        "A","B","V","G","D","E","YO","ZH","Z","I","J","K","L","M","N","O","P","R", _
                                        "S","T","U","F","H","TS","CH","SH","SCH","''",'"',"Y","E","YU","YA"]
     
        For $i = 1 To $aCyrTab[0]
            $sString = StringReplace($sString, $aCyrTab[$i], $aLatTab[$i], 0, 2)
        Next
     
        Return $sString
    EndFunc  ;==>_Translit_Proc_1
     
    Func _Translit_Proc_2($sString)
        Local Const $aCyrTab[67] = [66, "а","б","в","г","д","е","ё" ,"ж" ,"з","и","й","к","л","м","н","о","п", _
                                        "р","с","т","у","ф","х","ц" ,"ч" ,"ш","щ","ь","ъ","ы","э","ю","я" , _
                                        "А","Б","В","Г","Д","Е","Ё" ,"Ж" ,"З","И","Й","К","Л","М","Н","О","П", _
                                        "Р","С","Т","У","Ф","Х","Ц" ,"Ч" ,"Ш","Щ","Ь","Ъ","Ы","Э","Ю","Я" ]
        Local Const $aLatTab[67] = [66, "a","b","v","g","d","e","yo","zh","z","i","j","k","l","m","n","o","p", _
                                        "r","s","t","u","f","h","ts","ch","sh","sch","''",'"',"y","e","yu","ya", _
                                        "A","B","V","G","D","E","YO","ZH","Z","I","J","K","L","M","N","O","P","R", _
                                        "S","T","U","F","H","TS","CH","SH","SCH","''",'"',"Y","E","YU","YA"]
     
        For $i = 1 To $aCyrTab[0]
            $sString = StringReplace($sString, $aCyrTab[$i], $aLatTab[$i], 0, 2)
            If @extended = 0 And StringIsASCII($sString) Then ExitLoop
        Next
     
        Return $sString
    EndFunc  ;==>_Translit_Proc_2


    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 06:43 17-10-2008
    Max_Stupino

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть ли какие-нибудь процедуры, функции, объекты для работы с FTP? Напрямую или через прокси?

    Всего записей: 1 | Зарегистр. 17-10-2008 | Отправлено: 12:58 17-10-2008
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Max_Stupino
    Посмотри здесь

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 14:11 17-10-2008
    spol81

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите написать скрипт, движение при помощи кнопок клавитауру по спирали от цетра к краям
     
     
     
     
    это движение по кругу:
     
    WinWaitActive("Windows Mobile 6 Professional - VGA")
    $i = 0
    Do
    $i = $i + 1
    Send("{LEFT}")
    Send("{DOWN}")
    Send("{RIGHT}")
    Send("{UP}")
    Sleep (2000)
     
    Until $i = -1

    Всего записей: 54 | Зарегистр. 14-05-2004 | Отправлено: 18:28 17-10-2008 | Исправлено: spol81, 19:46 17-10-2008
    Leagnus

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ребята, суперовский скрипт – при нажатии CTRL+SHIFT+ALT+I в Scite добавляет в скрипт те инклуды, которые пропущены из-за перехода на новую версию AutoIt. Качать нужно 4.3.zip, создавать папку SciTE\OrganizeIncludes\ и кидать туда OrganizeIncludes4.3.au3
    в SciTEUser.properties прописывать команду его запуска типа:
    command.name.37.*=<br /> delete
    command.37.*=dofile $(SciteDefaultHome)\tools\HtmlBreak-deleter.lua
    command.mode.37.*=subsystem:lua,savebefore:no
    при первом запуске, покажется гуй – в нём можно поставить галочку на  
    способе вставки:
    Place after keyword – значит в теле скрипта после ключевого слова
    Place at top – значит в самом верху < я выбрал этот вариант
    и галочку на
    "SilentMode" – тогда гуя при всяком нажатии на сочеталово не будет а скрипт сразу будет вставлять нужные библиотеки куда укзали.

    Всего записей: 148 | Зарегистр. 12-09-2008 | Отправлено: 23:01 17-10-2008 | Исправлено: Leagnus, 23:03 17-10-2008
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    spol81
    Попробуй так:

    Код:
    WinWaitActive("Windows Mobile 6 Professional - VGA")
     
    $sCount = 0
     
    Do
        $sCount += 1
     
        For $i = 1 To $sCount
            Send("{LEFT}")
        Next
        For
    $i = 1 To $sCount
            Send("{DOWN}")
        Next
        For
    $i = 1 To $sCount
            Send("{RIGHT}")
        Next
        For
    $i = 1 To $sCount
            Send("{UP}")
        Next
     
        Sleep(2000)
    Until $i = 100

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 09:31 18-10-2008
    gregaz



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Очень часто мне приходится выполнять переименование файлов в транслите ,  
     а  затем восстанавливать имена .
     Приходится выполнять и ретранслит имен  файлов , причем  , выполненных  
     с различным  кодами транслита
     
        Вот попробовал сделать универсальный скрипт Транслит-Ретранслит  
     по способу (  SysLam, 05:05 17-10-2008  ) :  
     

    Код:
    $sCyrrilicString = ' "ПОДЪЕЗД Разъезд печь" РАЗЪЕЗД ПЕЧЬ КРЫША крыша роща РОЩА ' & _
                       "' caplya tsaplya'   SCHUKA SH`UKA"
     
    $sTranslitString = _Translit_ReTranslit_Proc($sCyrrilicString,1)
    $sReTranslitString=_Translit_ReTranslit_Proc($sTranslitString ,2)
    $sCorrectString=_Correct($sReTranslitString)
    ConsoleWrite ($sCyrrilicString & @CRLF & $sTranslitString & @CRLF &  $sCorrectString & @CRLF)
     
    Func _Translit_ReTranslit_Proc($sString,$fl=1)
     
        Local Const $aCyrTab[73] = [72, "щ","Щ","ы","Ы", _
                                        "щ","Щ", _
                                        "ё","ж","ц","ч","ш","ъ","э","ю","я", _
                                        "Ё","Ж","Ц","Ч","Ш","Ъ","Э","Ю","Я", _
                                        "а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ь","ы", _
                                        "А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ь","Ы", _
                                        "ц","Ц"]
     
        Local Const $aLatTab[73] = [72, "sh`","SH`","i`","I'", _
                                        "sch","SCH", _
                                        "yo" ,"zh" ,"ts","ch","sh",'``',"e'","yu","ya", _
                                        "YO" ,"ZH" ,"TS","CH","SH",'``',"E'","YU","YA", _
                                        "a","b","v","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","h","`","y", _
                                        "A","B","V","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","H","`","Y", _
                                        "c","C"]
        For $i = 1 To $aLatTab[0]
            If $fl=1  Then $sString = StringReplace($sString, $aCyrTab[$i],$aLatTab[$i], 0, 2)
            If $fl=2  Then $sString = StringReplace($sString, $aLatTab[$i],$aCyrTab[$i], 0, 2)
        Next
     
        Return $sString
    EndFunc  ;==>_Translit_ReTranslit_Proc
     
    Func _Correct($sString)
     
        Local $newString
     
        For $i=1 To StringLen ($sString)
            $letter=StringMid( $sString, $i,1)
            If $letter="ъ" Or $letter="Ъ" Or $letter="ь" Or $letter="Ь" Then
                $letter0=StringMid( $sString, $i+1,1)
                If $letter0  =' ' Then $letter0=StringMid($sString, $i-1,1)
                If StringIsUpper  ($letter0) Then $letter=StringUpper ($letter)
            EndIf
            $newString &= $letter
        Next
     
        Return $newString
     
    EndFunc

     
     Для выполнения ретранслита из другой кодировки транслита - достаточно добавить  в массивы дополнительные коды (показаны на 1 и последних строчках массивов )
     Однако никак не могу вставить в основную функцию определение регистра у  букв :  Ь  и   Ъ  
     Пришлось делать дополнительную функцию Корректировки  
     Использовать сдвоенные знаки у часто используемых  ь  и Ь не хочется  
     
     Помогите реализовать это в основной функции , если это возможно .

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 19:59 18-10-2008
    frozen2

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите с написанием скрипта. Он служит для скачки интернет-радио.
     

    Код:
     
    WinActivate("Total Commander 7.04a - University of Amsterdam")
    Send("{LEFT}")
    Send("cm_FtpNew")
    Send("{Enter}")
    Send("http://80.70.96.155:8000/radio_record.mp3", 1)
    Send("{Enter}")
    Send("j:\record", 1 )
    Send("{Enter}")
     

     
    Вместо  
    http://80.70.96.155:8000/radio_record.mp3
     
    при выполнении скрипта высылается вот это:
    http^||80/70/96/155^8000|radio_record/mp3
     
    Как сделать, чтобы текст высылался как есть?

    Всего записей: 19 | Зарегистр. 18-10-2008 | Отправлено: 22:44 18-10-2008 | Исправлено: frozen2, 22:59 18-10-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    frozen2 22:44 18-10-2008
    Цитата:
    при выполнении скрипта высылается вот это

    Странно... я бы в таком случае использовал б.обмена (если конечно нет возможности получить идентификатор/класс контроля):
     

    Код:
     
    _InsertString("http://80.70.96.155:8000/radio_record.mp3")
     
    Func _InsertString($sString)
        Local $sOldClip = ClipGet()
        ClipPut($sString)
     
        Send("+{Insert}")
        ClipPut($sOldClip)
    EndFunc

     
    Добавлено:
    frozen2
    Хех, я не заметил сразу что это TC , тогда можно через идентификаторы, контролы у него видны хорошо :
     

    Код:
    $sMainTitle = "[CLASS:TTOTAL_CMD;TITLE:Total Commander 7.04a - University of Amsterdam]"
     
    ;WinActivate($sMainTitle)
     
    ControlSetText($sMainTitle, "", "Edit1", "cm_FtpNew")
    ControlSend($sMainTitle, "", "Edit1", "{Enter}")
     
    $sFtpTitle = "[CLASS:TNewConnDlg;TITLE:ftp]"
     
    WinWait($sFtpTitle, "", 5)
     
    ControlSetText($sFtpTitle, "", "Edit1", "http://80.70.96.155:8000/radio_record.mp3")
    ControlClick($sFtpTitle, "", "TButton3")
     
    WinWaitClose($sFtpTitle, "", 5)
     
    ControlSetText($sMainTitle, "", "Edit1", "j:\record")
    ControlSend($sMainTitle, "", "Edit1", "{Enter}")


    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 02:17 19-10-2008
    SysLam

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gregaz
    не очень быстро, зато прозрачно:

    Код:
    $sCyrrilicString = ' "Пьезо ПОДЪЕЗД Разъезд печь" РАЗЪЕЗД ПЕЧЬ КРЫША крыша роща РОЩА ' & _
                        "' caplya tsaplya'   SCHUKA SH`UKA"
     
    $sTranslitString = _Translit_ReTranslit_Proc($sCyrrilicString,1)
    $sReTranslitString=_Translit_ReTranslit_Proc($sTranslitString,2)
    ConsoleWrite ($sCyrrilicString & @CRLF & $sTranslitString & @CRLF & $sReTranslitString & @CRLF)
     
    Func _Translit_ReTranslit_Proc($sString,$fl=1)
     
        Local Const $aCyrTab[73] = [72, "щ","Щ","ы","Ы", _
                                         "щ","Щ", _
                                         "ё","ж","ц","ч","ш","ъ","э","ю","я", _
                                         "Ё","Ж","Ц","Ч","Ш","Ъ","Э","Ю","Я", _
                                         "а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ь","ы", _
                                         "А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ь","Ы", _
                                         "ц","Ц"]
     
        Local Const $aLatTab[73] = [72, "sh`","SH`","i`","I'", _
                                         "sch","SCH", _
                                         "yo" ,"zh" ,"ts","ch","sh",'``',"e'","yu","ya", _
                                         "YO" ,"ZH" ,"TS","CH","SH",'``',"E'","YU","YA", _
                                         "a","b","v","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","h","`","y", _
                                         "A","B","V","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","H","`","Y", _
                                         "c","C"]
        For $i = 1 To $aLatTab[0]
            If $fl=1  Then $sString = StringReplace($sString, $aCyrTab[$i],$aLatTab[$i], 0, 2)
            If $fl=2  Then $sString = StringReplace($sString, $aLatTab[$i],$aCyrTab[$i], 0, 2)
        Next
        If $fl=2  Then
            $sString = StringRegExpReplace($sString, "([А-Я,Ё]{2,})([ь])","\1Ь")
            $sString = StringRegExpReplace($sString, "([А-Я,Ё]{2,})([ъ])","\1Ъ")
            $sString = StringRegExpReplace($sString, "([ь])([А-Я,Ё])","Ь\2")
            $sString = StringRegExpReplace($sString, "([ъ])([А-Я,Ё])","Ъ\2")
     
            $sString = StringRegExpReplace($sString, "([а-я,ё]{2,})([Ь])","\1ь")
            $sString = StringRegExpReplace($sString, "([а-я,ё]{2,})([Ъ])","\1ъ")
            $sString = StringRegExpReplace($sString, "([Ь])([а-я,ё])","ь\2")
            $sString = StringRegExpReplace($sString, "([Ъ])([а-я,ё])","ъ\2")
        EndIf
        Return $sString
    EndFunc  ;==>_Translit_ReTranslit_Proc

    Всего записей: 46 | Зарегистр. 05-10-2005 | Отправлено: 11:40 19-10-2008 | Исправлено: SysLam, 12:26 19-10-2008
    gal7

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нет ли какого-нибудь транслятора с .au3 в .vbs? Наоборот вроде есть, а такого не нашел.

    Всего записей: 145 | Зарегистр. 03-06-2007 | Отправлено: 15:37 19-10-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    gal7 15:37 19-10-2008
    Цитата:
    Нет ли какого-нибудь транслятора с .au3 в .vbs?

    Не думаю, оно будет посложнее чем с vbs на autoit. В vbs не поддерживаются слишком многие свойства аутоита. Да и зачем оно?

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:53 19-10-2008
    gregaz



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SysLam  14:26 19-10-2008
    Цитата:
       
            $sString = StringRegExpReplace($sString, "([А-Я,Ё]{2,})([ь])","\1Ь")  
            $sString = StringRegExpReplace($sString, "([А-Я,Ё]{2,})([ъ])","\1Ъ")  
             
            $sString = StringRegExpReplace($sString, "([ь])([А-Я,Ё])","Ь\2")  
            $sString = StringRegExpReplace($sString, "([ъ])([А-Я,Ё])","Ъ\2")  
            $sString = StringRegExpReplace($sString, "([а-я,ё]{2,})([Ь])","\1ь")  
            $sString = StringRegExpReplace($sString, "([а-я,ё]{2,})([Ъ])","\1ъ")  
            $sString = StringRegExpReplace($sString, "([Ь])([а-я,ё])","ь\2")  
            $sString = StringRegExpReplace($sString, "([Ъ])([а-я,ё])","ъ\2")  

         
    Не силен в регулярных выражениях.Если не трудно - разжуй.
    В чем необходимость нижних 6 строк , когда вроде достаточно верхних 2-х ?

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 17:05 19-10-2008 | Исправлено: gregaz, 17:10 19-10-2008
    Leagnus

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    У кого-нибудь осталась функция _HTTPEncodeString? Обыскал оффорум  не нашёл.

    Всего записей: 148 | Зарегистр. 12-09-2008 | Отправлено: 18:29 19-10-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Leagnus 18:29 19-10-2008
    Цитата:
    У кого-нибудь осталась функция _HTTPEncodeString? Обыскал оффорум  не нашёл.

    Какой форум? Первый же результат при поиске с запросом «_HTTPEncodeString» на оф. форуме выдаёт HTTP UDF's, в которых есть эта функция.

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:38 20-10-2008
       

    Страницы: 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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)
    Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru