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

» Indigo Rose AutoPlay Media Studio

Автор: bigbrain
Дата сообщения: 08.05.2013 22:57
Размер приложения выходит такого размера потому что для Lua нужен интерпретатор, который обрабатывает команды, указанные в коде. При этом нужно с собой тащить всю библиотеку, отдельные функции там не оставишь. AMS - это же своего рода фреймворк, конструктор приложений из готовых объектов и фукнций, а за это нужно всегда платить размером проекта.
Напишите программу на _Microsoft .NET, он будет, наверное, не меньше.
Хотите маленький размер программы - учите компилируемые языки, типа Дельфи, а лучше Ассемблер, тогда Ваш проект будет пару килобайт всего )))
Автор: gizmo211
Дата сообщения: 10.05.2013 06:32
Всем привет, все бьюсь с проблемой задания эффекта перехода между слайдами в слайдшоу.
tbProps = {};
tbProps.Loop=false;
tbProps.Transitions=true);

SlideShow.SetProperties("slide_show",tbProps);

указано что transition=true? а как указать виды этого эффекта, в мануале написаны варанты, но почему то не написано где и как их указывать, подскажите пожалуйста очень надо.
цитата из мануала:
"...shape - форма. Здесь можно выбрать следующие формы: расширяющийся круг - circle (grow), сжимающийся круг - circle (shrink), расширяющийся квадрат - square (grow) и сжимающийся квадрат - square (shrink). Также можно изменить размер шага (step size) и задержку (delay)..."
Автор: Robby
Дата сообщения: 10.05.2013 08:51
gizmo211
так это про переходы для страниц написано. Для слайдшоу возможно только включить эффект переходов или выключить. Может это потому, что он там всего один.
Автор: gizmo211
Дата сообщения: 10.05.2013 14:23
Спасибо, жаль. А изменить его как-то можно пусть один но не с такой анимацией как здесь?
Автор: CoMaster
Дата сообщения: 10.05.2013 18:25
Action Plugin MemoryEx 2.2.0.0 by Imagine Programming

Цитата:
Another MemoryEx update. This update adds a functionality to Library.Load, which allows
you to load a DLL from a Base64 string or a memory buffer. This update also brings a new
method for Library handles; CallClosure_, allowing you to call a Lua C Closure in a loaded
DLL. Using this in conjunction with the Base64 / buffer feature in Library.Load, you can now
load a Lua module from memory instead of from file (package.loadlib).

Another example to show this feature was added as well, I will later add an example showing
the CallClosure_ method in action.

Changes
Added: Base64 / buffer support for Library.Load, can now load DLL from Base64 encoded data or a buffer.
Added: CallClosure_ method for library handles, allowing you to call a CClosure enabling registering modules from e.g. DLL's which are loaded from memory.
Added: Base64 DLL example.
Updated: Documentation and examples.
Автор: tavria2
Дата сообщения: 11.05.2013 11:50
Привет!

Пример создания контекстного меню для объекта Tree.
Tree-RClick.apz

P.S. Требуется плагин MemoryEx
Автор: Robby
Дата сообщения: 11.05.2013 13:36
При создании одиночного исполняемого файла (Web/Email executable) невозможно использовать русские буквы в именах файлов и папок. При распаковке такого проекта все русские имена будут кракозябрами. Возможно ли это как-то исправить?

И еще, работает ли на панели Свойств объекта RichText редактирование текста при клике в соответсвующем поле?

У меня при клике ничего не происходит, хотелось бы опредлиться - это глюк программы или только у меня проявляется. При клике по объекту окно свойств открывается нормально.
Автор: tavria2
Дата сообщения: 11.05.2013 13:46
Robby

Цитата:
При создании одиночного исполняемого файла (Web/Email executable) невозможно использовать русские буквы в именах файлов и папок. При распаковке такого проекта все русские имена будут кракозябрами. Возможно ли это как-то исправить?

Есть такое дело.
Создавай сам sfx-архив в WinRar'е.

Цитата:
И еще, работает ли на панели Свойств объекта RichText редактирование текста при клике в соответсвующем поле?
 
У меня при клике ничего не происходит, хотелось бы опредлиться - это глюк программы или только у меня проявляется.

При клике на поле текст ничего не будет происходить, нужно кликать на кнопке обзора, которая находится в правой части поля - должно открыться диалоговое окно для редактирования текста.
Автор: Robby
Дата сообщения: 11.05.2013 15:10
tavria2
в принципе это я и имел ввиду, но не правильно выразился. Так вот, при клике по кнопке, окно не открывается, вообще ничего не происходит. Для других объектов, напр. Paragraph все нормально, открывается окно ввода текста.
Автор: Robby
Дата сообщения: 11.05.2013 19:15
Уточнение. Все это (не открывется окно редактирования RichText при клике по кнопке в панели Свойств объекта RichText) происходит когда RichText находиться на диалоговой, а не на обычной странице. Подзабыл про эту деталь...
Автор: tavria2
Дата сообщения: 11.05.2013 19:53
Robby

Цитата:
Все это (не открывется окно редактирования RichText при клике по кнопке в панели Свойств объекта RichText) происходит когда  RichText находиться на диалоговой

Подтверждаю, в диалоговом окне есть такой баг.
AMS 8.0.7.0 PE
Автор: PAVELNEXT
Дата сообщения: 14.05.2013 18:45
Здравствуйте, подскажите пожалуйста как с помощью WinApi или другим способом установить минимальные размеры окна проекта. В настройках есть такая возможность, но в моём проекте изменение окон отключено, и включается только на одной странице с помощью:

WinApi.SetWindowLong(Application.GetWndHandle(), GWL_STYLE,WS_SIZEBOX, false);
WinApi.ShowWindow(Application.GetWndHandle(), SW_SHOW);

а вот как минимальные размеры поставить (высота 625, ширина 425) не могу найти.
Автор: Zloy_Gelud
Дата сообщения: 14.05.2013 20:07
PAVELNEXT -- есть стандартная функция (добавить в глобальные):

Код: -- Restrict the window size to 200x100 minimum
-- and 800x600 maximum:
function g_OnGetMinMaxInfo()
tbReturn = {};
tbReturn.MinX = 200;
tbReturn.MinY = 100;
tbReturn.MaxX = 800;
tbReturn.MaxY = 600;

return tbReturn;
end
Автор: PAVELNEXT
Дата сообщения: 14.05.2013 20:12

Цитата:
Zloy_Gelud

Если пункт 'Изменяемый размер - Resizable' в настройках проекта (Project Settings) не отмечен, эта функция игнорируется.

вот как раз у меня и не отмечен, так как из всех страниц проекта, мне нужна только одна, которая растягивается, остальные должны быть статичны
Автор: Zloy_Gelud
Дата сообщения: 14.05.2013 20:17
PAVELNEXT

Цитата:
Если пункт 'Изменяемый размер - Resizable' в настройках проекта (Project Settings) не отмечен, эта функция игнорируется.

Ну правильно, она будет игнорироваться на с траницах, на которых запрещен ресайз.
А на той, у которой ты выполняешь

Цитата:
WinApi.SetWindowLong(Application.GetWndHandle(), GWL_STYLE,WS_SIZEBOX, false);
WinApi.ShowWindow(Application.GetWndHandle(), SW_SHOW);

эта функция будет работать. Что не так?
Автор: PAVELNEXT
Дата сообщения: 14.05.2013 20:22

Цитата:
эта функция будет работать. Что не так?

WinApi.SetWindowLong(Application.GetWndHandle(), GWL_STYLE,WS_SIZEBOX, false);
WinApi.ShowWindow(Application.GetWndHandle(), SW_SHOW);
g_OnGetMinMaxInfo()

и не работает, окно уменьшается менее заданных размеров, из справки:

g_OnGetMinMaxInfo ( )
Вызывается всякий раз, когда изменяется размер окна приложения во время работы. Используя эту функцию, можно устанавливать минимальный и максимальный размеры окна приложения в вашем проекте. Если пункт 'Изменяемый размер - Resizable' в настройках проекта (Project Settings) не отмечен, эта функция игнорируется.
Автор: Zloy_Gelud
Дата сообщения: 14.05.2013 20:44
PAVELNEXT -- лень втыкать почему и как работает/не работает g_OnGetMinMaxInfo, мне проще самому написать рабочее решение.

On Show страницы, которую можно растягивать:

Код: local nMinWidth = 425;
local nMinHeight = 625;
local nMaxWidth = 800;
local nMaxHeight = 600;

WM_GETMINMAXINFO = 0x0024;
local MaxInfo = MemoryEx.DefineStruct{INT('int1');
INT('int2');
INT('int3');
INT('int4');
INT('int5');
INT('int6');
INT('int7');
INT('int8');
INT('int9');
INT('int10');
};

local hWnd = Application.GetWndHandle();
Subclass.Create(hWnd, function(hWnd, uMsg, wParam, lParam)
if(uMsg == WM_GETMINMAXINFO)then
local tMaxInfo = MemoryEx.AssignStruct(lParam, MaxInfo);
tMaxInfo.int7 = nMinWidth;
tMaxInfo.int8 = nMinHeight;
tMaxInfo.int9 = nMaxWidth;
tMaxInfo.int10 = nMaxWidth;
tMaxInfo:Close();
return 0;
end
return Subclass.OldWinProc(hWnd, uMsg, wParam, lParam);
end);

WinApi.SetWindowLong(Application.GetWndHandle(), -16, 0x00040000, true);
Автор: PAVELNEXT
Дата сообщения: 14.05.2013 20:52

Цитата:
local nMinWidth = 425;
local nMinHeight = 625

Именно эти два значения были нужны максимальное - пусть хоть на километр растягивается попробую самостоятельно убрать "лишнее" из кода, если не получится - посоветуюсь. Огромное спасибо !!!
Автор: Zloy_Gelud
Дата сообщения: 14.05.2013 21:05
PAVELNEXT -- в моем коде лишнего ничего нет.

Цитата:
максимальное - пусть хоть на километр растягивается

Можешь поменять на 9999, но не убирать.
Автор: PAVELNEXT
Дата сообщения: 14.05.2013 21:23

Цитата:
Zloy_Gelud


Цитата:
Можешь поменять на 9999, но не убирать.

Спасибо, я искал WM_GETMINMAXINFO, но искал его в WinApi, оказывается он в MemoryEx плагине находится
Автор: Zloy_Gelud
Дата сообщения: 14.05.2013 21:27
PAVELNEXT -- ну само собой. Я думаю всем здесь уже пора выучить какие действия относятся к каким плагинам, а какие - являются встроенными.
Автор: PAVELNEXT
Дата сообщения: 16.05.2013 17:49

Цитата:
Zloy_Gelud

Привет, есть 2 вопроса:

1. можно ли сменить иконку окна другим кодом? WinApi.SetWindowIcon(hWnd, "AutoPlay\\Icons\\MyIcon.ico"); --- не подходит, не знаю почему, но он не меняет иконку именно на том окне, котором мне нужно, например на блокноте все нормально.

2. Код не с того не с сего стал выдавать это:
Error: COM exception.\library\tLuaCOM.cpp,394):Generic failure

Ругается он на эту строку кода:
local colItems = objWMIService:ExecQuery("SELECT * FROM Win32_Processor", "WQL", 48);

Сам код всегда стоял в (On Preload), а теперь работает только в (On Show), но если установить в свойствах файла режим совместимости ХР 3 СП - то всё становится нормально.
Автор: Zloy_Gelud
Дата сообщения: 16.05.2013 23:22
PAVELNEXT

Цитата:
1. можно ли сменить иконку окна другим кодом?

Попробуй такой код. Необходим плагин MemoryEx.

Код: Window.SetIcon = function (hWnd, sFilePath, nInd)
local hIcon
-- загрузка иконки из ресурсов файла
if (nInd ~= nil) then
local hModule = tonumber(DLL.CallFunction("kernel32.dll", "GetModuleHandleA", '"' .. sFilePath .. '"', 0, 1));
hIcon = tonumber(DLL.CallFunction("user32.dll", "LoadImageA", hModule..", " .. nInd .. ", 1, 32, 32, 0", 0, 1));
-- загрузка файла-иконки
else
local hBuf = MemoryEx.Allocate(#sFilePath);
MemoryEx.String(hBuf, -1, MEMEX_ASCII, sFilePath);
hIcon = tonumber(DLL.CallFunction("user32.dll", "LoadImageA", "0, " .. hBuf .. ", 1, 32, 32, 16", 0, 1));
MemoryEx.Free(hBuf);
end
return tonumber(DLL.CallFunction("user32.dll", "SendMessageA", hWnd .. ",128, 1, ".. hIcon, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL));
end

Window.SetIcon(Application.GetWndHandle(), _SystemFolder.."\\shell32.dll", 25);
Application.Sleep(2000);
Window.SetIcon(Application.GetWndHandle(), _SourceFolder.."\\AutoPlay\\Icons\\cd.ico");
Автор: kot1313
Дата сообщения: 17.05.2013 01:14
Подскажите, Пожалуйста , почему может не запускаться вторая строчка скрипта, точнее запускаться со второго раза
То есть при первом нажатии отрабатывается строка 1 и усё, тишина
При повторном нажатии отрабатываются уже все три строки... Чудеса да и только
А нужно чтоб все три строчки отрабатывались при одно нажатии клавиши...

Вот сам скрипт OnClick

Код:
File.Open("Setup.exe", "", SW_SHOWNORMAL);
File.Open("C:\\Sector\\autorun.exe", SW_SHOWNORMAL);
File.Copy("Images\\*.*", "C:\\Sector\\Images\\", true, true, false, true);
Автор: Zloy_Gelud
Дата сообщения: 17.05.2013 07:42
kot1313 -- потому, что вторая строка у тебя запускается не дождавшись выполнения первой строки. Т.е. ты пытаешься запускать файлы из папки Sector, которые еще не успели туда распаковаться. Когда ты повторно нажимаешь кнопку, то файлы, соот-но, запускаются, т.к. мы их все же распаковали при первом нажатии.
Попробуй такой вариант:

Код: File.Run("Setup.exe", "", "", SW_SHOWNORMAL, true); -- ожидаем завершения распаковки архива
File.Run("C:\\Sector\\autorun.exee", "", "", SW_SHOWNORMAL, false);
File.Copy("Images\\*.*", "C:\\Sector\\Images\\", true, true, false, true);
Автор: PAVELNEXT
Дата сообщения: 17.05.2013 09:30
Zloy_Gelud

Цитата:
Попробуй такой код. Необходим плагин MemoryEx.

Увы не помогло, как я понял иконку окно берёт из файла.exe и сменить её кодами не может, можно конечно попробовать кодом сменить икону самого файла.exe, но как увы не могу понять.
Автор: Zloy_Gelud
Дата сообщения: 17.05.2013 09:40
PAVELNEXT

Цитата:
как я понял иконку окно берёт из файла.exe

Код берет иконку из ресурсов exe/dll файла или сам файл-иконку. Я это написал, а также привел код использования. Что тут непонятно?

Цитата:
сменить её кодами не может, можно конечно попробовать кодом сменить икону самого файла.exe, но как увы не могу понять.

Это что такое?

Иконку какого окна тебе необходимо сменить?
Автор: PAVELNEXT
Дата сообщения: 17.05.2013 10:14
Zloy_Gelud

Цитата:
Иконку какого окна тебе необходимо сменить?

Отправил в личку сообщение
Автор: KRAUSER0993
Дата сообщения: 19.05.2013 21:34
Всем привет. Подскажите, пожалуйста, как отправить данные из input по нажатию кнопки сразу на определенный e-mail?

Смотрел этот вопрос Отправка данных из форм по e-mail от GOOSE [?] , но это не то. Мне нужно чтобы данные сразу отправлялись на e-mail без подтверждения, запуска проги для отправки писем и т.п.
Автор: lerik2703
Дата сообщения: 20.05.2013 08:53
KRAUSER0993


Цитата:
как отправить данные из input по нажатию кнопки сразу на определенный e-mail?


воспользуйся плагином от tavria2 SmtpT

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

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


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