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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    dedmazai1870



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Konstantin_K
    Может я не въехал в суть вопроса... Вот библиотека с функцией _ExcelReadCell
    https://github.com/forcedotcom/dataloader/blob/master/windows-dependencies/autoit/Include/Excel.au3

    Всего записей: 1386 | Зарегистр. 07-07-2012 | Отправлено: 01:53 29-06-2019
    AZJIO



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

    Цитата:
    _Excel_RangeRead
    Ну а если диапазон (Range) указать одну ячейку, будет работать аналогично ReadCell?

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 07:54 30-06-2019
    Konstantin_K

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dedmazai1870, спасибо. То, что надо. Ибо в моем Excel.au было:

    Код:
    ; _Excel_Open
    ; _Excel_Close
    ; _Excel_BookAttach
    ; _Excel_BookClose
    ; _Excel_BookList
    ; _Excel_BookNew
    ; _Excel_BookOpen
    ; _Excel_BookOpenText
    ; _Excel_BookSave
    ; _Excel_BookSaveAs
    ; _Excel_ColumnToLetter
    ; _Excel_ColumnToNumber
    ; _Excel_ConvertFormula
    ; _Excel_Export
    ; _Excel_FilterGet
    ; _Excel_FilterSet
    ; _Excel_PictureAdd
    ; _Excel_Print
    ; _Excel_RangeCopyPaste
    ; _Excel_RangeDelete
    ; _Excel_RangeFind
    ; _Excel_RangeInsert
    ; _Excel_RangeLinkAddRemove
    ; _Excel_RangeRead
    ; _Excel_RangeReplace
    ; _Excel_RangeSort
    ; _Excel_RangeValidate
    ; _Excel_RangeWrite
    ; _Excel_SheetAdd
    ; _Excel_SheetCopyMove
    ; _Excel_SheetDelete
    ; _Excel_SheetList


    Цитата:
    Ну а если диапазон (Range) указать одну ячейку, будет работать аналогично ReadCell?

    Так и делал. Хотел выяснить, почему в русской справке так, а моей версии эдак.

    Всего записей: 8 | Зарегистр. 15-05-2019 | Отправлено: 17:46 01-07-2019
    Unc1e

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, есть ли способ передать в autoit такие параметры железа как текущая температура процессора, видеокарты и скорость вращения их кулеров? Может с помощью сторонних утилит типа HWiNFO / OpenHardwareMonitor и т.п.

    Всего записей: 434 | Зарегистр. 11-06-2007 | Отправлено: 17:56 01-07-2019
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Unc1e, https://www.autoitscript.com/forum/topic/166268-wmi-on-open-hardware-monitor-beta/#comment-1214360

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 18:34 01-07-2019
    Unc1e

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ynbIpb, спасибо! С версией OpenHardwareMonitor 0.8.0.3 Alpha заработало.

    Всего записей: 434 | Зарегистр. 11-06-2007 | Отправлено: 20:28 01-07-2019
    kinor



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброе время суток форумчане.
     
    Необходима помощь относительно создания калькулятора для вычисление даты окончания договора.
     
    Задача состоит в следующем:
    — Необходимо чтобы существовало поле в которое вводится дата заключения договора.
    — На основании него будет выводится дата которая будет показывать дату окончания действия договора.
    — Для каждого договора предусмотрен фиксированный срок действия "40 рабочих дней" после даты заключения договора (суббота, воскресенье, праздничные дни не учитываются).
    - Так же предусмотреть календарь в котором можно задавать даты с субботами, воскресеньями и праздничными дни которые не будут браться в расчет
     
    Можно ли создать такое приложение с помощью AutoIT? Подробно можно обсудить в ЛС!

    Всего записей: 123 | Зарегистр. 12-02-2018 | Отправлено: 21:12 10-07-2019
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kinor
    Задача довольно простая, но для ее решения нужен готовый календарь рабочих дней в каком либо формате, автоматически его не создать из-за разных переносов праздников.  

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 05:48 11-07-2019
    kinor



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

    Цитата:
    Задача довольно простая, но для ее решения нужен готовый календарь рабочих дней в каком либо формате, автоматически его не создать из-за разных переносов праздников.  

     
    NIKZZZZ, если все заключается в подготовке календаря, то у меня есть в формате Excel готовый производственный календарь с 2018 по 2020 года. Все даты в нем, которые выделены цветом и полужирным тоном, относятся либо в выходным либо праздничным дням с переносом праздничных дней в будние дни.
     
    Ссылка на календарь: https://mega.nz/#!ryZz0CBL!YToKRTTBZT7bh8V0MRculdiHU_QYsjcZQ1LbAb5-mi0

    Всего записей: 123 | Зарегистр. 12-02-2018 | Отправлено: 16:26 11-07-2019
    NIKZZZZ



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

    Цитата:
    NIKZZZZ, если все заключается в подготовке календаря, то у меня есть в формате Excel готовый производственный календарь с 2018 по 2020 года.

    Здесь проблема именно с форматом Excel, цветом выделенные, полужирным выделенные в Excel можно конечно преобразовать к нужному виду, но это довольно сложная задача, вот если бы был текстовой файл, например такого содержимого ("праздники и выходные.txt")

    Код:
    01.01.2019
    02.01.2019
    ...
    08.03.2019
    ...
    01.05.2019
    ...
    и т.д.
     

    То задаче решается элементарно.
     
     
     
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:05 11-07-2019
    Alex_Piggy

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    error. del
     
    Добавлено:
    Доброе время, NIKZZZZ, kinor
    Прошу прощения, что вмешиваюсь - заинтересовало. Список выходных из Excel - файла
    https://www.upload.ee/files/10201648/2018_2020.txt.html
    PS. "Чисто теоретически" - а в какой программе договор формируется?

    Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 17:56 11-07-2019 | Исправлено: Alex_Piggy, 17:57 11-07-2019
    kinor



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

    Цитата:
    Здесь проблема именно с форматом Excel, цветом выделенные, полужирным выделенные в Excel можно конечно преобразовать к нужному виду, но это довольно сложная задача, вот если бы был текстовой файл, например такого содержимого ("праздники и выходные.txt")  

     
    NIKZZZZ  можно еще раз по подробнее для "одаренных" по поводу формирования *.txt файла: в него вносим лишь даты которые относятся квыходных и праздничным дням или все даты с разбивкой по месяцам?
    Для примера:
     
    01.01.2019
    05.01.2019
    06.01.2019
    07.01.2019
    12.01.2019
    13.01.2019
    ...
    02.02.2019
    03.02.2019
    09.02.2019
    10.02.2019
    16.02.2019
    ...
    02.03.2019
    03.03.2019
    08.03.2019
    09.03.2019
    и т.д....
     
    Или же:
     
    01.01.2019
    02.01.2019
    03.01.2019
    04.01.2019
    ...
    01.02.2019
    02.02.2019
    03.02.2019
    04.02.2019
     
    Или же откорректировать уже имеющийся файл от Alex_Piggy? Огромное спасибо Alex_Piggy.
     

    Цитата:
    PS. "Чисто теоретически" - а в какой программе договор формируется?

     
    Alex_Piggy договора создаются и формируются в разработанной базе Access
     

    Всего записей: 123 | Зарегистр. 12-02-2018 | Отправлено: 19:24 11-07-2019
    NIKZZZZ



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

    Цитата:
    можно еще раз по подробнее для "одаренных" по поводу формирования *.txt файла: в него вносим лишь даты которые относятся квыходных и праздничным дням или все даты с разбивкой по месяцам?  

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

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:59 11-07-2019
    kinor



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

    Цитата:
    Нужен просто список дат не рабочих дней чтобы их исключить при подсчете, желательно в виде в виде текстового файла, с ним проще работать.  

     
    Откорректирую и предоставлю файл от Alex_Piggy, оставив лишь не работающие дни.
     
    NIKZZZZ Откорректировал файл от Alex_Piggy. Там в 2020 году было учтено 2 работающих дня.
     
    ссылка: https://mega.nz/#!7tl3mC7A!HenKSRO7wO5eDmnZu9QpCgkLB6ax8e9cLpixsUUNGh8
     

    Всего записей: 123 | Зарегистр. 12-02-2018 | Отправлено: 20:47 11-07-2019 | Исправлено: kinor, 22:45 11-07-2019
    AZJIO



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

    Цитата:
    Можно ли создать такое приложение с помощью AutoIT?
    Да, легко для AutoIt3, остаётся хотящему продумать алгоритм, а уж математические и строковые функции с любым вывертом сделает AutoIt3.
    _DateToDayOfWeek - Возвращает номер дня недели для заданной даты. То есть можно создать цикл, который будет прибавлять дни добирая до 40 и проверяя не являются ли они с номером 6 и 7, то есть выходными. Ну а также проверять по списку. Хотя если будет ситуация переноса рабочего дня на выходной, чтобы слить выходной к праздничному, то тогда ничего не остаётся как проверять со списком.

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 06:49 12-07-2019
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Собсно списки выходных и предпразничных дней (если нужно). Можно оставить как есть и спарсить иль привести к какому удобно виду и вводить свои поправки (м.б редактор какой прикрутить) линк - https://github.com/d10xa/holidays-calendar/tree/master/json

    Всего записей: 263 | Зарегистр. 26-11-2010 | Отправлено: 08:21 12-07-2019
    NIKZZZZ



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

    Код:
    #include <DateTimeConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #NoTrayIcon
     
    Global $sExcludeDates = FileRead(@ScriptDir & '\Dates.txt')
    $sExcludeDates = StringRegExpReplace($sExcludeDates, '(\d\d)\.(\d\d)\.(\d\d\d\d)', '\3/\2/\1')
     
    GUICreate("DateCalc", 470, 250)
    Global $sDateBegin = @YEAR & '/' & @MON & '/' & @MDAY
    Global $sDateEnd = CalcDateEnd($sDateBegin)
    Global $MonthCal1Begin = GUICtrlCreateMonthCal($sDateBegin, 62, 32)
    Global $MonthCal1End = GUICtrlCreateMonthCal($sDateEnd, 250, 32)
    GUISetState(@SW_SHOW)
     
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $MonthCal1Begin
                $sDateBegin = GUICtrlRead($MonthCal1Begin, 0)
                $sDateEnd = CalcDateEnd($sDateBegin)
                GUICtrlSetData($MonthCal1End, $sDateEnd)
        EndSwitch
    WEnd
     
    Func CalcDateEnd($sDate)
        Local $i
        For $i = 1 To 40
            $sDate = _DateAdd('d', 1, $sDate)
            While StringInStr($sExcludeDates, $sDate)
                $sDate = _DateAdd('d', 1, $sDate)
            WEnd
        Next
        Return $sDate
    EndFunc   ;==>CalcDateEnd

    Файл с выходными должен называться Dates.txt и находиться в одном каталоге со скриптом.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 08:33 12-07-2019 | Исправлено: NIKZZZZ, 09:38 12-07-2019
    kinor



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

    Цитата:
    Файл с выходными должен называться Dates.txt и находиться в одном каталоге со скриптом.

     
    NIKZZZ огромно спасибо за помощь. Протестировал, но выявилось, что подсчет осуществляет на один день больше.  
     
    Для примера договор заключен 11.07.2019г. с учетом срока действия договора 40 рабочий дней он должен заканчиваться 05.09.2019г.
     
    А по на писаному скрипту фактическое окончания действия договора отображает -  06.09.2019. Как на скрине:
     
    https://ibb.co/z44QGfc
     
    NIKZZZ - можно это исправить в скрипте?

     
    Прошу прощения вопрос снимаю сам разобрался. Подправил строку на For $i = 1 To 39

    Всего записей: 123 | Зарегистр. 12-02-2018 | Отправлено: 11:17 12-07-2019 | Исправлено: kinor, 11:38 12-07-2019
    Sinclair83

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kinor
    Моя версия. Не на AutoIt. Сейчас нерабочими днями считаются только Субботние и Воскресные дни. Если устроит такой вариант, то можно добавить дополнительные праздничные дни(государственные праздники), которые выпадают на рабочие дни (Пн-Пт), через внешний txt-файл.
     
    Добавлено:
    Забыл сказать, что в:
    Панель управления -> Язык и региональные стандарты -> "Дополнительные параметры..." -> вкладка "Дата"
     
    Формат "Краткой Даты" должен быть установлен как: "dd.MM.yyyy"
    Иначе ничего не получится. "Я так думаю" (С)
     
    По крайней мере разделитель точно должен быть точкой.

    Всего записей: 758 | Зарегистр. 07-01-2009 | Отправлено: 14:34 12-07-2019 | Исправлено: Sinclair83, 14:43 12-07-2019
    NIKZZZZ



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

    Цитата:
    Моя версия. Не на AutoIt.  

    Вообще-то это тема Autoit, ну уж если пишете на PureBasic, то выкладывайте вместе с exe'шником исходник, здесь только открытое ПО.    

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 14:56 12-07-2019
       

    Страницы: 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