Недавние сообщения

Страницы: 1 2 [3] 4 5 ... 10
21
... без этого метасимвола хуже в чём-то станет?..
Не должно.
Это знаете, как в поговорке: "Хорошая мысля приходит опосля". :)
22
Общие вопросы по AutoIt / [Массивы] Много циклов, или связь массивов
« Последний ответ от Luciferkox Отправлен Май 20, 2018, 23:32:38 »
Доброе время суток, читающий этот пост человек, я жалею что когда то прогуливал математику во всех учебных заведениях, и без вашей помощи мне, ну не как не обойтись! Смотрите дело вот в чем:
Я имею двумерный массив

Код: AutoIt [Выделить]
Global $Massiv[10][10] = [[10050,"Путь А",140,140],[140,"Путь Б",159,10050,159],[159,"Путь В",192,140,160,192],[192,"Путь Г",227,159],[227,"Путь Д",192],[160,"Конечный путь",159]]
 

Все что находится в Col1(рисунок) , это конечная точка Б. Все что находится в Col2(рисунок) - это описание. А под Col2-Col9 это уже Пути до той или иной точки.
Так вот, как мне перебрать массив множества циклами так, чтобы он нашел все точки Col0 по очередности,пример :
Нам нужно от Путей А(10050) найти Конечный путь(160), если без программы то я могу сделать это следующим образом
Путь А(10050) имеет выход 140(Путь Б), Путь Б имеет несколько выходов но нам нужен 159(Путь В) так как другие в итоге не дойдут до Конечного путя
Так вот как сделать чтобы все просчитывалось и нашло связь Путь А => Путь Б => Путь В => Конечный Путь , так как путей может быть очень много
23
Скрытый текст:Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст


Огромное спасибо, это лучше чем у меня *ничего*  ;)
Еще не сильно тыкал, но:
Код: AutoIt [Выделить]
;выбор региона
$oDiv = $oIE2.document.getElementsByClassName('select-title')
Sleep (2000) ;Добавил задержку
$oDiv = $oIE2.document.getElementsByClassName('select-title') ;Еще раз взять элемент, т.к. с одним get работает не с первого раза
$oDiv.item(0).focus()
$oDiv.item(0).click()
Send('УФМС России по Республике Ингушетия')
Send('{DOWN}')
Send('{ENTER}')


Наверное, с первого раза взять get не удается, т.к. страница или еще не загрузилась (что вряд ли) или не появилось нужное окно  :think:
24
Общие вопросы по AutoIt / Временно переключать на англоязычную раскладку
« Последний ответ от seriousstas Отправлен Май 19, 2018, 23:53:29 »
Читаю доки :
Цитировать
; Эмуляция нажатия комбинации клавиш Win + R
; Send("#r")
Send("#к") ; если русский язык по умолчанию при загрузке OS, то вместо "#r" нужно "#к", либо в скрипте временно переключать на англоязычную раскладку.
Подскажите, как это правильно сделать ?
Нашел такой вариант :
Код: AutoIt [Выделить]
_WinAPI_LoadKeyboardLayout(0x0409)
Func _WinAPI_LoadKeyboardLayout($sLayoutID, $hWnd = 0)
    Local Const $WM_INPUTLANGCHANGEREQUEST = 0x50
    Local $aRet = DllCall("user32.dll", "long", "LoadKeyboardLayoutW", "wstr", Hex($sLayoutID, 8), "int", 0)
     
    If Not @error And $aRet[0] Then
        If $hWnd = 0 Then
            $hWnd = WinGetHandle(AutoItWinGetTitle())
        EndIf
         
        DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $hWnd, "int", $WM_INPUTLANGCHANGEREQUEST, "int", 1, "int", $aRet[0])
        Return 1
    EndIf
     
    Return SetError(1)
EndFunc

Но он тормозит работу скрипта ..
25
kyi
Откройте русскую справку по AutoIt и прочтите её с самого начала и до конца всё подряд. Другими словами, прочтите справку, как книгу. Тогда вы поймёте, что справка по AutoIt - это учебник по AutoIt ;)
26
InnI, Tempo, спасибо. Пошел разбираться.
Как же отвратительно когда нет нормальных книг.
В свое время Basic на ZXSpectrum изучил в одиночку, исключительно по книгам, а тут чего то с документацией вообще все плохо  :blink:
27
kyi  [?]
Цитировать
что бы понял даже валенок типа меня
Языком валенок не владею. Но могу показать на примере
(нажмите для показа/скрытия)
28
kyi, в режиме OnEvent нет. Используйте вариант который предложил InnI если хотите обойтись без объявления функций
29
InnI, не понял вас. Можете как то сказать по другому, так что бы понял даже валенок типа меня.
Tempo, вот сколько примеров не смотрел на форуме, почему то 99% используют функцию.
Функции меня пока вводят в ступор (мозг не поспевает за прыганием кода).
Можно ли как то обойтись без функции?
30
Или использовать TrayOnEventMode
Код: AutoIt [Выделить]
#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <TrayConstants.au3>
Opt("TrayMenuMode", 1 + 2)
Opt("TrayOnEventMode", 1)

GUICreate("", 350, 215)
TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "_GUIShow")
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $GUI_EVENT_MINIMIZE
            TraySetState($TRAY_ICONSTATE_SHOW)
            GUISetState(@SW_HIDE)
    EndSwitch
WEnd

Func _GUIShow()
    TraySetState($TRAY_ICONSTATE_HIDE)
    GUISetState(@SW_SHOW)
EndFunc   ;==>_GUIShow
 


Может описание Switch...Case...EndSwitch поможет вам понять почему выдает ошибку
Страницы: 1 2 [3] 4 5 ... 10