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

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

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

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Widok



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

 
Описание:

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

 
  • Справки
  • Инструменты
  • Ресурсы, посвящённые AutoIt
  • Полезные советы новичкам и не только
  • Готовые решения
  • Скрипт раскраски кода AutoIt для публикации в форумах
     


     
    За шапкой следит ViSiToR / AZJIO  

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:07 01-06-2010 | Исправлено: Maz, 12:29 10-01-2020
    AZJIO2

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SLIDER999
    Картинка, а не GUICtrlCreatePic? Можно сделать условие, если картинка в пределах нормы или с отклонением 2-5 пикселов от нормы, то не трансформировать её. На краях бланка всё равно белые поля, так что если они чуть выйдут за пределы GUICtrlCreatePic
    Посмотри файлик где я использую вставку картинок. Кстати наблюдал проблему если создавать GUICtrlCreatePic с уже вставленной картинкой, поэтому всегда создаётся пустой и вставляется с помощью GUICtrlSetImage.

    Всего записей: 85 | Зарегистр. 27-01-2016 | Отправлено: 00:22 25-02-2016
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO2
    растягивается само поле GUICtrlCreatePic и картинка в ней.
    Отображать место, где будет выведена картинка, другой серой картинкой как-то по колхозному %)

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 12:48 25-02-2016
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть полоска прогресса и рядом текст, отображающий %.
    Обновляю примерно вот так:

    Цитата:
    $iProgress = GUICtrlCreateProgress(70, 12, 460, 32)
    $iPercent = GUICtrlCreateLabel('0%', 535, 19, 35, 32, $SS_RIGHT)
    GUICtrlSetData($iProgress, '98')
    GUICtrlSetData($iPercent, '98%')
    GUICtrlSetData($iProgress, '99')
    GUICtrlSetData($iPercent, '99%')

    Но прогресс $iProgress всегда на один шаг отстает от текста $iPercent. Как поправить?

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 07:58 03-03-2016 | Исправлено: SLIDER999, 08:01 03-03-2016
    Artem_Butenko



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, пожалуйста помогите переделать скрипт уважаемого ViSiToR, таким образом, чтобы меню "О программе..." вызывалось нажатием на обычную кнопку ($ButtonAbout = GUICtrlCreateButton).

    Всего записей: 711 | Зарегистр. 19-02-2008 | Отправлено: 23:43 02-04-2016 | Исправлено: Artem_Butenko, 23:45 02-04-2016
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Artem_Butenko
    серьезно?
     
    Замени
    $Menu = GUICtrlCreateMenu("Help")
    $AboutItem = GUICtrlCreateMenuItem("About...    (F1)", $Menu)
    на
    $ButtonAbout = GUICtrlCreateButton('О программе', 10, 10)
     
    и
    Case $AboutItem
    на
    Case $ButtonAbout

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 14:57 04-04-2016
    Miffer



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    "Русское сообщество AutoIt" (autoit-script.ru) из шапки - у кого-нибудь открывается?  
    Мне пишет, что я спамер и забанен, даже если пытаюсь зайти с чистыми куками через прокси.

    Всего записей: 339 | Зарегистр. 31-03-2005 | Отправлено: 13:32 10-04-2016
    nik4z



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

    Цитата:
    у кого-нибудь открывается?  

    Без проблем.
     

    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 13:40 10-04-2016
    thejustsoul



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

    Цитата:
    у кого-нибудь открывается

    Открывается.

    Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 13:41 10-04-2016
    asdf8

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

    Цитата:
    даже если пытаюсь зайти с чистыми куками через прокси.

    Либо куки не дочищены, либо прокси не подходящий. Вообще странно, что состояние "бан за спам" не зависит от наличия спама, а только от IP.

    Всего записей: 92 | Зарегистр. 06-05-2007 | Отправлено: 13:59 10-04-2016
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Какими процедурами можно записать img или ima образ диска флешку?

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 07:44 14-04-2016 | Исправлено: SLIDER999, 07:45 14-04-2016
    AZJIO2

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SLIDER999
    C помощью какой нибудь консольной утилиты.  Например imdisk может извлечь файлы из образа.

    Всего записей: 85 | Зарегистр. 27-01-2016 | Отправлено: 19:13 18-04-2016 | Исправлено: AZJIO2, 19:16 18-04-2016
    ionelan



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
    такой вот вопросец.
    хочу воспроизвести avi файл... использую GuiCtrlCreateAvi ()
    Но на все avi файлы идет ругань о том, что не поддерживается и все, кроме одного avi файлы сжатого кодеком MS RLE ..... потом вычитал, что для проигрывания avi в AutoIt нужны именно видео файлы сжатые этим вот кодеком.
    Вопрос: как мне получить такое видео.... поискал в интернете - инфы мало. попробывал разные проги по видео кодировани и не в одно не было возможности кодировать в MS RLE.
    Помогите пожалуйста, очень нужно, уже не знаю где что смотреть.
    заранее спасибо.

    Всего записей: 2 | Зарегистр. 25-02-2013 | Отправлено: 20:19 27-04-2016
    ionelan



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

    Всего записей: 2 | Зарегистр. 25-02-2013 | Отправлено: 14:16 29-04-2016
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет!
    Как заставить добавлять в массив значения с одинаковой скоростью? Добавление функцией _ArrayAdd() замедляется с увеличением элементов в массиве.

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 12:07 02-05-2016
    AZJIO2

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SLIDER999
    Функция изменения размера массива замедляется при увеличении массива. При увеличении больше 1000 это становится заметно. Создай сразу большой массив и храни число последнего элемента массива. Просто добавляй данные в ячейку, увеличивая счётчик, при этом ресайз массива не нужен.

    Всего записей: 85 | Зарегистр. 27-01-2016 | Отправлено: 18:47 02-05-2016
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO2
    не совсем понял. Ты имел ввиду прямое присвоение $aArray[$i] = $sText? Тогда надо объявить массив $aArray[9999999] )))
    Мне нужен массив, чтоб потом его можно было обработать. В массиве 20 элементов * 60 (минуты) * 24 (часы) * Х (дни). Если брать сутки, то уже набигает 28800 элементов. А у меня может быть с легкостью и 15 дней. Причем таких массивов может быть до 20.
    Сейчас пишу напрямую в файл, потом открываю в Excel и работаю. Но нужно совершать определенные манипуляции прямо в программе и с массивом.

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 20:10 02-05-2016 | Исправлено: SLIDER999, 20:26 02-05-2016
    nik4z



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SLIDER999
    Ну, если требуется высокая скорость, можно вместо динамического массива создать структуру с помощью DllStructCreate() и работать с ней, но там придется четко резервировать память под нее.
    Совет от AZJIO2 особо не поможет, любая модификация массива все равно потребует  большого времени, если массив достаточно большой.

    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 21:19 02-05-2016
    AZJIO2

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

    Цитата:
    Совет от AZJIO2 особо не поможет, любая модификация массива все равно потребует  большого времени

    Это легко проверяется. Берём массив с тысячью элементов и с миллионом элементов и начинаем вставлять некий текст в первый от начала, во второй в конце, оставив тысячу элементов для заполнения в цикле 1000 раз, время добавления будет одинаковым. Теперь второй тест берём массив пустой и с миллионом элементов и просто делаем ресайз (ReDim) 1000 раз. Так вот тот, что начинал с 0 и тот, что начинался с миллиона большая разница... проверено. Граница заметности начинается с 1000 и растёт прямо пропорционально размеру массива.
     
    SLIDER999
    Я имел ввиду, что когда ты добавляешь элемент функция делает его ресайз (ReDim), блин въелось это английское слово "переизменение", точнее увеличение на 1 элемент, чтобы вставить его туда, смотри функцию _ArrayAdd изнутри. каждый вызов делает ReDim, если работаешь в цикле, то вызываешь ReDim много раз. Если вызов однократный то не заметишь, а если вставляешь тучу элементов то это очень заметно. Вывод: подстроиться под задачу. Если число элементов имеет ограничение то сделай массив сразу по максимуму. Если максимум превышает среднестатистическую заполненность, то сделай размер по средне-статистической заполненностью и перед каждым добавлением партии элементов сравни разницу между размером массива и существующими данными и больше ли она по сравнению с количеством добавляемых элементов, если да, то увеличь массив сразу на 1000 или на 10 000. В общем то даже если ты создашь массив сразу огромным, он по-больше потребляет память (процесс = 4 мб - пустой массив, 19 мб - 4 миллиона элементов в незаполненном массиве) потребляет только на адреса ячейки ну сравни по увеличению процесса в памяти, но по другим чувствительным параметрам ты этого не заметишь, создал и создал, и забыл, что он большой. Или к примеру начались сутки, увеличил массив так чтобы в него вошли данные за сутки, в конце дня увеличил ещё на сутки. Или увеличил на час и проверяй каждые 50 мин. Или если ты вставляешь партию известного размера, то сначала увеличь массив на размер добавляемых, потом добавляй (не с помощью _ArrayAdd). В любом случае "время" это обратная сторона универсальных функций, таких как _ArrayAdd.

    Всего записей: 85 | Зарегистр. 27-01-2016 | Отправлено: 07:45 03-05-2016 | Исправлено: AZJIO2, 08:19 03-05-2016
    Sinclair83

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Гуру простите за возможно нубский вопрос по параметрам. Нужно проверить $CmdLine[2] и $CmdLine[3] т.е. 2й и 3й параметры на предмет отсутствия в них букв. Без RegExpa не обойтись? Если кому не сложно помогите кодом.

    Всего записей: 757 | Зарегистр. 07-01-2009 | Отправлено: 16:42 08-05-2016
    nik4z



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

    Код:
    If  StringRegExp ( $CmdLine[2], "[a-zA-Z]" , 0) = 0  Then ... ; буква не найдена

    Всего записей: 218 | Зарегистр. 08-11-2015 | Отправлено: 17:38 08-05-2016
       

    Страницы: 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 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
    gyra (23-01-2020 10:51): AutoIT (Часть 4)


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru