Ru-Board.club
← Вернуться в раздел «Программы»

» Indigo Rose AutoPlay Media Studio

Автор: collagen
Дата сообщения: 15.07.2013 05:38
Вот мой вариант перевода справки по ButtonMaker.
    http://rghost.ru/47428569
Можно подменить имеющийся оригинальный файл в папке с установленной программой AutoPlay Media Studio (во вложенной папке Tools). Если кто хочет что-либо изменить в переводе, в архив вложен файлик ButtonMaker.hhp, для сборки справки в программе HTML Help Workshop.
Автор: Robby
Дата сообщения: 15.07.2013 08:54
collagen

Цитата:
Вот мой вариант перевода справки по ButtonMaker

Спасибо.
Может сделаешь еще перевод .xml файлов в папке AutoPlay Media Studio 8\Data\Actions. Там нужно перевести только между тегами <Description>...</Description>
Это подсказки которые выводяться в окне Мастера действий

Единственная проблема, что русский текст будет отображаться кракозябрами из-за того, что программа использует кодировку cp1252. Но это решаемо последующей конвертацией файлов .xml в кодировку cp1251.
Автор: Pazan
Дата сообщения: 15.07.2013 13:50
как сделать, чтобы значение увеличивалось на 1 при каждом клике?

OnClick

Код: q_men_score = 0;
q_men_score_result = String.ToNumber(q_men_score);
q_men_score_add = q_men_score_result+1;
Paragraph.SetText("Paragraph7", q_men_score_add);
Автор: Robby
Дата сообщения: 15.07.2013 14:27
Pazan
нужно q_men_score = 0 вынести за пределы OnClick. У тебя получается, что ты при каждом клике устанавливаешь счетчик в 0.

q_men_score_result = String.ToNumber(q_men_score); тут ты переводишь строку в число, но перменная q_men_score содержит число. Это не нужно. Тем более что результатом этого q_men_score_add = q_men_score_result+1, даже если q_men_score_result будет строка, все равно будет число.
Прочти справку про переменные и действия с ними.

Вполне можно обойтись такой конструкцией в OnClick

Код: q_men_score = q_men_score+1;
Paragraph.SetText("Paragraph7", q_men_score);
Автор: Pazan
Дата сообщения: 15.07.2013 14:57
Robby
спасибо
Автор: dallas page
Дата сообщения: 15.07.2013 15:18
Добрый день господа. Подскажите пожалуйста, допустим в переменную result записывается значение из цифр: 123456789. А в следующий раз может записаться 12@3Tfdb. Необходимо, чтобы программа определяла состоит ли значение переменной только из цифр или еще и из других символов. Как можно это реализовать? Заранее спасибо.
Автор: Robby
Дата сообщения: 15.07.2013 15:33
dallas page
если ты будешь использовать цифры как число а не строку, а это 12@3Tfdb будет строкой, то можно использовать type для возврата типа переменной


Код: result = 123456789;
strType = type(result); -- strType будет "number"


result = "12@3Tfdb";
strType = type(result); -- strType будет "string"
Автор: dallas page
Дата сообщения: 15.07.2013 16:23
Robby спасибо. То что нужно.
Автор: UModeL
Дата сообщения: 15.07.2013 17:07
dallas page, есть ещё такой вариант:
Код: result = "12@3Tfdb38huy785$*";
--result = "12338785569513";
tCorrect = string.match(result, "^%d+$");
if tCorrect then
    Dialog.Message("Всё верно!", tCorrect, MB_OK, MB_ICONNONE, MB_DEFBUTTON1);
else
    sNoSupport = "\r\n";
    for sUncorrect in string.gmatch(result, "(%D+)") do
        sNoSupport = sNoSupport .. "\r\n" .. sUncorrect;
    end
    Dialog.Message("Ошибка!", "Введите только цифры.\r\nСочетания символов:" .. sNoSupport .. "\r\n\r\nне поддерживаются.", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1);
end
Автор: TashiBK
Дата сообщения: 17.07.2013 09:17
Перечитал, но не нашел. Возможно ли, чтобы при клике по изображению, оно открывалось на подобии lightbox? Был вроде такой плагин, но не могу найти... Спасибо заранее.
Автор: Zloy_Gelud
Дата сообщения: 17.07.2013 09:27
TashiBK
В шапке Варезника смотрите.
Автор: vazzzzz
Дата сообщения: 19.07.2013 08:52
Уважаемые знатоки, что-то туплю я.. Задача проста: мне нужно открыть существующий порт, бросить туда одну AT команду (модем подключен), считать ответ и закрыть порт. Сначала пытался прикрутить к проекту MSComm32.OCX. Прикрутить то получилось, вот только больше 16 портов он не обслуживает. Попытался найти внятный враппер для него, чтобы без ограничений по номеру порта - не нашел.. Плюнул я на MSComm (т.к. задача реально сводится к тому, чтобы отправить 1-2 команды и получить данные), решил попытаться через winapi реализовать с помощью CreateFile, WriteFile и т.д. С ходу не получилось, все закончилось на этапе открытия порта Код:

Код:
portHandle = DLL.CallFunction("C:\\Windows\\System32\\kernel32.dll", "CreateFileA", "\\\\.\\COM30,12,0,NULL,3,0,NULL", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Автор: Zloy_Gelud
Дата сообщения: 19.07.2013 09:10
vazzzzz -- попробуй так. Сам не проверял.

Код: local hPort = tonumber(DLL.CallFunction("Kernel32.dll", "CreateFileA", "\"\\\\.\\COM30\", 3221225472, 0, 0, 3, 128, 0", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL));
Автор: vazzzzz
Дата сообщения: 19.07.2013 09:37
Zloy_Gelud

Благодарю за вариант, но не работает. А параметры идут справа на лево? Т.е. если константа равна 0x80000000, то это не 8 в десятичном представлении, а 2147483648? В данном случае идет логическое ИЛИ констант GENERIC_READ и GENERIC_WRITE = 0xC0000000, это не 12, а 3221225472?

Блин такая простая задача и не находится решения, обидно однако. Может кто поделится компонентом (dll/ocx) для работы с виртуальными com-портами (причем пофиг в синхронном режиме или асинхронном, мне не много от него надо)?

Добавлено:
Задача моя собственно примитивна: мне нужно открыть порт, послать туда команду "ATI", получить данные о модеме и закрыть порт. Эт для привязки приложения к конкретному девайсу, потому как мучался я долго и нудно с WMI, пытаясь получить уникальные серийники разного оборудования (и матплаты и проца и жесткого диска), в итоге понял, что гиблое это дело, т.к. на 5ти компах оказались одинаковыми номера DMI матплаты, на 2х из 5ти компов совпал серийник винта, про ID проца я вообще промолчу.. заводской серийный номер конкретного устройства можно получить только через его драйвер, который дизассемблировать никак не хочется.. В моем случае я ищу по USB устройствам модем производства ZTE (Huawei), читаю его IMEI и привязываюсь к нему.
Автор: Zloy_Gelud
Дата сообщения: 19.07.2013 09:49
vazzzzz

Цитата:
но не работает.

По идее должен. А там конечно фиг знает. Не на чем проверить.

Цитата:
Т.е. если константа равна 0x80000000, то это не 8 в десятичном представлении, а 2147483648?

Да.

Цитата:
GENERIC_READ и GENERIC_WRITE = 0xC0000000, это не 12, а 3221225472?

Да.
Можешь еще тут посмотреть:
http://lua-users.org/wiki/SerialCommunication
Автор: Pazan
Дата сообщения: 19.07.2013 09:57
А нельзя как-то переименовать папку проекта AutoPlay?
Автор: Zloy_Gelud
Дата сообщения: 19.07.2013 10:03
Pazan
Только при компиляции проекта.
Автор: Zloy_Gelud
Дата сообщения: 19.07.2013 14:59
Обновлено
vazzzzz -- попытался свою обертку написать. Попробуй потестить:

Код: COMMG = MemoryEx.LoadLH("C:\\COMMG.lh");
local tPorts = COMMG.ListPorts();
if tPorts then
local sPorts = '';
for i = 1, #tPorts do
sPorts = sPorts .. ", "..tPorts[i]
end
sPorts = String.TrimLeft(sPorts, ", ");
local sSelPort = Dialog.Input("Выбор COM-порта", "Доступные COM-порты: " .. sPorts..". Укажите один из них.", "", MB_ICONQUESTION);
local sPort = string.match(sSelPort, 'COM(%d+)');
if sPort then
local bIsSelected, sErr = COMMG.SetPort(tonumber(sPort));
if not bIsSelected then
Dialog.Message("Error", 'Ошибка: ' .. sErr, MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
else
local sCommand = Dialog.Input("Отправить команду", "Введите команду, которую вы хотите отправить "..COMMG.GetPortConnection() .. "-порту", "", MB_ICONQUESTION);
COMMG.SendString(sCommand);
end
end
else
Dialog.Message("Error", 'COM-порты не обнаружены.', MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
end
Автор: vazzzzz
Дата сообщения: 19.07.2013 18:46
Прогресс есть)))) а COMMG.lh это я так понимаю авторская весч?) с меня стало быть причитается? очень интересны подробности работы с этим компонентом. Извиняюсь за задержку с испытаниями, только приехал из коммандировки небольшой

Добавлено:
Zloy_Gelud

Предлагаю обсудить условия iron[point]stark[dog]bk[point]ru . Хороший компонент для работы с com-портами мне и в других проектах весьма пригодится. В последний раз был проект - воевал с FT232. Все закончилось тем, что не нашел нормального компонента для работы с портами и написал свой враппер для работы с чипом напрямую через FTDIшную либу от производителя, получилось даже лучше. Но вот в этом проекте хрен знает что за чип там в этом huawei, не нашел как с ихними dll работать, все засекречено.
Автор: Pazan
Дата сообщения: 19.07.2013 20:54
Zloy_Gelud

Цитата:
Только при компиляции проекта

т.е. "малой кровью" не обойтись?..
Автор: Zloy_Gelud
Дата сообщения: 20.07.2013 08:43
Pazan

Цитата:
т.е. "малой кровью" не обойтись?..

Похоже на то.
Автор: lerik2703
Дата сообщения: 20.07.2013 11:01
Zloy_Gelud

Цитата:
попытался свою обертку написать

если не ошибаюсь но в примере нет получения данных из буфера сомпорта?

Цитата:
Commg.lh

если не сложно выложить исходник?!
Автор: Zloy_Gelud
Дата сообщения: 20.07.2013 11:20
lerik2703

Цитата:
если не ошибаюсь но в примере нет получения данных из буфера сомпорта?

Верно. Этот функционал еще не дописан.

Цитата:
если не сложно выложить исходник?!

Пока не могу...
Автор: lerik2703
Дата сообщения: 20.07.2013 11:22
Zloy_Gelud

Цитата:
Пока не могу...

как будет возможность..
Автор: lekish
Дата сообщения: 22.07.2013 12:40
dallas page Спасибо большое!
А ещё вопрос: у меня некоторые объекты = ссылки на сайты. Так вот, когда я нажимаю, поверх программы появляется броузер с сайтом, всё ок. Когда я закрываю броузер, вижу свою программу и могу продолжать ею пользоваться. А вот на другом компе, при закрытии броузера, программа оказывается свёрнутой. Можно как-то сделать, чтобы она не была свёрнутой ни на каких компах?
Автор: nikitorol
Дата сообщения: 23.07.2013 18:14
Ребят, помогите хочу сделать плавное передвижение кнопки, как это осуществить?
Покажите пример желательно.
Автор: Lexua
Дата сообщения: 23.07.2013 22:37
nikitorol

Ну, примерно так

Page - On Show

Код: button == "down"
Автор: collagen
Дата сообщения: 29.07.2013 17:09
Вот перевод подсказок диалогового окна Мастера нового действия
    http://rghost.ru/47752350
Это папка по имени Actions, что находится в папке с установленной программой АМС во вложенной папке Data т.е. обычно вот здесь:
    C:\Program Files\AutoPlay Media Studio 8\Data\
Чтобы они заработали нужно подменить оригинальную папку Actions, папкой что находится в архиве. У меня вроде все работает, Windows XP 32 бита.
Автор: PAVELNEXT
Дата сообщения: 01.08.2013 12:42
Здравствуйте, подскажите как отправить в окно нажатие ОК.

Есть окно с двумя кнопками - ОК и ОТМЕНА, как дескриптор получить я знаю, а вот как послать команду ОК не могу что то разобраться
Автор: margus05
Дата сообщения: 03.08.2013 02:06
How to check OS installed drive letter settings own setup XML file
My defaults XML file is
<?xml version="1.0" encoding="UTF-8"?>
<installerDefaults pathToAllUsers="C:\ProgramData\mycompany">
<databaseConnector>
<localDatabasePath>..\example.db3</localDatabasePath>
</databaseConnector>
<defaultLocales>
<installerDefaultLocale>en-US</installerDefaultLocale>
</defaultLocales>
</installerDefaults>

This highlited value is change drive letter with OS installed letter

local x = String.SplitPath(_SystemFolder).Drive)
If x == "C:" then
XML.SetValue("installerDefaults", "pathToAllUsers="C:\ProgramData\mycompany", false);
elseif x == "D:" then
XML.SetValue("installerDefaults", "pathToAllUsers="D:\ProgramData\mycompany", false);
elseif x == "E:" then
XML.SetValue("installerDefaults", "pathToAllUsers="E:\ProgramData\mycompany", false);
else

end

this is correct

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

Предыдущая тема: память не может быть written


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.