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

Страницы: 1 [2] 3 4 ... 10
11
Стол заказов / Re: Написать программу тренировки кассира. Алгоритм прилагаю
« Последний ответ от lemonia Отправлен Январь 19, 2019, 14:31:46 »
Пожалуйста дополните лог полезной функцией. Чтобы в строке разделения продаж по клиентам был порядковый номер, например
7-------------------------

Это даст возможность более удобно тренироваться на скорость. То есть можно будет засечь время, за сколько будет обслужено, например 10 клиентов.
12
Нетуда смотришь
Код: AutoIt [Выделить]
(?s).*?"price" content="([^"]+).*

13
Хотел получить цену со скидкой, если есть скидка, если нет скидки, то полную цену.
Цену со скидкой получить могу, а без скидки не получается т.к. не срабатывает "иначе".
На всякий случай на "иначе" установил выражение на получение всего текста, но и это не помогает
В чем может быть проблема?

Код: AutoIt [Выделить]
#include <Array.au3>

$Mask = 'id="Price">(?(?=(?s).*?discount(?s).*?)(?s).*?class="add\-discount\-text\-price">(.*?)\D(?s).*?|((?s).*?))id="price\-tmpl">'

$URL = 'https://www.wildberries.ru/catalog/6474480/detail.aspx'
$URLData = GetURLData($URL)
$Result = StringRegExp($URLData, $Mask, 1)
_ArrayDisplay($Result)

$URL = 'https://www.wildberries.ru/catalog/4736240/detail.aspx?targetUrl=GP'
$URLData = GetURLData($URL)
$Result = StringRegExp($URLData, $Mask, 1)
_ArrayDisplay($Result)

Func GetURLData($URL)
    Local $URLData, $URLDataString

    $URLData=InetRead($URL)
    If @error Then Return SetError(1, 0, 0)
    $URLDataString=BinaryToString($URLData)
    If @error Then Return SetError(2, 0, 0)
    Return $URLDataString
EndFunc
 

14
Дни рождения / С днём рождения Smitis!
« Последний ответ от Представитель Сообщества Отправлен Январь 19, 2019, 01:00:26 »
От имени всего Русского сообщества AutoIt поздравляем Вас Smitis с днём рождения!



Цитировать
Пусть все мечты исполнятся,
Пусть все желанья сбудутся,
Пусть радости запомнятся,
А горести забудутся.

Здоровье будет крепкое,
В делах всегда согласие,
Любовь навеки верная —
Без ссор и разногласия.

Зарплата только вовремя,
Стабильная, высокая.
Работа будет лёгкая
И не совсем далёкая.

Пусть жизнь Вам дарит самые
Прекрасные мгновения.
Желаем только радости
И счастья, с днем рождения!
15
Vovsla  [?]
Цитировать
По сути нужно узнать корректно ли задано число для флага MsgBox
Насколько я понимаю, если флаг задан неправильно, то сообщение не появится и возвращаемый результат будет равен нулю
Код: AutoIt [Выделить]
$flag = 23
$id = MsgBox($flag, "", "")
If Not $id Then ConsoleWrite("Некорректный флаг: " & $flag & @CRLF)


Цитировать
пример с использованием битового флага для степени двойки
xXx предоставил ссылку, где в разделе "Битовый флаг", кроме подробного описания, есть и примеры. Если тех примеров мало, смотрите справку по функциям
Код: AutoIt [Выделить]
Только учтите, что в MsgBox() не все флаги являются степенью двойки. Например, 3 и 5 имеют по два установленных бита (11b и 101b соответственно). И чтобы узнать наличие этих флагов нужно в функции BitAND() получить это же число
Код: AutoIt [Выделить]
; 5 = 101b
ConsoleWrite(BitAND(8 + 5, 5) & @CRLF) ; 13 = 1101b, результат 5 (флаг 5 установлен)
ConsoleWrite(BitAND(8 + 6, 5) & @CRLF) ; 14 = 1110b, результат 4 (флаг 5 не установлен)
ConsoleWrite(BitAND(768 + 5, 5) & @CRLF) ; 773 = 1100000101b, результат 5 (флаг 5 установлен)

Следовательно, нужно знать все допустимые флаги и "вырезать" их из суммы через BitAND.
16
Отрицательные и дробные числа не нужны. По сути нужно узнать корректно ли задано число для флага MsgBox
Можно пример с использованием битового флага для степени двойки?
17
Полезняшки / Re: Проверка блокировки компьютера
« Последний ответ от Cornet Отправлен Январь 18, 2019, 17:42:15 »
Не знаю почему, возможно из-за Win10, но у меня данный код не всегда отрабатывает, пришлось добавить в него строчку
Код: AutoIt [Выделить]
Func _IsWorkstationLocked()
    Local $Result = False
    $hDesktop = DllCall('user32.dll', 'hwnd', 'OpenDesktop', 'str', 'Default', 'int', 0, 'int', 0, 'int', 0x0100)
    If Not @error Then
        $Result = DllCall('user32.dll', 'int', 'SwitchDesktop', 'hwnd', $hDesktop[0])
        $Result = Not $Result[0]
        DllCall('user32.dll', 'int', 'CloseDesktop', 'hwnd', $hDesktop[0])
    EndIf
    If Not $Result And _ProcessGetName(WinGetProcess("[ACTIVE]")) = "LockApp.exe" Then $Result = 1
    Return $Result
EndFunc   ;==>_IsWorkstationLocked
 

18
Битовый флаг применяется для степеней двойки.

Если число произвольное, то:
- вхождение в предопределённый ряд (в перечисление) определяется перебором
- вхождение в диапазон определяется путём сравнения с границами диапазона
- вхождение в сумму зависит от многих факторов. Например, для целых положительных чисел может зависеть от числа слагаемых:
  - если слагаемых два, то число должно быть меньше суммы (число + 1)
  - если слагаемых три, то число должно быть как минимум на 2 меньше суммы (число + 1 + 1)
  - и т.д.

А вот узнать из каких конкретно произвольных чисел состоит сумма - нереально. Особенно, если учитывать отрицательные и дробные числа.
19
Справка --> Функции пользователей --> Функции по разделам --> Обучение --> ...
Там найдете много чего интересного, в том числе и раздел "Битовый флаг".
20
Стол заказов / Re: Скачать файлы с сайта
« Последний ответ от hedji Отправлен Январь 18, 2019, 14:11:48 »
Что делать?
Использовать:
Код: AutoIt [Выделить]
Цитировать
Возможно это вообще?
Да, возможно.
Дело пойдёт быстрее, если укажите с какого сайта пытаетесь качать и покажете свои наработки что именно не получается.
Страницы: 1 [2] 3 4 ... 10