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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    И ещё можно заменить это (функция HotKeys_Proc()):  
     
     
    Код:            If Number(StringReplace(@AutoItVersion, ".", "")) <= 3281 Then  
                    _GUICtrlEditSetSel($Main_Edit, 0, StringLen(GUICtrlRead($Main_Edit)))  
                Else  
                    _GUICtrlEdit_SetSel($Main_Edit, 0, StringLen(GUICtrlRead($Main_Edit)))  
                EndIf  
     
     
     
    на это:  
     
     
    Код:GUICtrlSendMsg($Main_Edit, $EM_SETSEL, 0, StringLen(GUICtrlRead($Main_Edit)))

    Не нашел там этого...
     
    Вобщем, замучался я ломать голову, в каком месте скрипта произошла ошибка. Все они у меня работают в откомпиленом виде и я накатал для себя скрипт, который добавляет в исходник после каждой строки это: TraySetToolTip("Debug line - {номер строки}")
     

    Код:
    AutoItSetOption('TrayAutoPause', 0)
    AutoItSetOption('TrayOnEventMode', 1)
     
    If $CmdLineRaw = '' Then
        $file = FileOpenDialog('Select file to write debug info', @WorkingDir & '\', 'AutoIt script (*.au3)', 1)
        If @error Then
            MsgBox(16, 'No file chosen...', 'Program will now close.')
            Exit
        EndIf
    Else

        $file = StringReplace($CmdLineRaw, '"', '')
    EndIf
     
    $read = FileOpen($file, 0)
    $name = StringReplace($file, '.au3', '') & '-Debug.au3'
     
    If FileExists($name) Then FileDelete($name)
     
    $new = FileOpen($name, 1)
     
    $i = 1
    While 1
        $line = FileReadLine($read, $i)
        If @error = -1 Then ExitLoop
        FileWriteLine($new, 'TraySetToolTip("Debug line - ' & $i & '")')
        FileWriteLine($new, $line)
        $i = $i + 1
    WEnd
     
    FileClose($read)
    FileClose($new)

     
    Я пишу код в одну строчку, поэтому с моими скриптами проблем никаких нет. Проверка синтаксиса бывает, ругается на конструкции типа Select Case, но все работает, можете сами проверить.... по крайней мере у меня на тех скриптах, на которых успел протестить... много не тестил.
     
    Да, забыл сказать, что он заточен для работы в в откомпиленом виде тоже
    Кидаете линк на него в Sent to и таким макаром юзайте - так удобнее. Кто хочет - может просто его запускать и выбирать файл.

    Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 23:56 13-10-2008 | Исправлено: timsky, 00:04 14-10-2008
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Hackproof
    На офф. форуме не пробовал спросить?

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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно ли как-то производить нажатие пункта MENU, либо пункта в TOOLBAR без реального перемещения мыши по экрану(т.е. чтобы мышь не принимала в этом участия, только программно)? Надо в сторонней программе автоматизировать эти нажатия. Ничего похожего не смог найти. Например, для кнопок есть такое, а для этого не нашел

    Всего записей: 145 | Зарегистр. 03-06-2007 | Отправлено: 13:40 14-10-2008
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Туго у меня рэгэкспы идут
    Подскажите, пож., как в такой строке 1_ТФ_СаГА_Per_8.htm заменить то, что находится между _ и . (в данном случае 8) на, скажем, 12
    И второй вопрос. Как из строки javascript:load('1_ТФ_СаГА_Per_8.htm') получить все что в скобках, т.е. '1_ТФ_СаГА_Per_8.htm'

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 13:49 14-10-2008 | Исправлено: Tipulatoid, 13:51 14-10-2008
    Astra55



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    gal7
    Alt+буква шортката не подходят?

    ----------
    Per warez ad scientiam

    Всего записей: 11717 | Зарегистр. 16-05-2003 | Отправлено: 14:52 14-10-2008
    Maza Faka



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

    Цитата:
    производить нажатие пункта MENU, либо пункта в TOOLBAR

    Так MENU или TOOLBAR? И в какой программе?
     
    Astra55

    Цитата:
    Alt+буква шортката не подходят?

    Не сработает при раскладке клавиатуры отличной от English(US). Хотя это тоже можно обойти
     
    Добавлено:
    Tipulatoid

    Цитата:
    Туго у меня рэгэкспы идут

    Попробуй так:

    Код:
     
    $string = "1_ТФ_СаГА_Per_8.htm"
    MsgBox(0, "", StringRegExpReplace($string, "_(\d+)\.", "_12."))
     
    $string = "javascript:load('1_ТФ_СаГА_Per_8.htm')"
    MsgBox(0, "", StringRegExpReplace($string, ".*\((.*)\).*", "\1"))
     

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

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

    Цитата:
    Alt+буква шортката не подходят?


    Цитата:
    Не сработает при раскладке клавиатуры отличной от English

    Еще там нужно сначала получить фокус окна, затем слать комбинацию-постоянно будет мелькать окно, потом другое опять устанавливать и т.д., как-то не очень... Еще может активное окно смениться во время отправки комбинации. А так бы все тихо нажималось бы себе и ни от чего другого не зависило Но если напрямую невозможно, останется только так...

    Цитата:
    Так MENU или TOOLBAR

    Все равно-и то, и то одинаковое действие производят в программе. Программа сама не автоитная. Могу получить и hwnd меню и любого его пункта, и hwnd любого индекса тулбара-проверял. А вот что потом с ними сделать, как нажать не знаю. Для тулбара есть только нажатие непосредственно мышью(_GUICtrlToolbar_ClickButton и остальные). Хотя бы общий принцип знать как сделать.

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



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    gal7
    17:46 14-10-2008
    Цитата:
    Все равно-и то, и то одинаковое действие производят в программе

    Для выполнения скриптом это вроде не всё ровно  
     
    Нажать на пункт меню можно так:
     

    Код:
    #include <GuiMenu.au3>
     
    Run("Notepad.exe")
    WinWaitActive("[CLASS:Notepad]")
     
    $hWnd = WinGetHandle("[CLASS:Notepad]")
     
    $hMenu = _GUICtrlMenu_GetMenu($hWnd)
    $hHelp = _GUICtrlMenu_GetItemSubMenu($hMenu, 4) ;Help menu
    $iItemID = _GUICtrlMenu_GetItemID($hHelp, 0) ;First item
     
    _GUICtrlMenu_ClickMenuItem($hWnd, $iItemID)
     
    Func _GUICtrlMenu_ClickMenuItem($hWnd, $iItemID)
        DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWnd, "int", 0x0111, "int", $iItemID, "int", 0) ;$WM_COMMAND = 0x0111
    EndFunc

     
    Добавлено:
    timsky
    23:56 13-10-2008
    Цитата:
    Не нашел там этого...

    Хм, странно, у тебя последняя версия? Сорри, это добавлено в новой версии, которую ещё не выпустил

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 19:46 14-10-2008 | Исправлено: ViSiToR, 19:52 14-10-2008
    gal7

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

    Всего записей: 145 | Зарегистр. 03-06-2007 | Отправлено: 20:21 14-10-2008
    Tipulatoid



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

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 02:41 15-10-2008 | Исправлено: Tipulatoid, 02:41 15-10-2008
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужна функция транслитерации кириллических символов в строке в латинские аналоги согласно таблице
    Подробнее...
    Писать ее возможно долго, этого не прошу. Просто подскажите каким образом эффективней перебирать все символы в переданной в функцию строке.
    Т.е. сама идея нужна
     
    Добавлено
    Собственно, вот так решил
    transliter.au3 :
    Код:
    #include <Array.au3>
     
    $str = "привет, как дела?"
    ConsoleWrite ($str & @CRLF)
    _Transliter ($str)
    ConsoleWrite ($TranslitedString & @CRLF)
     
    Func
    _Transliter ($StringToTranslit)
       
    Dim $aCyrrilicTable[66] = ["а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ь", "ъ", "ы", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ь", "Ъ", "Ы", "Э", "Ю", "Я"]
       
    Dim $aLatinTable[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"]
     
       
    $aCyrString = StringSplit ($StringToTranslit, "")
       
    Global $TranslitedString = ""
       
    For $a = 1 To UBound ($aCyrString) - 1
           
    $SymbolNum =
    _ArraySearch ($aCyrrilicTable, $aCyrString[$a])
           
    If $SymbolNum <> -1 Then
               
    $LatSymbol = $aLatinTable[$SymbolNum]
           
    Else
               
    $LatSymbol = $aCyrString[$a]
           
    EndIf
           
    $TranslitedString = $TranslitedString & $LatSymbol
       
    Next
    EndFunc
    ;==> _Transliter

    Это грамотно?

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 05:55 15-10-2008 | Исправлено: Tipulatoid, 06:42 15-10-2008
    Maza Faka



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

    Цитата:
    Это грамотно?

    В принципе, да, если не учитывать грубейшие ошибки в построении функции
     
    1. Для объявления переменных в функции используется Local, но никак не Global.
    2. Всегда объявляй переменные в функции.
    3. Для того, что бы вернуть результат из функции, используй Return.

    Код:
    $str = "привет, как дела?"
    ConsoleWrite($str & @CRLF)
     
    $TranslitedString = _Transliter($str)
    ConsoleWrite($TranslitedString & @LF)
     
    Func _Transliter($StringToTranslit)
        Local $aCyrrilicTable[66] = ["а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ь", "ъ", "ы", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ь", "Ъ", "Ы", "Э", "Ю", "Я"]
        Local $aLatinTable[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"]
     
        Local $aCyrString = StringSplit($StringToTranslit, "")
        Local $iTranslitedString, $iCoinc
     
        For $a = 1 To UBound($aCyrString) - 1
            $iCoinc = False
     
            For
    $b = 0 To UBound($aCyrrilicTable) - 1
                If $aCyrString[$a] == $aCyrrilicTable[$b] Then
                    $iCoinc = True
                    $iTranslitedString &= $aLatinTable[$b]
                    ExitLoop
                EndIf
            Next
     
            If
    $iCoinc = False Then $iTranslitedString &= $aCyrString[$a]
        Next
     
        Return
    $iTranslitedString
    EndFunc ;==> _Transliter

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:11 15-10-2008 | Исправлено: Maza Faka, 08:18 15-10-2008
    VitAlll2013

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как сделать кнопку с таймером? Пробую логику: создать окно, создать кнопку, отобразить, запустить функцию; функция обновляет кнопку через каждые 1000 миллисекунд уменьшая значение в скобках на 1, как значение равно 0 нажать на кнопку.
     
    Пока никаких результатов, кроме вывода кнопки.
     
    Если кто-то уже делал, поделитесь плз.

    Всего записей: 33 | Зарегистр. 31-08-2008 | Отправлено: 09:23 15-10-2008
    Maza Faka



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

    Код:
    #include <GuiConstantsEx.au3>
     
    Global $ButtonElapse = 10
     
    $hGUI = GUICreate("Test", 200, 100)
     
    $button = GUICtrlCreateButton("00:" & $ButtonElapse, 65, 35, 75, 25)
     
    GUISetState()
     
    AdlibEnable("_TimerCount", 1000)
     
    While 1
        $msg = GUIGetMsg()
        Switch $msg
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case
    $button
                AdlibDisable()
                GUICtrlSetData($button, "00:00")
                _MyFunc()
        EndSwitch
    WEnd
     
    Func
    _TimerCount()
        $ButtonElapse -= 1
        GUICtrlSetData($button, StringFormat("00:%02i", $ButtonElapse))
     
        If $ButtonElapse = 0 Then
            AdlibDisable()
            _MyFunc()
        EndIf
    EndFunc
     
    Func
    _MyFunc()
        MsgBox(0, "_MyFunc", "Button pressed")
    EndFunc

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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Эх, поторопился я малость...
    Оказывается когда вызывается  DllCall(...) не происходит дальнейшего выполнения скрипта!Код практически тот же:

    Код:
    DllCall($dll, "int", "SendMessage", "hwnd", $hwnd, "int", 0x0111, "int", $item, "int", 0)

    Т.е. появляется окно в программе как при нажатии пункта меню, а потом пока его не закроешь скрипт дальше не идет. А если закрыть, то сразу продолжается. Насколько я понял DllCall никак не может возвратить значение.
    Думал сначала сам найду причину(типы данных перебрал на всякий случай), но не получается.
     
    Добавлено:
    Все, нашел, вместо "SendMessage" написал "PostMessage" и все заработало как следует.

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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    Приладил работает, спасибо!

    Всего записей: 33 | Зарегистр. 31-08-2008 | Отправлено: 12:57 15-10-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Tipulatoid
    Maza Faka
    По поводу транслита, можно ещё и так, вроде побыстрее будет:
     

    Код:
    $sCyrrilicString = "Привет, Как дела?"
     
    $sTranslitString = _Translit_Proc($sCyrrilicString)
    MsgBox(64, "_Translit_Proc in Action!", $sCyrrilicString & @CRLF & $sTranslitString)
     
    Func _Translit_Proc($sStringToTranslit)
        Local $sCyrrilicTable = 'а|б|в|г|д|е|ё|ж|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ъ|ы|э|ю|я'
        $sCyrrilicTable &= '|' & StringUpper($sCyrrilicTable)
     
        Local $sLatinTable = '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'
        $sLatinTable &= '|' & StringUpper($sLatinTable)
     
        Local $aCyrrilicTable = StringSplit($sCyrrilicTable, "|")
        Local $aLatinTable = StringSplit($sLatinTable, "|")
     
        Local $sRetString = $sStringToTranslit
     
        For $i = 1 To $aCyrrilicTable[0]
            $sRetString = StringReplace($sRetString, $aCyrrilicTable[$i], $aLatinTable[$i], 0, 1)
            If StringIsASCII($sRetString) Then ExitLoop
        Next
     
        Return
    $sRetString
    EndFunc   ;==>_Translit_Proc

     
    P.S
    Кстати, в шапке есть подобный скрипт, правда там не транслитерация, а конвертация строки в случае набора букв в неправильной раскладке клавиатуры.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 13:32 15-10-2008 | Исправлено: ViSiToR, 13:39 15-10-2008
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемые! А сущетвует ли какойнибудь компонент для работы с протоколом ICQ ?
    Задумка такая: Давать команды удалённо через аську. Никаких трянов и подобного не подразумевается. Просто есть комп на работе, но он за NAT провайдера и по этому возмжности подключиться к нему через удалённое администрирование нет. Вот и подумал, что допустим положил ему в папку несколько скриптов и через аскьку бы давал команду на выполнение того или иного скрипта.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 15:10 15-10-2008
    VitAlll2013

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А вот как добавить в комбобокс надпись не добавля её в лист самого комбо? То есть, присутствует комбобокс, по нажатию клавиши меняется само название вписанное в комбобокс, но при нажатии на "раскрыть комбо" этого пункта там нет, ну и соответственно этот пункт исчезнет после выбора одного из существующих пунктов комбо.

    Всего записей: 33 | Зарегистр. 31-08-2008 | Отправлено: 17:12 15-10-2008
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ynbIpb 15:10 15-10-2008
    Цитата:
    сущетвует ли какойнибудь компонент для работы с протоколом ICQ ?

    А почему именно ICQ? есть на оф. сайте примеры передачи данных через TCP, можно таким же образом посылать и команды, выполнять код и т.п.
     
    VitAlll2013 17:12 15-10-2008
    Цитата:
     как добавить в комбобокс надпись не добавля её в лист самого комбо?

     
    Вот так:
     

    Код:
    #include <GuiConstants.au3>
     
    $GUI = GUICreate("Test Script", 300, 120)
     
    $Combo = GUICtrlCreateCombo("", 20, 20, 260, 20)
    GUICtrlSetData(-1, "Item1|Item2|etc.")
     
    $Add_Button = GUICtrlCreateButton("Add", 20, 60, 60, 20)
     
    GUISetState(@SW_SHOW, $GUI)
     
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
            Case
    $Add_Button
                ControlSetText($GUI, "", $Combo, "Some string")
        EndSwitch
    WEnd


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 23:32 15-10-2008 | Исправлено: ViSiToR, 23:41 15-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.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru