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

» Autoplay Media Studio

Автор: pottapchik
Дата сообщения: 16.12.2008 23:25
Еще раз Здрасти!
Есть вот такая штука, это сообщение:

Код: result = Dialog.Message("Выход", "Выйти из приложения?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
Автор: lorents
Дата сообщения: 16.12.2008 23:35
pottapchik

Код: result = Dialog.Message("Выход", "Выйти из приложения?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
if (result == 6) then
Window.Close(Application.GetWndHandle(), CLOSEWND_SENDMESSAGE);
end
Автор: blaster4
Дата сообщения: 16.12.2008 23:41
Lexua
Спасибо, что откликнулся!!!
Хочу сделать меню для игры "(страница1) с кнопками для установки, (страница2) для запуска".
Насколько я понял в программе (Page = страница меню).
Пробую так:

result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\prey");
if result then
Page.Jump("Page2");
else
Page.Jump("Page1");
end

В зависимости от реестра осуществляется переход, но вылезает ошибка.
Незнаю как правильно написать код. Кстати, а возможно сделать так чтобы нажимаешь (Установить) отработал установщик, и заново проверка реестра, и смена меню. Будут ли ошибки при записи на 2 DVD. Читал то, что уже обсуждали, но мне или не подходит или не хватает опыта работы с программой. Одна надежда на опытных людей !!!
Автор: pottapchik
Дата сообщения: 17.12.2008 00:11
lorents
Спасибо большое! Я её стараюсь юзать.Вот к примеру в экзамплах не было, что нужно два = ставить, а в языках программирования я лох. Поэтому и обращаюсь к вам.... спасибо что вообще откликаетесь, а то некоторые с нубами не хотят ничего иметь.
Автор: Zloy_Gelud
Дата сообщения: 17.12.2008 00:40
pottapchik

Цитата:
Вот к примеру в экзамплах не было, что нужно два = ставить

Неправда твоя..

Help: Action Reference > Dialog > Dialog.Message: Examples
...
proceed = Dialog.Message("File Search Results", message, MB_OKCANCEL, MB_ICONQUESTION, MB_DEFBUTTON1);
-- If the user clicked OK, delete all of the files found.
if proceed == IDOK then
...
Автор: pottapchik
Дата сообщения: 17.12.2008 00:42
Zloy_Gelud
Я же говорю- нуб я))
Автор: Zloy_Gelud
Дата сообщения: 17.12.2008 00:52
pottapchik
А нубам вдвойне рекомендовано справку читать.
Автор: Lexua
Дата сообщения: 17.12.2008 17:38
blaster4


Цитата:
result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\prey");
if result then
Page.Jump("Page2");
else
Page.Jump("Page1");
end

Ну и зачем прыгать на Page1 если ты и так на ней находишься?

Вот так пробуй
Цитата:
result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\prey");
if result then
Page.Jump("Page2");
end



Цитата:
Кстати, а возможно сделать так чтобы нажимаешь (Установить) отработал установщик, и заново проверка реестра, и смена меню.

Ну естественно, вставляй код, приведенный выше в кнопку Установка после кода звапуска установщика и все. Только в строке запуска файла установки поставь параметр WaitForReturn=true или используй таймер для проверки реестра.
Автор: Pazan
Дата сообщения: 18.12.2008 08:51
2 ALL

Цитата:
Автор: Kindly, Отправлено:08:21 01-09-2007

...Вот мой проект по "лицензированию":
http://webfile.ru/1514334

кто в курсе, как генерировать этот самый ключ? не могу понять...
Автор: Zloy_Gelud
Дата сообщения: 18.12.2008 12:46
Pazan -- Ссылка мертвая.
Автор: Pazan
Дата сообщения: 18.12.2008 19:23
Zloy_Gelud
http://rapidshare.com/files/174604004/Licensing_2008-12-18__19-20-34_.rar.html
Автор: Zloy_Gelud
Дата сообщения: 18.12.2008 21:13
Pazan
Лицензия текстовый файл с любым мд5 хэшем внутри. И от этого файла (лицензии) уже берется мд5 и сравнивается с валидным значением.
Автор: blaster4
Дата сообщения: 19.12.2008 02:32
Lexua
Огромное спасибо !!!
Отлично работает .
Буду оформлять, и разбираться с остальными функциями.
Автор: Pazan
Дата сообщения: 19.12.2008 09:00
Zloy_Gelud

Цитата:
Лицензия текстовый файл с любым мд5 хэшем внутри.

а откуда брать этот самый мд5? сорри, чё-то я провтыкал
Автор: Kindly
Дата сообщения: 20.12.2008 11:49
Сделал небольшой пример плавной бегущей строки, на подобие примера от tavria2, но без использования плагинов и громоздкого кода:


Pazan
Цитата:
а откуда брать этот самый мд5
в любом md5 калькуляторе, хотя читай справку, в AMS тоже можно.
Автор: Zloy_Gelud
Дата сообщения: 20.12.2008 15:38

Ребят, я чтот не могу вкурить каким значениям параметра Sys Color в функции WinApi.GetSysColor соответствуют цвета 1 и 2 на рисунке?
И возможно ли сделать, чтобы границы проекта не были „втопленными“, а были как на рисунке? Спасибо.

Добавлено:
tavria2
Можно ли установить Листбоксу стиль LBS_MULTICOLUMN и LVM_SETCOLUMNA (LVM_FIRST + 26)? И соот-но добавлять в эти столбцы разные значения...Было бы очень удобно и отличная замена Grid'у.
Автор: Pazan
Дата сообщения: 20.12.2008 20:15
Kindly

Цитата:
в любом md5 калькуляторе, хотя читай справку, в AMS тоже можно.

т.е., наверное, я не совсем правильно понимаю, чтобы генерировать разные мд5-ключи, придётся перекомпилировать проект, так как условие проверки конкретного ключа зашито в коде программы? или я опять чё-то путаю...
Автор: 777Dima
Дата сообщения: 21.12.2008 13:25
Помогите пожалуйста с поиском в объекте RichText.
Хочу сделать чтобы найденный результат был бы выделенным в этом объекте RichText
Как поиск в стандартном блокноте, кнопкой F3.
Что неправильно?

Код: Text = Input.GetText("Input1");
sFindText = RichText.FindText("RichText1", Text, 1, -1, false, false);
RichText.SetSelection("RichText1", 1, sFindText);
Input.SetText("Input1", "");
Автор: Lexua
Дата сообщения: 21.12.2008 14:23
777Dima
Переменная sFindText - это таблица! Соответственно наверное будет так

Цитата:
Text = Input.GetText("Input1");
sFindText = RichText.FindText("RichText1", Text, 1, -1, false, false);
RichText.SetSelection("RichText1", sFindText.Start, sFindText.End);
Input.SetText("Input1", "");
Автор: 777Dima
Дата сообщения: 21.12.2008 14:40
Lexua
Спасибо! Всё понятно.
Автор: Zloy_Gelud
Дата сообщения: 21.12.2008 15:11
777Dima
Немного расширенный поиск.
На кнопку "Поиск" или на шорткат (н-р, Ctrl+F):

Код: strTextForSearch = Input.GetText("Input1");
local tblSearchRes = RichText.FindText("RichText1", strTextForSearch, 1, -1, false, false);
RichText.SetSelection("RichText1", tblSearchRes.Start, tblSearchRes.End);
nNextStartPos = tblSearchRes.End;
Автор: 777Dima
Дата сообщения: 21.12.2008 15:34
Zloy_Gelud
Собрался модернизировать поиск сам. Глянул, а тут уже все готово. Копируй и только...
Ну спасибо тебе...Zloy_Gelud!

Небольшая поправка. Если поле ввода пустое то так:


Код:
strTextForSearch = Input.GetText("Input1");

if (strTextForSearch ~= "") then
local tblSearchRes = RichText.FindText("RichText1", strTextForSearch, 1, -1, false, false);
RichText.SetSelection("RichText1", tblSearchRes.Start, tblSearchRes.End);
nNextStartPos = tblSearchRes.End;
else
if (strTextForSearch ~= nil) then
    Dialog.Message("", "Поле поиска не заполнено!.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
end
Автор: Zloy_Gelud
Дата сообщения: 21.12.2008 17:29
777Dima

Цитата:
Если поле ввода пустое то так:


Цитата:
Тогда как сделать если символ не найден?

Держи:

Код: strTextForSearch = Input.GetText("Input1");
-- если поле поиска пустое
if (strTextForSearch == "") then
    Dialog.Message("", "Поле поиска не заполнено!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
else
    local tblSearchRes = RichText.FindText("RichText1", strTextForSearch, 1, -1, false, false);
    -- если ничего не найдено
    if (tblSearchRes == nil) then
        Dialog.Message("", "По данному запросу не было ничего найдено.\r\n\r\nПопробуйте изменить строку поиска.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
    else
        RichText.SetSelection("RichText1", tblSearchRes.Start, tblSearchRes.End);
        nNextStartPos = tblSearchRes.End;
    end
end
Автор: 777Dima
Дата сообщения: 21.12.2008 17:51
Все теперь ясно. Ещё раз Спасибо!
Автор: tavria2
Дата сообщения: 21.12.2008 23:49
Zloy_Gelud

Цитата:
каким значениям параметра Sys Color в функции WinApi.GetSysColor соответствуют цвета 1 и 2 на рисунке?

COLOR_WINDOW = 5
COLOR_BTNFACE = 15
Цитата:
И возможно ли сделать, чтобы границы проекта не были „втопленными“, а были как на рисунке?

Код: -- API-константы
GWL_EXSTYLE = -20

hWnd = Application.GetWndHandle(); -- handle окна
WinApi.SetWindowLong(Application.GetWndHandle(), GWL_EXSTYLE, 0, false); -- новый расширенный стиль окна

-- извращение для перерисовки окна
nWidth = Window.GetSize(Application.GetWndHandle()).Width;
nHeight = Window.GetSize(Application.GetWndHandle()).Height;
Window.SetSize(hWnd, nWidth + 1, nHeight + 1);
Window.SetSize(hWnd, nWidth, nHeight);
Автор: servint
Дата сообщения: 22.12.2008 01:26
tavria2

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

Можно ли какой-то функцией вернуть окну фокус при его открытии?
Заранее благодарен.

Обнаружил, что проблема появляется из-за использования плагина Skin.
Неужели придется из-за этого от него отказаться, а не хотелось бы.
Автор: tavria2
Дата сообщения: 22.12.2008 09:25
servint

Код: -- Установка фокуса на указанное окно
hWnd=Application.GetWndHandle();
DLL.CallFunction("user32.dll", "SetFocus", hWnd, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Автор: servint
Дата сообщения: 22.12.2008 12:14
tavria2

Это уже пробовал, не помогает. Фокус все равно не восстанавливается.
Т.е в самом скине предусмотрен дизайн для окна с фокусом и для окна которое его теряет (например открывается дочернее). Так вот все диалоги открытые через DialogEx не имеют этого фокуса.

Вот тестовый проект, посмотри если не трудно:
Ссылка
Автор: Zloy_Gelud
Дата сообщения: 22.12.2008 14:49
tavria2
Огромное спасибо за помощь!

Цитата:
И возможно ли сделать, чтобы границы проекта не были „втопленными“, а были как на рисунке?

Оказалось работает и так (On Preload):

Код: WinApi.SetWindowLong(Application.GetWndHandle(), -20, 0, false);
Автор: tavria2
Дата сообщения: 22.12.2008 16:37
servint
Экспортируй проект в .apz, а затем выложи.

Zloy_Gelud

Цитата:
Все остальное обязательно?

Если ты имеешь ввиду передергивание размера окна, то это не обязатьельно для On Preload, но если ты поменяешь стиль когда окно уже отображено, то тогда стиль не изменится до изменения размеров окна.

Да, можешь удалить API-константы:
WS_EX_CLIENTEDGE = 512
WS_EX_STATICEDGE = 131072
WS_EX_WINDOWEDGE = 256

Эти константы отвечают за выпуклость, впуклость окна, которые можно подставлять в расширенный стиль окна.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Symantec Endpoint Protection - SEP


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