Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 2)

Модерирует : gyra, Maz

Widok (30-01-2009 12:11): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AutoPlay Media Studio часть 2 (часть 1)


Параллельная тема в Варезнике - поиск и обсуждение дополнений и ритейл версий


Где почитать:

Для начала читаем статьи: тут раз или тут раз и два и три
Скриптовый язык LUA (англ) На русском здесь,  еще тут и  тут
Видео-уроки (анг)  
Видео-уроки на YouTube (англ)
Где поживиться:

Видео-уроки (Flash) от производителя (англ)
Тоже официальное видео (англ)
Бесплатные шаблоны (маски) для окон ваших приложений (англ)
"Подарки к Рождеству" на оффсайте (англ)
Плагин LuaCOM (англ)
Примеры для начинающих (англ)
Неплохие примеры, библиотеки (англ)
Еще примеры, один из самых активных юзеров на оффоруме (англ)
Плагины и библиотеки (не все free) (англ)
Еще плагины (англ)
Собрание уроков (иногда с русскими объяснениями)
Где найти ответы на вопросы:

Виды путей, используемых в AMS от GOOSE
Включение\отключение фоновой музыки кнопкой
Вывод HTML отчета с использованием SQLite плагина от IndigoRose
Выделение и копирование в буфер текста\части текста от GOOSE
Для тех, у кого русский проект с "кракозяблами"
Запуск WinRAR'a для распаковки архивов от Reineke
Запуск файлов из Web объекта
Запускаем экзешник по информации из реестра от Lexua
Пример бегущей строки (более красивый способ) от tavria2
Из окна в полноэкранный режим и обратно
Изменяем иконку приложения от Lexua
Изменяем курсор в приложении от GOOSE
Изменяем скроллинг ListBox-у от GOOSE
Используем таймер
Отправка данных из форм по e-mail от GOOSE
Перенос строки во всплывающей подсказке от GOOSE
Альтернативный перенос строки для текста (подходит и для *.ini) от Zloy_Gelud
Показ\скрытие объектов по действиям мыши
Полноэкранный режим для приложения
Последовательный запуск нескольких файлов
Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke
Проигрвывание MP3 из ListBox-а подряд от UMode
Простой пример бегущей строки от GOOSE
Работаем с запароленными архивами от GOOSE
Работаем с объектом дерева от GOOSE
Ряд вопросов и ответов по созданию меню для DVD от tavria2
Реализация Play-листов для Винампа от BOObastis
Таблица дисков системы от Lexua
Утилита для защиты авторанов
Шапка исправлена. Актуально на 20.08.2008 © NightW0lf

Разработчиков autorun'ов и графических дизайнеров приглашаем посетить проект шаблонов для Autoplay Media Studio:
http://ams-templates.com

 
Список выявленных проблем в AMS 7.0

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 23:07 03-09-2007 | Исправлено: Maz, 12:31 25-09-2017
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tavria2
Сорри за поздний ответ..прост некада было ответить.
Я значит строю слежующее ..Имеется база данных (XML, SQL..тут впринципе неважно), так вот, она (БД) имеет два поля (Name и Description). Данные поля 'Name' необходимо (предполагалось по крайне мере так) вывести в объект Параграф, и при наведении на абзац (строку) которого, происходило считывание данных из поля 'Description' в другой Параграф. Проблема именно стоит в считывании текста абзаца в Параграфе при наведении на него курсором.
С Листбоксом такое я уже реализовал , но мне не нравися сам факт того, что по итемам можно кликать, а с неактивным объектом работать нельзя.


alfonser
_SourceDrive укажет букву диска, с которого был запущен авторан. Будь то хард или привод.
А если приводов несколько, а авторан запущен с харда, как узнать, который тебе привод нужен?

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 01:27 17-11-2008
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zloy_Gelud

Цитата:
С Листбоксом такое я уже реализовал , но мне не нравися сам факт того, что по итемам можно кликать, а с неактивным объектом работать нельзя.

Если тебя раздражает подсветка item, то просто можешь запретить перерисовку объекта послав ему соответственное сообщение:

Код:
hWnd = ListBox.GetProperties("ListBox1").WindowHandle;
WM_SETREDRAW = 11;
bRedraw = 0; -- 0 - запретить перерисовку объекта; 1 -  разрешить перерисовку объекта
DLL.CallFunction("user32.dll", "SendMessageA", hWnd..","..WM_SETREDRAW..","..bRedraw..",0" , DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 10:14 17-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tavria2
Отлично .
Остановлюсь все-таки на Листбоксе.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 11:05 17-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zloy_Gelud

Цитата:
А если приводов несколько, а авторан запущен с харда, как узнать, который тебе привод нужен?

Понятно! Короче гемор.
Спасибо!

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 12:24 17-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
Если ты задавал этот вопрос, потому что компилировал проект как Web/Email Executable, а _SourceDrive в этом случае укажет букву диска, куда распаковался SFX-архив (т.е. папка системная папка %TEMP%), то возможно такое тебе поможет:

Код:
function GetSFXPath()  
    strPath = "";  
    strArg = _CommandLineArgs[1];  
    if strArg then  
        strPath = String.Right(strArg, String.Length(strArg) - 10);  
    end  
    if (String.Length(strPath) > 0) then  
        tblPath = String.SplitPath(strPath);  
        strPath = tblPath.Drive..String.Left(tblPath.Folder, String.Length(tblPath.Folder) - 1);  
    end  
    return strPath;  
end
 
_SourceFolder = GetSFXPath();
_SourceDrive = String.Mid(_SourceFolder, 1, 2);

Теперь, если проект скомпилировал как Web/Email Executable (и впоследствие будет записан на диск), то используй переменную _SourceDrive для получения буквы диска с приводу, откуда был запущен проект... старался понятно излагаться.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 18:40 17-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zloy_Gelud

Цитата:
Если ты задавал этот вопрос, потому что компилировал проект как Web/Email Executable

Спасибо!
Нет, я скопировал авторан с диска на хард, прибил тот который на диске и работаю с харда. Но мне надо запустить установку файлов , которые находятся на диске( болванке) и как указать к ним путь не соображу.Копировать их на хард не реально (большой объем).
Извини, что нагрузил.

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 22:57 17-11-2008
sp3d



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток форумчане!
Вопрос, можно подключить файл *.dll флеш плеера?
Например: Юзер запускает проект, в который вставлен флеш ролик. Но у него не установлен флеш плеер т.е. юзер неувидит ролик. Возможно ли реализовать, просмотр ролика с помощью плагина( без установки флеш плеера). У кого какие идеи?

Всего записей: 42 | Зарегистр. 19-03-2008 | Отправлено: 22:58 17-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser

Цитата:
Извини, что нагрузил.

На то и форум, чтоб задавать вопросы.


sp3d

Цитата:
 Возможно ли реализовать, просмотр ролика с помощью плагина( без установки флеш плеера).

Без установки ActiveX объекта, имхо, врядли возможно.
Но ты перед запуском проекта можешь проверять, установлен ли ActiveX или нет с помощью вкладки Applications в меню Dependencies.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 00:01 18-11-2008
Lexua



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
В шапке - Таблица дисков системы от Lexua посмотри, может поможет.

Всего записей: 2849 | Зарегистр. 15-10-2002 | Отправлено: 12:12 18-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
Может использование маркерного файла поможет.

Код:
--[[ Функция: Определяет букву cdrom-а с рабочими  
    файлами/каталогами по маркерному файлу]]

function GetSourceDrive()
    local strResult = "";                        -- переменная, содержащая букву cdrom-а
    local tblDrives = Drive.Enumerate();        -- таблица дисков системы
    local nError = Application.GetLastError();    -- проверка на ошибки
    if (nError ~= 0) then                        -- если имеются
        Dialog.Message("Error", _tblErrorMessages[nError], MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
    else                                        -- если отсутствуют
        for n, strDriveLetter in tblDrives do    -- перебираем все диски в цикле
            -- если диск - cdrom, и в корне его присутствует маркерный файл (например, autorun.exe)
            if (Drive.GetType(strDriveLetter) == DRIVE_CDROM) and (File.DoesExist(strDriveLetter.."\\autorun.exe")) then    
                strResult = strDriveLetter;        -- устанавливаем букву cdrom-а
                break;                            -- прерываем цикл
            end
        end
    end
    return strResult;
end
 
_SourceDrive = GetSourceDrive();
if (_SourceDrive ~= "") then
    Dialog.Message("Drive", "Drive letter: ".._SourceDrive, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 17:24 18-11-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zloy_Gelud
Спасибо!
Т.е., судя по скрипту, путь к cd-romу можно будет задать через _SourceDrive при наличии маркерного файла?
Сегодня не получится проверить, отпишусь завтра.
 
Добавлено:
Lexua

Цитата:
В шапке - Таблица дисков системы от Lexua посмотри, может поможет

Спасибо, смотрел.Я и пытался как-то это применить,но,честно говоря, для меня сложновато разобраться.Вот и обратился за помощью.

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 17:37 18-11-2008 | Исправлено: alfonser, 17:43 18-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser

Цитата:
Т.е., судя по скрипту, путь к cd-romу можно будет задать через _SourceDrive при наличии маркерного файла?

Да. Переменная _SourceDrive возвратит букву того cd-roma-a, в корне которого будет обнаружен маркерный файл. Маркерным файлом может быть как и сам SFX-архив, так и любой другой файл (например файл-путстышка), предварительно помещенный в корень диска (можно его сделать и скрытым).

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 17:54 18-11-2008
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
bStop = false;
function Callback(strSource, strDestination, nCopied, nTotal)
    local nPercent = Math.Round(nCopied / nTotal * 100, 0);
    Progress.SetText("Progress1", Math.Round(nPercent, 0).."%");
    Progress.SetCurrentPos("Progress1", nPercent);
    if (bStop) then
        File.Delete(strOutFile, false, false, false, nil);
        return false;
    else
        return true;
    end
end  
function SaveAs(strOutDir, strOutFileName)  
    strFileToCopy = "AutoPlay\\Videos\\data01.avi";  
    local strFiles = CommonDialogs.File(false, "Сохранить",strOutDir, "Видео файл (*.avi)|*.avi|", strOutFileName, "avi", false);  
    if (strFiles ~= "CANCEL") then  
        local tblFiles = WinApi.DelimitedStringToTable(strFiles, "|");  
        if (tblFiles) then  
            if (File.DoesExist(tblFiles[1])) then  
                local cBut = Dialog.Message("Сохранить как", tblFiles[1].."\r\nУже существует.\r\nЗаменить существующий файл?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);  
                if (cBut == 6) then  
                    strOutFile = tblFiles[1];  
                    StatusDlg.Show(MB_ICONNONE, false);  
                    File.Copy(strFileToCopy, tblFiles[1], true, true, false, true, Callback);  
                else  
                    local strOutDir = String.SplitPath(tblFiles[1]).Drive..String.SplitPath(tblFiles[1]).Folder;  
                    local strOutFileName = String.SplitPath(tblFiles[1]).Filename
                    SaveAs(strOutDir, strOutFileName);    
                end  
            else  
                strOutFile = tblFiles[1];  
                StatusDlg.Show(MB_ICONNONE, false);  
                File.Copy(strFileToCopy, tblFiles[1], true, true, false, true, Callback);  
            end  
        end  
    end  
end  
local strOutDir = Shell.GetFolder(SHF_MYDOCUMENTS);  
local strOutFileName = "Глобальный передел";
SaveAs(strOutDir, strOutFileName);

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

Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 21:21 18-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2All
 
Вроде такого еще у нас не пробегало!
 
DragDrop.dll
Версия: 1.0.0.0
Автор: sside
Описание: Данная либа предоставляет возможность перетаскивания (drag 'n drop) файлов и папок в рабочую область самого проекта. Требует Microsoft. NET Framework v2.0 или выше.
Скачать: Пример + либа (~ 47КБ)
 
 
 
 
Добавлено:
lorents
Убери строки StatusDlg.Show(MB_ICONNONE, false);

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 22:37 18-11-2008 | Исправлено: Zloy_Gelud, 23:07 18-11-2008
Crazy_Snake

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как можно реализовать такую штуку? Щелкаем на кнопку и на весь экран начинается слайдшоу показываться. Или как картинку на весь экран разварачивать при клике на нее?

Всего записей: 26 | Зарегистр. 08-11-2008 | Отправлено: 15:51 19-11-2008
Kindly



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zloy_Gelud
Цитата:
DragDrop.dll
Конкретно это не пробегало, но xDialog.dll имеет такую функцию и никаких левых рантаймов не требует.

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 17:26 19-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kindly

Цитата:
xDialog.dll имеет такую функцию и никаких левых рантаймов не требует

По мне так DragDrop.dll куда удобнее, чем xDialog.dll, т.к. не надо отображать дополнительное окно для dran 'n drop-a.

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 17:59 19-11-2008
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
случайно ни у кого нет кода кнопки которая делает все CheckBox нажатыми и наоборот?

Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 18:08 19-11-2008
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lorents

Код:
CHECKED = 1;
UNCHECKED = 2;
function Checked(cType)
    nCount = 4;
    if (cType == 1) then
        for i = 1, nCount do
            CheckBox.SetChecked("CheckBox"..i, true);
        end
    elseif (cType == 2) then
        for i = 1, nCount do
            CheckBox.SetChecked("CheckBox"..i, false);
        end
    end
end
 
if (not bChecked) then  
    Button.SetText(this, "Unchecked");
    Checked(CHECKED);  
    bChecked = true;  
else  
    Button.SetText(this, "Checked");
    Checked(UNCHECKED);  
    bChecked = false;  
end

 
Добавлено:
lorents
Или так:

Код:
function Checked()
    local nCount = 4;    -- количество чекбоксов
    local strText = Button.GetText(this);
    if (strText == "Отметить всё") then
        Button.SetText(this, "Снять всё");
        for i = 1, nCount do
            CheckBox.SetChecked("CheckBox"..i, true);
        end
    else
        Button.SetText(this, "Отметить всё");
        for i = 1, nCount do
            CheckBox.SetChecked("CheckBox"..i, false);
        end
    end
end
 
Checked();

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 18:49 19-11-2008 | Исправлено: Zloy_Gelud, 18:59 19-11-2008
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zloy_Gelud
спасибо!  
ты бы не мог мне помочь с еще одним вопросом
если не выбран ни один RadioButton то?
не могу создать это условие

Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 19:52 19-11-2008 | Исправлено: lorents, 19:55 19-11-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 2)
Widok (30-01-2009 12:11): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru