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

» Autoplay Media Studio

Автор: servint
Дата сообщения: 20.04.2007 13:56
У меня есть проблемка...
Очень надеюсь на вашу помощь

Значит у меня есть таблица (содержит цифры)
Нужно чтобы все её элементы складывались и выводилась сумма

Я знаю только это: table[1] + table[2] +....
Но это очень долго, а если у меня в таблице будет 200 элементов ))

Как можно это записать покороче...
Раз складываются ВСЕ элементы то мне кажется должна быть какая-то короткая функция...

Заранее благодарен
Автор: GOOSE
Дата сообщения: 20.04.2007 14:41
servint
Так у тебя таблица или текстовый файл?
Если текст, то чем разделяются числа?
Автор: Drez
Дата сообщения: 21.04.2007 14:44
проблема.
создал кнопку играть
но она не запускается, вернее запускается но игра не запускается =)

код:
function Launch_Game_EXE()
File.Run(Launch_Game_Registry_Path.."\\SOLDIERS.EXE", "", Launch_Game_Registry_Path, SW_SHOWNORMAL, false);
Application.Exit(0);
end

-- переменные
Launch_Game_Registry_Path = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\UZ\\VTV", "Exe Path", true); -- Данные реестра (для запуска ".exe файла" игры)

if Launch_Game_Registry_Path == "" then -- Если в реестре нет записи
Dialog.Message("Ошибка", "Игра не установлена!", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1);
else -- В реестре есть запись
Launch_Game_EXE();
end

просто закрывается окно автозапска и всё, в реесире ветка есть...
хелп
Автор: NightW0lf
Дата сообщения: 21.04.2007 15:09
Drez

Цитата:
проблема.
создал кнопку играть
но она не запускается, вернее запускается но игра не запускается =)

А у тебя путь прям указан до самого EXE или каталога где он лежит? Если - да тогда надо указать путь просто к каталогу с игрой.
Автор: Drez
Дата сообщения: 21.04.2007 21:35
не знаю, смотри:
в инсталляторе строка:

Root: HKLM; Subkey: SOFTWARE\UZ\VTV; ValueType: string; ValueName: Exe Path; ValueData: {app}\SOLDIERS.EXE; Flags: uninsdeletekey

и код для авторана
function Launch_Game_EXE()
File.Run(Launch_Game_Registry_Path.."\\SOLDIERS.EXE", "", Launch_Game_Registry_Path, SW_SHOWNORMAL, false);
Application.Exit(0); -- Выйти из проекта
end

Launch_Game_Registry_Path = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\UZ\\VTV\\", "Exe Path", true); -- Данные реестра (для запуска ".exe файла" игры)

if Launch_Game_Registry_Path == "" then -- Если в реестре нет записи
Dialog.Message("Ошибка", "Игра не установлена!", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1); -- Сообщение об ошибке
else -- В реестре есть запись
Launch_Game_EXE(); -- Вызов ф-ции запуска игры "W"
end

по сути всё должно работать но не пашет...
Автор: servint
Дата сообщения: 21.04.2007 23:11
Люди! Помогите!

Какой код нужно напистаь чтобы сложить ВСЕ элементы в таблице (цифры)???
Автор: Pasha13
Дата сообщения: 22.04.2007 10:24
Долбусь второй день со splash screen -ом , я так понимаю решения нет вроде?!
Вот собственно трабла:
Action (OnStartUp):
Dialog.SplashImage("AutoPlay\\Images\\img.png", 5, true);
полупрозрачный png получается в рамке, как её убрать понятия не имею, и нафига было эту рамку вводить вообще?
Вообщем хелп!

И ещё, есть ли шанс сделать полупрозрачными ListBox или TreeObject?
Автор: Lexua
Дата сообщения: 22.04.2007 14:09
servint
Лучше всего не лениться и справку почитать.


Код: mytable = {1,2,3};
a = 0;

for index, select in mytable do
a = a + select;
end
Dialog.Message("Table sum", a);
Автор: servint
Дата сообщения: 22.04.2007 14:46
Lexua

У меня ошибку выдаёт...

Я использовал функцию получения содержимого текстового файла в таблицу.
Потом твой код но возникает ошибка: attempt to perfom arithmetic on local 'select' (a string value )

В чём проблема?
Автор: GOOSE
Дата сообщения: 22.04.2007 19:41
servint
судя по всему, при переводе данных из файла, они у тебя сохранились как строковые.
Переведи их в числовые, так как арифметические операторы работают ТОЛЬКО с числовыми значениями.
Автор: Lexua
Дата сообщения: 23.04.2007 09:46

Цитата:
судя по всему, при переводе данных из файла, они у тебя сохранились как строковые.
Переведи их в числовые, так как арифметические операторы работают ТОЛЬКО с числовыми значениями.

Именно так. Есть такая функция String.ToNumber
Автор: tavria2
Дата сообщения: 24.04.2007 23:09
Всем привет!

Изобрел "велосипед", под кодовым названием "SliderEx" . Это слайдер, созданный из стандартных объектов AMS. Вам не прийдется вникать в довольно сложный и громоздкий код, который я специально вынес в файл "SliderEx.lua", чтобы не пугать народ . Управление слайдером происходит с помощью добавленных в AMS действий "SliderEx".

Возможности:
17 действий
Поддержка горизонтальной и вертикальной ориентации
Автоматическое определение типа ориентации
Установка диапазона: положительного/отрицательного, возрастающего/убывающего, целочисленного/с десятичной точкой
Установка позиции ползунка: перемещением с помощью мышки/щелчком на панели слайдера/программным способом
Пользовательский интерфейс
Инсталляция и демонстрационный пример использования SliderEx:
SliderEx.zip (1.9 Мб). | EasySlider.apz (523 Кб).
Автор: GOOSE
Дата сообщения: 25.04.2007 08:58
tavria2
... снимаю шляпу!

От справки я в шоке Таких подробностей, да с картинками и анимацией!!!
Круто!
Молодец, так держать!
Автор: Kindly
Дата сообщения: 25.04.2007 14:19
tavria2, поражаешь! Тебе надо SDK плагинов у разработчиков попросить, реальный плагин напишешь, хотя врядли они незарегенным дадут.
Автор: GOOSE
Дата сообщения: 25.04.2007 14:23
Kindly
У меня есть... для пятой версии Они просто всем давали, сейчас что то не вижу вообще...

Добавлено:
О! Нашел!
Есть, причем все также бесплатно
Лежит тут _http://indigorose.com/forums/showthread.php?t=3380&highlight=ams+sdk
Автор: tavria2
Дата сообщения: 25.04.2007 14:40
Kindly
Цитата:
Тебе надо SDK плагинов у разработчиков попросить, реальный плагин напишешь, хотя врядли они незарегенным дадут
SDK у меня есть но, к сожалению, мне это не по зубам, там все надо писать на C/С++, а я в этом - ноль .
Автор: servint
Дата сообщения: 25.04.2007 14:52
tavria2


Подскажи пожалуйста где можно скачаьб бесплатно дополнительные кнопки?
Типо как у тебя тема висты
Автор: tavria2
Дата сообщения: 25.04.2007 15:17
servint

Цитата:
Подскажи пожалуйста где можно скачаьб бесплатно дополнительные кнопки?
Типо как у тебя тема висты

Я не знаю откуда можно скачать. Свои кнопки я сдирал с других приложений и переделывал.
Автор: NightW0lf
Дата сообщения: 25.04.2007 19:31
to All
Помогите с этими двумя проектами check_reg.apz и FadeInOut_1.3.apz. Суть проблем такова:
1. В проекте check_reg.apz неправильно работает возможность подчеркивания текста [т.е. если кнопка НЕ Активна и нажать на Активную то заодно подчеркнется НЕ Активная].
2. Не получается объединить оба этих проекта [check_reg.apz и FadeInOut_1.3.apz] т.е. при их объединении перестает работать возможность постоянной проверки реестра от проекта check_reg.apz.

Заранее благодарю за помощь!
Автор: sly33
Дата сообщения: 25.04.2007 21:29
Уважаемый GOOSE! Я воспользовался Вашим примером с Вашего сайта "учимся работать...." и что-то со скриптами никак не выходит-
строка for j in FileList do FileName= String.Replace(FileList[j], _Searchdir.."\\", "", false);
при выводе на монитор появляется сообщение OnClick, Line8: Attempt to call a nil value
Нужна Ваша помощь! Спасибо! SLY
Автор: GOOSE
Дата сообщения: 26.04.2007 09:46
sly33
Если пример взят без изменений, то он рабочий на 100%.
А приведенная ошибка говорит о том, что одна из переменных в этой строке имеет значение nil, то бишь пуста
Проверьте выше по коду...
Кстати! Строка кода, приведенная в посте скопирована с ошибками , так как на самом деле это две строки и они совсем не восьмые...
Должно быть так:

Код:
for j in FileList do
FileName= String.Replace(FileList[j], _Searchdir.."\\", "", false);
Автор: tavria2
Дата сообщения: 26.04.2007 13:47
GOOSE

Цитата:
Скорее всего конфликтуют таймеры проектов.

Не хотел я флеймить, но видимо прийдется.

Ничего там не конфликтует, пример "FadeInOut_1.3.apz" специально был переписан, что бы избежать конфликтов с таймером (проверял). Просто человек хочет, что бы за него выполнили работу, иначе он выложил бы свой проект в котором происходит конфликт... А версию с конфликтом он позаимствовал из более раннего своего поста, в котором он указывал на конфликт таймеров в примере "FadeInOut_1.2.apz", после чего я переписал пример и внедрил в его проект. Повидимому это послужило поводом думать, что таким образом, можно без всяких усилий получить готовый проект.
Я давно наблюдаю за его постами и создается такое впечатление, что он ничего не хочет делать своими руками или действительно не понимает, даже элементарных вещей. Если второе, то это уже хуже, тогда наверное ему рано заниматься такими вещами.

P.S. Я не отказываю в помощи людям, которые пытаются что-то делать своими руками...
Автор: Lexua
Дата сообщения: 26.04.2007 15:12

Цитата:
Всем привет!

Изобрел "велосипед", под кодовым названием "SliderEx"

tavria2
Красвчег однозначно!!! +1
Автор: NightW0lf
Дата сообщения: 26.04.2007 15:49
tavria2

Цитата:
Ничего там не конфликтует, пример "FadeInOut_1.3.apz" специально был переписан, что бы избежать конфликтов с таймером

Да ты был абсолютно прав, что там все работает и не конфликтует!
Скорей всего я просто когда делал свой проект напутал [так как у меня очень много разных версий одного и того же проекта] с проектами "FadeInOut_1.3.apz" & "check_reg.apz" и из-за этого везде пошли "непонятки".


Цитата:
он выложил бы свой проект в котором происходит конфликт.

Я просто не стал их склеивать лишь потому что я решил, что то не так делаю и другим людям будет тяжело поправить код.


Цитата:
Просто человек хочет, что бы за него выполнили работу

Нет я НЕ такой! Я в основном всегда старюсь сам что-то понять и если непойму то тогда прошу помоши.

P.S.: вот скрешенный проект [если кому надо].

P.S.S.: Приношу свои извинения за не внимательность
Автор: sly33
Дата сообщения: 26.04.2007 19:17

Цитата:
sly33
Если пример взят без изменений, то он рабочий на 100%.
А приведенная ошибка говорит о том, что одна из переменных в этой строке имеет значение nil, то бишь пуста
Проверьте выше по коду...
Кстати! Строка кода, приведенная в посте скопирована с ошибками , так как на самом деле это две строки и они совсем не восьмые...
Должно быть так:

Код:
for j in FileList do
FileName= String.Replace(FileList[j], _Searchdir.."\\", "", false);



В общем, для того, чтобы помочь, нужно знать проблему, а я пока ее не понимаю.



GOOSE

Вот что у меня написано:
Label.SetVisible("Label1", true);
ListBox.SetVisible("ListBox1", true);
Label.SetVisible("Label7", true);
Label.SetVisible("Label8", true);
Label.SetVisible("Label6", true);
_Searchdir=_SourceFolder.."D:\AutoPlay\AutoPlay Media Studio 6.0 Projects\AutoPlay Media Studio 6[1].0 Data Editor\CD_Root\AutoPlay\Docs\Home"
FileList = File.Find(_Searchdir.."\\", "*.exe", false, false, nil);
for j in FileList do
FileName= String.Replace(FileList[j], _Searchdir.."\\", "", false);
ListBox.AddItem("ListBox1", FileName, FileList);
end

Указанную ошибку я исправил и езультат тот же , а строка как раз восьмая.


Я в этой области новичок , т. ч. извините за наивность!
И вопрос есть конкретный - что такое j и откуда оно взялось?
Спасибо. SLY.
Автор: tavria2
Дата сообщения: 27.04.2007 10:19
Создание полупрозрачного окна произвольной формы без использования маски окна и дополнительного DLL, отвечающего за полупрозрачность.
Opacity-n-Custom Window (NoMask-NoDll).apz (135 Кб).
Автор: GOOSE
Дата сообщения: 27.04.2007 13:33
sly33
Что новичек, понятно.
Но всем, а новичкам в особенности, нужно усиленно "курить" хелп.
Он, кстати, очень толковый и подробный! И фигня, что на английском, даже транслэйт.ру справится на ура...
Так вот, глянь в справке, что означает _SourceFolder и посмотри, что ты дописал после. А теперь прикинь, может ли такой путь существовать? Вот у тебя и пишет, что переменная _Searchdir пустая
Думаем, парни, думаем!

Держи кусок хелпа:

Цитата:

Использование пересчета таблиц (Using For to Enumerate Tables)
Есть специальная конструкция, которая позволяет быстро и легко пересчитать содержание массива. Синтаксис следующий:

for index,value in table do
operate on index and value
end

Например:

mytable = {"One","Two","Three"};

-- показываем диалоговое сообщение для каждого элемента таблицы
for j,k in mytable do
Dialog.Message("Table Item", j .. "=" .. k);
end

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


Это быстрый и простой способ пересчитать все значения в таблице. Если вы только хотите узнать индексы таблицы, вы можете не использовать часть значений:

a = {One=1,Two=2,Three=3};

for k in a do
Dialog.Message("Table Index",k);
end

Этот код выведет три сообщения подряд с текстом "Один", "Три" и "Два".

Стоп! А почему не по порядку? Причина в том, что внутри скриптового механизма таблицы хранятся не в массивах, а в хэшах. (Не волнуйтесь, я путаюсь в хешах также, как и вы!) Важно знать, что когда вы назначаете элементы таблицы, они не обязательно сохраняются в порядке добавления, если не используется числовой массив (то есть таблица, с числовыми индексами от 1 и далее).


Добавлено:
tavria2

Цитата:
Не хотел я флеймить, но видимо прийдется.

Да... Нормально так... Извини, говорил, не глядя в код. В голову не пришло бы, что человек постит просьбу, не глянув, что все уже решено...

Добавлено:
tavria2 классно
ЗЫ Особенно приколол флаг
Автор: sly33
Дата сообщения: 27.04.2007 18:37
GOOSE


Цитата:
Но всем, а новичкам в особенности, нужно усиленно "курить" хелп.


Вот я и перевёл _SourceFolder - это полный путь к папке приложения AutoPlay из которой оно запускается. Я так и написал. Я понимаю что где-то я не прав , но не могу понять - где. Если не трудно объясните , пожалуйста , чуть подробнее. Спасибо!
Автор: GOOSE
Дата сообщения: 27.04.2007 21:20
sly33

Цитата:
_SourceFolder - это полный путь к папке приложения AutoPlay из которой оно запускается. Я так и написал.

...потом добавил туда следующее

Код: .."D:\AutoPlay\AutoPlay Media Studio 6.0 Projects\AutoPlay Media Studio 6[1].0 Data Editor\CD_Root\AutoPlay\Docs\Home"
Автор: sly33
Дата сообщения: 27.04.2007 21:26
После ещё трёх часов работы получилось вот что:

Label.SetVisible("Label1", true);
ListBox.SetVisible("ListBox1", true);
Label.SetVisible("Label7", true);
Label.SetVisible("Label8", true);
Label.SetVisible("Label6", true);
_Searchdir=_SourceFolder.."\\AutoPlay\\Docs\\Home"
FileList = File.Find(_Searchdir.."\\", "*.exe", false, false, nil);
for j in FileList do
FileName= String.Replace(FileList[j], _Searchdir.."\\", "", false);
ListBox.AddItem("ListBox1", FileName, FileList);
end

Эта конструкция не работает - всё те же OnClick, Line8: Attempt to call a nil value .

Label.SetVisible("Label1", true);
ListBox.SetVisible("ListBox1", true);
Label.SetVisible("Label7", true);
Label.SetVisible("Label8", true);
Label.SetVisible("Label6", true);
_Searchdir=_SourceFolder.."\\Autoplay\\Docs\\Home";
File.ExploreFolder(_SourceFolder.."\\Autoplay\\Docs\\Home", SW_SHOWNORMAL);
FileList = File.Find(_Searchdir.."\\", "*.exe", false, false, nil);
for j in FileList do
FileName= String.Replace(FileList[j], _Searchdir.."\\", "", false);
ListBox.AddItem("ListBox1", FileName, FileList[j]);
end

А вот эта с открыванием папки работает без вопросов.
В чём же секрет? Подскажите , а то уже мозги закипают!!!!

Добавлено:
Сорри, не видел последнего сообщения. А пути я писал и так и эдак.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Matrix Screensaver


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