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

» Indigo Rose AutoPlay Media Studio

Автор: ra700
Дата сообщения: 13.09.2012 16:28
"Надо, чтобы этот код выполнялся ... при работе программы."

а как именно? Что должно произойти, чтобы этот код сработал?


___________________________________
Есть код:

SlideShow.AddSlide("SlideShow1", "AutoPlay\\Images\\630A01257.jpg", -1);
SlideShow.Navigate("SlideShow1", SLIDESHOW_LAST);

Интересно, а в AMS есть возможность вставить картину в SlideShow и выбором радиокнопки вывести эту картину внутри SlideShow как под лупой (в увеличенном масштабе)?

То есть, если выбрали радиокнопку "вся картина", то в SlideShow отображается картина масшабированная под размеры окна SlideShow. Выбрали радиокнопку "увеличить" - картина отображается в SlideShow в увеличеном масштабе, а саму картину можно перемешать в окне.

Это возможно?
Жаль, что не могу вставить картинку.
Автор: KRAUSER0993
Дата сообщения: 13.09.2012 16:39
ra700

Хочу, чтобы программа предпринимала действие при данном условии без нажатия чего-либо.

Например, захожу в программу и тут появляется изображение. Надо, чтобы прога выполнила еще одно действие после того, как появится изображение. Для этого надо, чтобы прога на протяжении работы учитывала это условие. Объяснил по максимому как мог) Это пример, у меня в проекте чуть по другому, но суть та же.
Автор: Zloy_Gelud
Дата сообщения: 13.09.2012 16:42
ra700 -- может и можно, но до этого еще никто не додумался.

Добавлено:
KRAUSER0993 -- тебе lerik2703 уже правильно ответил, что это дело необходимо в таймере крутить.
Автор: KRAUSER0993
Дата сообщения: 13.09.2012 16:55
Ура, таймер запустил, все работает. Спасибо!
Автор: ra700
Дата сообщения: 13.09.2012 22:57
Zloy_Gelud, хочу выразить Вам огромную благодарность за конкретные подсказки по теме вопросов!

Это здорово помогает усваивать программу AMS.
Автор: Zloy_Gelud
Дата сообщения: 13.09.2012 23:05
ra700 -- не за что. На то форум и есть.
Автор: KRAUSER0993
Дата сообщения: 14.09.2012 12:19
Всем привет, снова))
Столкнулся с последней проблемой до завершения моего проекта.

не знаю как сделать так, чтобы сохранялось значение.

Вот кусок из проекта:

в On Timer пишу


Код: x = 0

if Image.IsVisible("Image1") then
x = 0 + 30
end

if Image.IsVisible("Image2") then
x = 0 - 15

if Image.IsVisible("Image2") then
x = 0 + 5

И.Т.Д
Автор: Zloy_Gelud
Дата сообщения: 14.09.2012 12:54
KRAUSER0993

Цитата:
в On Timer пишу

OMG. Какая же у у тебя нагрузка на проц с таким кодом? Где задержки?


Код: x = 0

if Image.IsVisible("Image1") then
x = x + 30
end

if Image.IsVisible("Image2") then
x = x - 15

if Image.IsVisible("Image2") then
x = x + 5
Автор: KRAUSER0993
Дата сообщения: 14.09.2012 13:54
Zloy_Gelud

Спасибо, как же оказалось просто, думал будет сложнее)


Цитата:
OMG. Какая же у у тебя нагрузка на проц с таким кодом? Где задержки?


Программа работает без тормозов. Нагрузка нулевая) проверил через диспетчер задач
Задержек нет, таймер запустил и на протяжении всей работы программа проверяет мои условия)
Автор: Zloy_Gelud
Дата сообщения: 14.09.2012 14:18
KRAUSER0993

Цитата:
Нагрузка нулевая)

Надо же.
Кстати у тебя нет проверки ID таймера.
Автор: KRAUSER0993
Дата сообщения: 14.09.2012 14:35
Zloy_Gelud


Цитата:
Кстати у тебя нет проверки ID таймера.


Без ID, тупо запустил

Page.StartTimer (100);
Автор: lerik2703
Дата сообщения: 14.09.2012 14:54
KRAUSER0993

Цитата:
Без ID, тупо запустил

8-ке так не принято хотя и работает))


Код: Page.StartTimer (100,10);
-- в событии on Timer
if e_ID == 10 then
--код для выполнения
end
Автор: ra700
Дата сообщения: 16.09.2012 11:32
Решил несколько усовершенствовать код, установив вместо десятка Label один ComboBox.
Задача: выбрать из выпадающего списка строку, при этом в SlideShow вставляется соотвествующее изображение.

В ComboBox-e: 10 строк, содержащих ItemText(название) и ItemData (1.bmp, 2.bmp ...)
ItemText= Первое фото и ItemData = 1.bmp
ItemText= Второе фото и ItemData = 2.bmp
...

Код в OnSelect:
img = ComboBox.GetItemData("ComboBox1", 1); - вытаскиваем из комбобокса ItemData (название файла) выбранной строки. Это - название файла изображения
local path = "AutoPlay\\Images\\b\\"..img; - конкатенацией создаем путь к файлу
SlideShow.AddSlide("SlideShow1", path, -1); - вставляем в SlideShow
SlideShow.Navigate("SlideShow1", SLIDESHOW_LAST); - показываем в SlideShow

При выборе ЛЮБОЙ строки вставляется первое изображение и ничего не происходит.
То есть, выбирается не строка, по которой я кликнул, а первое из списка.
Подскажите, плиз, где я ошибся...
Автор: KerberX
Дата сообщения: 16.09.2012 11:40
ra700, вставляется первое изображение потому что ты вытаскиваешь ItemData только у первой строки. Смотри "ComboBox.GetSelected()"

Код: local nSel = ComboBox.GetSelected("ComboBox1");
if nSel ~= -1 then
img = ComboBox.GetItemData("ComboBox1", nSel);
end
Автор: Zloy_Gelud
Дата сообщения: 16.09.2012 11:41
ra700

Цитата:
img = ComboBox.GetItemData("ComboBox1", 1); - вытаскиваем из комбобокса ItemData (название файла) выбранной строки. Это - название файла изображения

Ну так же аргумент Index у тебя постоянно равен 1, поэтому и img будет всегда равно ItemData первой строки.
Исправь на это:

Код: img = ComboBox.GetItemData("ComboBox1", ComboBox.GetSelected("ComboBox1"));
Автор: lerik2703
Дата сообщения: 16.09.2012 11:56
ну если в событии on Select можно использовать собственную переменную ))

Код: img = ComboBox.GetItemData("ComboBox1", e_Selection);
Автор: Zloy_Gelud
Дата сообщения: 16.09.2012 12:08
lerik2703

Цитата:
ну если в событии on Select можно использовать собственную переменную ))

Ну тогда можно даже и так:

Код: img = ComboBox.GetItemData(this, e_Selection);
Автор: lerik2703
Дата сообщения: 16.09.2012 12:15
Zloy_Gelud
что то я и забыл про this
Автор: ra700
Дата сообщения: 16.09.2012 12:16
KerberX, Zloy_Gelud, теперь понятно, СПАСИБО!!!!
Автор: Alexey87
Дата сообщения: 16.09.2012 13:29
Здравствуйте, уважаемые форумчане!
Подскажите, пожалуйста, решение следующей задачки:
собираю дистрибутив office 2003 под себя и делаю к нему файл автозапуска.
Проект состоит из трех страниц (на каждой есть объекты label, image).
При использовании любого объекта 2-ой страницы совершается переход (свойств jump) на 3-ю (у объектов label задано изменение цвета текста). На 3-ей странице объектами label задана возможность перехода (свойств jump) на 1-у и 2-у страницы.
Так вот, если с 3-ей страницы вернуться на 2-у, то у объекта label сохраняется цвет как при нажатии на него (задан – красный), а должно быть нормальное состояние (по умолчанию – черный). А теперь если, вернуться на 3-ю страницу тот же эффект у объекта label для перехода на 3-ю страницу и т.д. Как это можно исправить?

p.s.: у меня AutoPlay Media Studio 7.5.1008
Автор: viklavrenko
Дата сообщения: 16.09.2012 13:53
Подскажите как при событии Minimize (нажатие на кнопку сворачивания окна) сделать так чтобы фоновая музыка ставилась на паузу и снова начинала играть при разворачивании окна.
Автор: Zloy_Gelud
Дата сообщения: 16.09.2012 16:03
Alexey87 -- встречал такой косяк. При клике по Label, перед действием перехода на другую страницу, возвращай normal цвет объекту Label.



viklavrenko
Сначала необходимо подключить плагин Memory.
Далее..

Глобальные функции:

Код: function WM_SIZE (hWnd, uMsg, wParam, lParam)
if hWnd == Application.GetWndHandle() then
if uMsg == 5 then -- ловим WM_SIZE сообщение
if wParam == 1 then -- SIZE_MINIMIZED
Audio.Pause(CHANNEL_BACKGROUND);
elseif wParam == 0 then -- SIZE_RESTORED
Audio.Play(CHANNEL_BACKGROUND);
end
end
end
end

function QueryAllowProjectClose()
Memory.FreeWindowSubClass(101);
return true;
end
Автор: viklavrenko
Дата сообщения: 16.09.2012 16:43
Alexey87
Сначала необходимо подключить плагин Memory.

Спасибо!
Вот только плагина этого не нашел в свободном доступе. Есть на indigorose.com только это похоже платный ресурс. Можете скинуть мне этот плагин?

Автор: Alexey87
Дата сообщения: 16.09.2012 16:53

Цитата:
При клике по Label, перед действием перехода на другую страницу, возвращай normal цвет объекту Label.

а как это сделать?


Цитата:
Сначала необходимо подключить плагин Memory.

а без него никак?
Автор: Zloy_Gelud
Дата сообщения: 16.09.2012 17:04
viklavrenko

Цитата:
Вот только плагина этого не нашел в свободном доступе.

Есть в Варезнике в паке от Kindly и в репаке Robby. Отдельно:
http://minus.com/lkUthSbU9x2bK

Цитата:
Есть на indigorose.com только это похоже платный ресурс

Это официальный сайт программы. Качать правда можно только после регистрации. Некоторые плагины там платные, но тот, о котором мы говорим, бесплатный.

Добавлено:
Alexey87

Цитата:
а как это сделать?

Был бы у меня сабж 7.5, то потестил бы и написал. А то на 8ке не могу этот баг воспроизвести. Советую тебе тоже обновиться.

Цитата:
а без него никак?

Никак.
Автор: lerik2703
Дата сообщения: 16.09.2012 17:31
может я что-то пропустил а зачем Alexey87 плагин нужен?
достаточно так???

Код: Label.SetProperties("Label1", {ColorNormal=0});
Автор: KRAUSER0993
Дата сообщения: 16.09.2012 17:41
Подскажите, пожалуйста, можно ли создать анимацию другим кодом или как-нибудь оптимизировать?

Использую этот, но процессор сильно нагружается и анимация иногда притормаживает


Код: Image.SetVisible("Image53", true);
Application.Sleep(10);
Image.SetVisible("Image53", false);
Image.SetVisible("Image52", true);
Application.Sleep(10);
Image.SetVisible("Image52", false);
Image.SetVisible("Image51", true);
...
Автор: lerik2703
Дата сообщения: 16.09.2012 17:49
KRAUSER0993
а зачем столько объектов?
не проще использовать Image.Load?
Автор: Zloy_Gelud
Дата сообщения: 16.09.2012 18:03
lerik2703

Цитата:
может я что-то пропустил а зачем Alexey87 плагин нужен?

Не пропустил. Я думаю, что viklavrenko
просто не обрамил тегами цитаты мои слова: "Сначала необходимо подключить плагин Memory". Да и еще и не к тому обратился.
Автор: KRAUSER0993
Дата сообщения: 16.09.2012 19:15
lerik2703

Спасибо, теперь анимация воспроизводится без тормозов)

Добавлено:
А можно ли заменить Application.Sleep(10) другим кодом, который не будет останавливать проект?

Image.Load("Image14", "AutoPlay\\Images\\1.png");
Application.Sleep(10);
Image.Load("Image14", "AutoPlay\\Images\\2.png");
Application.Sleep(10);
Image.Load("Image14", "AutoPlay\\Images\\3.png");
Application.Sleep(10);


Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

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


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