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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AutoPlay Media Studio





  AutoPlay Media Studio - мощная программа для создания меню автозагрузки CD/DVD. Эта программа создаст все необходимые файлы для автозапуска и его графическую оболочку, и даже сама встроит в нее использованные в проекте нестандартные шрифты. Пользователю останется лишь записать готовый проект на свой CD/DVD.
  AutoPlay Media Studio не требует от пользователя никаких особых знаний и очень прост в освоении, имеет дружественный и интуитивно понятный интерфейс. Приложение, которое будет создано AutoPlay Media Studio в конце работы, представлено в виде объектной модели. Эта модель состоит из группы отдельных страниц. На этих страницах можно размещать объекты, которые могут представлять собой графику, музыку, текст, видео, Flash, HTML и пр. Любому элементу можно назначить определенное действие. Например, при наведении на рисунок курсора мыши, может возникать текст с комментариями, при нажатии на кнопку "Play" начнет проигрываться фильм и т.д. Программа предоставляет сотни различных действий, которые можно связать с объектами. В AutoPlay Media Studio присутствует большое количество уже готовых шаблонов.
  AutoPlay Media Studio имеет широкие возможности и богатый набор инструментов для разработки мультимедийных проектов. Использовать программу можно не только для создания файлов автозапуска, но и, например, для разработки интерактивного обучающего софта или мультимедийной презентации.

Язык интерфейса: Английский
Страница загрузки: AutoPlay Media Studio Commerical Trial 8.6


Скриптовый язык LUA:
на Lua.Org (Official) - на Lua.Ru

Ресурсы, посвященные AMS (содержат коллекции примеров, дополнений, уроков):
  • icynorth.com
  • imagine-programming.com
  • mindquake.com.br

    Инструменты:
  • ScriptOMatic Tool - создает скрипт обращения ко всем свойствам выбранного WMI-класса

    Ответы на наиболее часто задаваемые вопросы


    Раскраска AMS-кода для публикации на форуме от UModeL: версия 1 и версия 2.

  • Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 06:17 05-08-2012 | Исправлено: Komandor, 12:11 30-03-2024
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    karpovukg
    Та функция не годится для сериализации таблицы так как получившийся результат может не быть корректной таблицей. Можешь использовать эти функции. Помести этот код в глобальные функции.
    Код
    Код взят отсюда: http://piratery.net/dump/index.html
     
    Table.Save(vValue, sFile) сохраняет таблицу в файл.
    Table.Load(sFile) - загружает из файла и возвращает таблицу.
     

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

    Я бы смог тебе сказать почему не сработала TextFile.WriteFromTable если бы ты показал реальную таблицу, а не её схему используя этот странный синтаксис. Вообще TextFile.WriteFromTable записывает только численно-индексированные таблицы со строковыми или числовыми (не проверял, но должно работать) значениями.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 19:08 22-06-2017 | Исправлено: KerberX, 00:54 23-06-2017
    karpovukg



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Если я правильно понял, ты хочешь увидеть код ее обработки?
    Tree - OnCheck

    Код:
    -- табл. tbCheckedItem содерж. помеч. п-ты {индекс в дереве, путь к папке/файлу, признак паки/файла, рекурсия}
    if e_Checked then
        if Table.Count(tbCheckedItem) <= 0 then
            nTableIndex = 1;
        else
            nTableIndex = Table.Count(tbCheckedItem) + 1;
        end
        Table.Insert(
            tbCheckedItem, nTableIndex,
            {
                sTreeIndex = e_NodeIndex,
                sPath = Tree.GetNode(this, e_NodeIndex).Data,
                bIsDirectory = File.IsDirectory(Tree.GetNode(this, e_NodeIndex).Data),
                bRecurse = false
            }
        );
        if (File.IsDirectory(Tree.GetNode(this, e_NodeIndex).Data)) and (not Folder.IsEmpty(Tree.GetNode(this, e_NodeIndex).Data)) then
            result = Dialog.Message("Notice",
                "Выбранный элемент - " .. tbCheckedItem[nTableIndex].sPath
                .. " является непустым каталогом. Изменить параметры безопасности для подкаталогов?",
                MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
            if result == IDYES then
                tbCheckedItem[nTableIndex].bRecurse = true;
            end
        end
    else
        for i, v in ipairs(tbCheckedItem) do
            if (v.sTreeIndex == e_NodeIndex) then
                Table.Remove(tbCheckedItem, i);
            end
        end
    end
     

    А TextFile.WriteFromTable я повесил на кнопку (ну и там же у меня формируется контрольный вывод в Paragraf).
    PS
    Вот ее синтаксис:

    Код:
    TextFile.WriteFromTable("AutoPlay\\Docs\\restore.txt", tbCheckedItem, false);

    PPS
    Table.Save отработала. Но что меня подивило, так это, что поля записались в обратном порядке (что произошло и при использовании функции М()). Это, конечно, не играет никакой роли, но тем не менее непонятненько... И, да, без числовых индексов. Хотя по логике в таблице они должны быть, иначе как бы удалялись у меня ее строки.

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 23:18 22-06-2017 | Исправлено: karpovukg, 00:02 23-06-2017
    KerberX



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

    Цитата:
    Если я правильно понял, ты хочешь увидеть код ее обработки?  

    Вообще я хотел увидеть пример таблицы, но это тоже подойдёт. Как я уже говорил TextFile.WriteFromTable может записывать только численно-индексированные таблицы со строковыми или числовыми значениями. Твоя таблица численно-индексированная, но в качестве значений содержит другие таблицы, поэтому функция и не сработала. Кстати, слово "Paragraf" пишется так: Paragraph.
     
    Ещё твой код можно переписать так.

    Код:
    -- табл. tbCheckedItem содерж. помеч. п-ты {индекс в дереве, путь к папке/файлу, признак паки/файла, рекурсия}
    if e_Checked then
        local tRecord = {sTreeIndex = e_NodeIndex, sPath = Tree.GetNode(this, e_NodeIndex).Data, bRecurse = false};
        tRecord.bIsDirectory = File.IsDirectory(tRecord.sPath);
        table.insert(tbCheckedItem, tRecord);
     
        if (tRecord.bIsDirectory and not Folder.IsEmpty(tRecord.sPath)) then
            local result = Dialog.Message
            (
                "Notice",
                "Выбранный элемент - "..tRecord.sPath.." является непустым каталогом. Изменить параметры безопасности для подкаталогов?",
                MB_YESNO,
                MB_ICONQUESTION,
                MB_DEFBUTTON1
            );
            tRecord.bRecurse = result == IDYES;
        end
    else
        for i, v in ipairs(tbCheckedItem) do
            if (v.sTreeIndex == e_NodeIndex) then
                table.remove(tbCheckedItem, i);
            end
        end
    end


    Цитата:
    Table.Save отработала. Но что меня подивило, так это, что поля записались в обратном порядке (что произошло и при использовании функции М()). Это, конечно, не играет никакой роли, но тем не менее непонятненько... И, да, без числовых индексов. Хотя по логике в таблице они должны быть, иначе как бы удалялись у меня ее строки.

    Какие именно поля? Если те, в которых хранится индекс, путь и прочее, то они могут быть вообще в любом порядке. Это же ассоциативный массив, конкретнее хэш-таблица, порядок следования индексов там не определён. Числовые индексы не обязательны если таблица является последовательностью, индексируется с 1 и в ней нет дыр - то есть все её элементы идут друг за другом. Соответственно индексация будет сохранена после загрузки.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 01:04 23-06-2017 | Исправлено: KerberX, 01:05 23-06-2017
    ctaty3



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

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 10:29 23-06-2017 | Исправлено: ctaty3, 10:34 23-06-2017
    karpovukg



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

    Цитата:
    Ещё твой код можно переписать так.

    Этим фрагментом я пытался явно проставлять числовые индексы в таблице.

    Код:
    if Table.Count(tbCheckedItem) <= 0 then
            nTableIndex = 1;
        else
            nTableIndex = Table.Count(tbCheckedItem) + 1;
        end

    Это что получается:  

    Код:
    local tRecord = {sTreeIndex = e_NodeIndex, sPath = Tree.GetNode(this, e_NodeIndex).Data, bRecurse = false};

    содержит в себе индекс? Или индексация идет по первому полю - в моем случае sTreeIndex? Или с индексацией можно вообще не париться:

    Цитата:
    Числовые индексы не обязательны если таблица является последовательностью, индексируется с 1 и в ней нет дыр - то есть все её элементы идут друг за другом. Соответственно индексация будет сохранена после загрузки.

    Тогда как же быть в случае, когда я удаляю какую-нибудь запись/строку? Переиндексация же не происходит автоматом? Будут дыры? Значит перед записью в файл надо вручную переиндексировать каким-то образом?
    NB Извини за возможно глупые вопросы, но что для тебя азбука, для меня может быть великие откровения.
    Кстати о терминологии: когда-то давным-давно, лет 19 тому назад я взял несколько уроков по программированию (турбо паскаль фарева ), так там в применении к массивам (таблицам) строки назывались записами, а столбцы в этих строках - полями. С тех пор я так это дело и именую.

    Цитата:
    Кстати, слово "Paragraf" пишется так: Paragraph

    Бывает... Особенно когда с языком на "Вы".

    Цитата:
    Какие именно поля? Если те, в которых хранится индекс, путь и прочее, то они могут быть вообще в любом порядке.

    Да я это понимаю, и написал же, что не играет. Просто интересненько. Думал может ты знаешь, что, допустим, "поля записываются в обратном порядке"  или "ты сделал не так то-то и то-то".
    Ну я если конкретно, то у нас они задаются: ИндексВДереве, Путь, Директория, Рекурсия. А в файле наоборот почему-то.  

    Код:
    {
            bIsDirectory = true,
            bRecurse = false,
            sPath = "D:\\codysafe-sigma-112146",
            sTreeIndex = "2.8",
        },

    То-есть либо так хранятся, либо так считываются. По логике-то должно быть так: в каком порядке кодер определил поля, в таком и записалось... Ну и при считывании тоже вроде так же.
    . Я на всякий случай выложил проект
    PS И, собственно, вопрос дня: как заполнить таблицу, чтобы она корректно записалась в файл методом TextFile.WriteFromTable?
     
    Добавлено:
    ctaty3
    На примере перемещения кнопки.
    Объект - Page
    Событие - OnKey (при нажатии клавиши)

    Код:
    -- определяем текущую позицию объекта
    tPos = xButton.GetPos("Exit");
    -- если нажата клавиша "Вверх" с кодом 38
    if System.IsKeyDown(38) then
        -- меняем одну из координат кнопки
        xButton.SetPos("Exit", tPos.X, tPos.Y - 10);
    -- то же саомое с клавишей "Вниз" с кодом 40
    elseif System.IsKeyDown(40) then
        xButton.SetPos("Exit", tPos.X, tPos.Y + 10);
    end
    -- перерисовываем страницу, чтобы не осталось старое изображение кнопки
    Page.Redraw();

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 10:39 23-06-2017 | Исправлено: karpovukg, 13:11 23-06-2017
    ctaty3



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    karpovukg
    Это то понятно, но дело в том, что мне нужно посылать нажатие клавиш в ListBox, чтобы указатель перемещался по списку (вверх или вниз), как при нажатии на стрелки

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 14:53 23-06-2017
    KerberX



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

    Цитата:
    содержит в себе индекс? Или индексация идет по первому полю - в моем случае sTreeIndex? Или с индексацией можно вообще не париться:  

    Нет и нет. Просто функция table.insert(t, v) если вызвана только с двумя параметрами добавляет значение v в конец таблицы t.
     

    Цитата:
    Кстати о терминологии: когда-то давным-давно, лет 19 тому назад я взял несколько уроков по программированию (турбо паскаль фарева  ), так там в применении к массивам (таблицам) строки назывались записами, а столбцы в этих строках - полями. С тех пор я так это дело и именую.  

    Я всегда знал что в Паскаль странный, но это уже просто хрень какая-то.
     

    Цитата:
    Да я это понимаю, и написал же, что не играет. Просто интересненько. Думал может ты знаешь, что, допустим, "поля записываются в обратном порядке"  или "ты сделал не так то-то и то-то".  
    Ну я если конкретно, то у нас они задаются: ИндексВДереве, Путь, Директория, Рекурсия. А в файле наоборот почему-то.  
     

    В целом порядок не определён, но нам везёт и обычно они перебираются а алфавитном порядке. Сам посмотри: b -> I, b -> R, s -> P, s -> T.
     

    Цитата:
    То-есть либо так хранятся, либо так считываются. По логике-то должно быть так: в каком порядке кодер определил поля, в таком и записалось... Ну и при считывании тоже вроде так же.  

    Если бы это была структура (struct) в C, то так бы и было, за вычетом того что в C нет рефлексии. В Lua это не работает, причину я уже объяснял.
     

    Цитата:
    PS И, собственно, вопрос дня: как заполнить таблицу, чтобы она корректно записалась в файл методом TextFile.WriteFromTable?  

    Уф, я думал я уже достаточное количество раз объяснял это. Это должна быть одномерная численно-индексированная таблица (последовательность) со строковыми или числовыми значениями. У меня есть смутное предположение что TextFile.WriteFromTable использует функцию table.concat для сериализации. В любом случае подойдут таблицы такого вида:

    Код:
    local t1 = {"asd", "wqeqwe", 45, 3, "7545"};
    local t2 = {[1] = "asd", [2] = "wqeqwe", [3] = 45, [4] = 3, [5] = "7545"};
    local t3 = {};
    for i = 1, 8 do
        t3[i] = i^2;
    end
     
    local t4 = {};
    for i = 1, 8 do
        table.insert(t4, i^3 - i^2);
    end

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 16:52 23-06-2017
    karpovukg



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ctaty3
    Он и так перемещается.
    Единственно, что фокус может оказаться на другом объекте. Но его можно поместить на нужный объект оператором Page.SetFocus("ListBox1");

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 17:25 23-06-2017
    KerberX



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

    Цитата:
    Но его можно поместить на нужный объект оператором Page.SetFocus("ListBox1");

    Page.SetFocus - функция, а не оператор.
     
    ctaty3
    Это в глобальные функции.

    Код:
    User32 = Library.Load("User32.dll");
     
    WM_KEYDOWN = 0x0100;
    WM_KEYUP = 0x0101;
    function System.SendMessage(hWnd, nMsg, wParam, lParam)
        return User32.SendMessageA(hWnd, nMsg, wParam, lParam);
    end

     
    Использовать так:

    Код:
    --[[
    37 - (left arrow)
    38 - (up arrow)
    39 - (right arrow)
    40 - (down arrow)
    Остальные коды здесь: https://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx
    Также они есть в справке AMS.
    --]]

     
    local hWnd = ListBox.GetProperties("ListBox1").WindowHandle;
    System.SendMessage(hWnd, WM_KEYDOWN, 38, 0); -- Послать нажатие кнопки со стрелкой вверх
    System.SendMessage(hWnd, WM_KEYDOWN, 40, 0); -- Послать нажатие кнопки со стрелкой вниз

     
    Пока не нашёл этот способ пытался использовать функцию SendInput, но через неё не работает. Функция возвращает 0, но ничего не происходит. Не знаю в чём дело, но разбираться дальше мне лень. Вот функция, может кому пригодится.
    Код
     
    Для всего этого требуется плагин MemoryEx.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 18:30 23-06-2017 | Исправлено: KerberX, 18:35 23-06-2017
    karpovukg



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

    Цитата:
    Я всегда знал что в Паскаль странный

    Зато простой и понятный. Когда-то читал, что он не прижился как прикладная среда и годился только в качестве обучающего инструмента. А записи и поля... Вероятней всего такие понятия использовались при обучении моего тогдашнего преподавателя. Потому, что паскаль никак не мог быть его рабочим инструментом.

    Цитата:
    Уф, я думал я уже достаточное количество раз объяснял это. Это должна быть одномерная численно-индексированная таблица

    Вот, что одномерная, первый раз читаю. Что я в глубине души и подозревал.
    Намотал всё на ус. Спасибо за разъяснения и потраченное время. И, разумеется за очередное решение.
    ctaty3
    Сорян. Тупанул.

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 19:23 23-06-2017
    KerberX



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

    Цитата:
    Зато простой и понятный

    Это достаточно спорное утверждение. Си на порядок проще и понятнее.
     

    Цитата:
    Вот, что одномерная, первый раз читаю. Что я в глубине души и подозревал.  

    Мне казалось что это понятно по фразе "TextFile.WriteFromTable может записывать только численно-индексированные таблицы со строковыми или числовыми значениями.". Я нигде не говорил про табличные значения, что и определяет многомерность таблицы.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 19:32 23-06-2017
    ctaty3



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо ребята!
     
    Вопрос потяжелее, как спарсить с сайта 2ip айпи-адрес компьютера? И что для этого нужно?

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 14:19 25-06-2017 | Исправлено: ctaty3, 14:20 25-06-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ctaty3
    Это достаточно просто.

    Код:
    local sHTML = HTTP.SubmitSecure("https://2ip.ru", {}, SUBMITWEB_GET, 20, 443, nil, nil);
    local sIP = string.match(sHTML, "<big id=\"d_clip_button\">(.-)</big>");
    Dialog.Message("", sIP);

    Если бы в AMS был HTML парсер, то можно было бы написать что-то вроде этого.

    Код:
    local tHTML = HTML(sHTML);
    local tNode = tHTML:GetElementByID("d_clip_button");
    if (tNode) then
        local sIP = tNode:GetValue();
    end

    Но для простых запросов string.match вполне подходит.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 21:05 25-06-2017 | Исправлено: KerberX, 21:06 25-06-2017
    ctaty3



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Оу... Так просто... Только что значит "(.-)" не могу понять? И как я понял поиск осуществляется только по id? По классам поиск осуществляется по другому принципу? Например, если произвожу парсинг хедера и информационного текста, то что вместо "???" нужно указывать то?
     

    Код:
     
    local sHTML = HTTP.SubmitSecure("https://vk.com", {}, SUBMITWEB_GET, 20, 443, nil, nil);
    local sHeader = string.match(sHTML, "<div class=\"login_mobile_header\">???</div>");
    local sInfo = string.match(sHTML, "<div class=\"login_mobile_info\">???</div>");
     
    Dialog.Message("VK", sHeader.."\r\n"..sInfo);
     

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 09:46 26-06-2017 | Исправлено: ctaty3, 10:15 26-06-2017
    KerberX



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

    Цитата:
    Оу... Так просто... Только что значит "(.-)" не могу понять?

    Это строка шаблона. Скобки означают, что это шаблон захвата, то есть всё что ему соответствует нужно вернуть из функции. Точка - любой символ. Минус - поиск самой короткой подходящей последовательности. Так как точка это любой символ, то самая короткая последовательность любых символов будет продолжаться до первого не шаблонного ограничения. То есть </big> в том примере. На сайте Lua есть более подробное разъяснение шаблонов.
    http://www.lua.org/manual/5.1/manual.html#5.4.1
     

    Цитата:
    По классам поиск осуществляется по другому принципу? Например, если произвожу парсинг хедера и информационного текста, то что вместо "???" нужно указывать то?  

    Учитывая что я уже рассказал, извлечение других данных производится точно также.

    Код:
    local sHeader = string.match(sHTML, "<div class=\"login_mobile_header\">(.-)</div>");
    local sInfo = string.match(sHTML, "<div class=\"login_mobile_info\">(.-)</div>");

    Но должен предупредить. Такой запрос извлечёт весь текст до первого встречного закрывающего div'а. То есть при таком HTML:

    Код:
    <div class="login_mobile_header">
        <div>Text</div>
    </div>

    Будет извлечено только это:

    Код:
        <div>Text

    Также осторожней с кавычками. Иногда в одном документе используется смесь из одинарных и двойных кавычек в атрибутах элементов.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 19:23 26-06-2017 | Исправлено: KerberX, 09:28 27-06-2017
    ctaty3



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Большое тебе спасибо за разъяснения! Буду изучать

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 09:30 28-06-2017
    magnuz

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть проектик на Autoplay media studio. Надо написать скрипт чтобы при загрузке в определенную область в ней хайлайтилось определенное слово. Какой объект юзать?

    Всего записей: 5 | Зарегистр. 15-04-2013 | Отправлено: 14:07 05-07-2017
    CryptoUsbtor



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Где то недавно видел код для запрета ввода кириллицы То есть детектор - определятор, но  никак не попадается... Ткните носом плиззз.
    Вспомнил имя одной функи, вбил в поисковик и нашел.
    Хочу сдедать поле: Input и кнопку Сохранить.
    Разрешить пользователю ввод до восьми символов, если нажать кнопку Сохранить, то проверяется есть ли кириллица в строке, если есть, выводить предупреждение. Если пользователь пытается ввести больше восьми символов, объект бы ему не давал этого сделать...
    Написал такой код:

    Код:
    local nSize = Input.GetText("TmpFolderInput");
    if String.Length(nSize) > 8 then Input.SetText("TmpFolderInput", String.Left(nSize, 8)); end

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

    Код:
    DLL.CallFunction("user32.dll", "LoadKeyboardLayoutA", "\"00000409\", 1", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);

    Вот что получилось:

    Всего записей: 748 | Зарегистр. 24-04-2016 | Отправлено: 16:38 05-07-2017 | Исправлено: CryptoUsbtor, 17:09 06-07-2017
    magnuz

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    https://yadi.sk/i/GjqhzAUY3KnDTA
    Ну есть в проекте объект с эмблемой собачки. Типа обзорщик веб-страницы. Как из него получить текущий код чтобы потом этот код слегка изменить и снова его вставить в этот объект?

    Всего записей: 5 | Зарегистр. 15-04-2013 | Отправлено: 18:19 05-07-2017
    dallas page



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет. Ребята, подскажите пожалуйста как можно реализовать функцию проверки наличия пароля на вход у пользователя Windows (защищена ли учетная запись паролем)? Заранее спасибо.

    Всего записей: 200 | Зарегистр. 28-03-2010 | Отправлено: 11:57 08-07-2017 | Исправлено: dallas page, 12:37 08-07-2017
    Открыть новую тему     Написать ответ в эту тему

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 5)


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru