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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
servint



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

Цитата:
Вызов события On Audio не может никак повлиять на активность окна, это что-то в самом коде. Выкладывай код или проект, для разбора полетов.

 
Сейчас скажу что в коде. Там чтение и запись тектовиков, чтение и запись глобальных переменных, смена лэйбла, перезагрузка страницы. Может что-то из этого убирает фокус с окон?

Всего записей: 37 | Зарегистр. 02-04-2007 | Отправлено: 21:03 13-10-2007
tavria2



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

Цитата:
Может что-то из этого убирает фокус с окон?  

Ни одна из вышеперечисленных операций у меня не вызвала потерю фокуса... Выложи проект, так будет проще найти причину.

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 21:32 13-10-2007
servint



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tavria2
 
А.. ещё в коде стоит обновление листбокса и выделение в нём некой строчки, наверно это и убирает фокус... Мне нужно сделать чтобы при открытии программы из трея перезагружалась страница, как это можно реализовать?
И как можно вернуть фокус потерявшему активность окну?

Всего записей: 37 | Зарегистр. 02-04-2007 | Отправлено: 21:38 13-10-2007 | Исправлено: servint, 21:44 13-10-2007
tavria2



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

Цитата:
А.. ещё в коде стоит обновление листбокса и выделение в нём некой строчки, наверно это и убирает фокус...

Нет не убирает и давай не будем гадать на кофейной гуще, если не хочешь светить код проекта, тогда ищи сам.

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

Global Functions
Код:
-- Ф-ция возвращает: true - окно отображено или false - окно скрыто
function IsWindowShow()
    local cResult = DLL.CallFunction(_SystemFolder.."\\user32.dll", "IsWindowVisible", Application.GetWndHandle(), DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
    if (cResult ~= "0") then
        return true
    else    
        return false
    end
end
 
-- Ф-ция возвращает handle окна имеющего фокус
function GetFocus()
    local cResult = DLL.CallFunction(_SystemFolder.."\\user32.dll", "GetFocus","", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
    return cResult
end
 
-- Ф-ция устанавливает фокус в окно с указанным handle
function SetFocus(hWnd)
    local cResult = DLL.CallFunction(_SystemFolder.."\\user32.dll", "SetFocus", hWnd, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
    return cResult
end

On Show
Код:
lFlag = IsWindowShow(); -- флаг состояния окна
Page.StartTimer(100); -- запуск таймера

On Timer
Код:
if (IsWindowShow() and not lFlag) then -- если окно отображено и флаг состояния окна не активен
    lFlag = true; -- активируем флаг
    Page.Jump(this); -- перезагрузка страницы
elseif (not IsWindowShow()) then -- если окно свернуто
    lFlag = false; -- деактивируем флаг
end

По поводу потери фокуса - используй ф-цию GetFocus() перед действем вызывающим потерю фокуса, а после этого действия восстанавливай фокус с помощью ф-ции SetFocus(), указав в качестве параметра handle окна, полученного с помощью GetFocus().

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 01:17 14-10-2007 | Исправлено: tavria2, 01:30 14-10-2007
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tavria2
По поводу прыгающего списка листбокса в моём проекте (если была сделана вертикальная прокрутка и выбран какой-то элемент в середине окна листбокса, то список прыгает вниз и выбранный элемент становится нижним).  
Это, похоже, тоже связано с передачей фокуса странице, потому что в проектах, где операций с фокусом нет, листбокс не прыгает. Можно ли как-то список зафиксировать?

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 10:22 14-10-2007
servint



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tavria2
 
Спасибо!!  
 
Есть ещё проблема:
 
Есть папка, в которой находятся 20 файлов с разными расширениями (расширения повторяются). Нужно подсчитать сколько каких расширений в папке, т.е вывести число текстовиков, жпегов и тд., и их размер (сколько весят все жпеги и т.д). Проблема в том, что файлы меняются и расширения тоже. Т.е запрограммировать расширения заранее невозможно.  
А программировать все известные расширения можно с ума сойти! Поэтому может есть какой-то другой вариант? Буду очень признателен!

Всего записей: 37 | Зарегистр. 02-04-2007 | Отправлено: 16:50 14-10-2007
tavria2



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

Цитата:
Можно ли как-то список зафиксировать?

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

servint
Код:
tExt = {}; -- таблица расширений
tCount = {}; -- таблица кол-ва
tSize = {}; -- таблица размеров
 
cPath = "C:\\MyFolder\\"; -- путь к файлам
tFiles = File.Find(cPath, "*.*", false, false, nil, nil); -- таблица файлов
 
if (tFiles) then -- если есть файлы
    local nIdx = 1; -- индекс (по умолчанию)
    for n, cFile in tFiles do -- в цикле перебираем имена файлов
    -- если расширение текущего имени файла не найдено в таблице расширений tExt
        if (String.Find(Table.Concat(tExt, ",", 1, TABLE_ALL), String.SplitPath(cFile).Extension, 1, false) == -1) then
            tExt[nIdx] = String.SplitPath(cFile).Extension; -- добавляем расширение в таблицу расширений tExt
            nIdx = nIdx + 1; -- наращиваем индекс
        end
    end
end
 
if (Table.Count(tExt) ~= 0) then -- если таблица расширений не пустая
    for n, cExt in tExt do -- в цикле перебираем расширения файлов
        local nSize = 0; -- размер (по умолчанию)
        local tMaskFiles = File.Find(cPath, "*"..cExt, false, false, nil, nil); -- таблица имен файлов соответствующих маске
        tCount[n] = Table.Count(tMaskFiles); -- добавляем кол-во файлов соответствующих маске в таблицу кол-ства
        if (Table.Count(tCount) ~= 0) then -- таблица кол-ства не пустая
            for i, cFile in tMaskFiles do -- в цикле перебираем имена файлов соответствующих маске
                nSize = nSize + File.GetSize(cFile); -- накапливаем размер файлов соответствующих маске
            end
        end
        tSize[n] = nSize; -- добавляем накопительный размер в таблицу размеров
    end
end
 
local cInfo ="ТИП\t\tКОЛ-ВО\t\tРАЗМЕР\r\n"; -- инфо (шапка)
for n=1, Table.Count(tExt) do
    cInfo = cInfo..tExt[n].."\t\t"..tCount[n].."\t\t"..tSize[n].."\r\n"; -- формируем строку инфо
end    
Dialog.Message("Инфо", cInfo); -- вывод инфо на экран

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 00:02 15-10-2007
tavria2



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

Цитата:
если была сделана вертикальная прокрутка и выбран какой-то элемент в середине окна листбокса, то список прыгает вниз и выбранный элемент становится нижним

Это нормальное поведение для ListBox, при программном выделении элемента он делает прокрутку, чтобы этот элемент был в зоне видимости. То что он делает прокрутку даже, если выделенный элемент уже в зоне видимости - это его недостаток.

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 11:01 15-10-2007
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tavria2
Похоже, это даже не листбокс виноват, а системный то ли глюк, то ли фича... Внимательно проверил, всё же во всех проектах с листбоксом это присутствует, перескакивает в момент перехода к следующему треку. Поначалу не заметил.
И оказывается, даже в TotalCommander то же самое: зайти в большую папку (например, C:\Windows), прокрутить за середину списка, зайти в любую подпапку и вернуться - эта подпапка будет ниже, чем была.
Люблю я Майкрософт странною любовью, не победит её рассудок мой...

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 21:01 15-10-2007 | Исправлено: Drusus, 21:03 15-10-2007
Andrey_Wlodimirovich



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребз  вот у меня такая штука: хочу чтоб при наличии ключа в реестре делалось то и то, а условие не могу наисать т.е. есть у меня в реестре:

Код:
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Some\Programme\1.0]
"LE"="yes"
 
 

Хочу проверить: если есть параметр "LE" (не важно с каким значение) то ..
я делаю так:

Код:
if Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "SOFTWARE\\EA GAMES\\The Sims 2\\1.0") then

А как имено на наличие параметра сделать условие?

Всего записей: 1773 | Зарегистр. 15-11-2003 | Отправлено: 01:36 16-10-2007
GOOSE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
To All
Новая статья в блоге о новой версии. В ней будет поддержка форматированного текста в объекте Параграф!
Уже по-русски.

----------
AutoPlay Media Studio по-русски!
Русский хелп AutoPlay Media Studio

Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 09:55 16-10-2007
Kindly



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

Цитата:
поддержка форматированного текста в объекте Параграф!  

круто, разработчики, наверное, так компенсировали поддержку подсветки синтаксиса.

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 18:05 16-10-2007
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrey_Wlodimirovich
См. справку Registry.GetValueNames, там есть пример.

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 18:53 16-10-2007
GOOSE



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

----------
AutoPlay Media Studio по-русски!
Русский хелп AutoPlay Media Studio

Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 18:58 16-10-2007
Kindly



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GOOSE, ну это как это? Я tavria2 задавал этот вопрос раньше, там нужно в виде html и еще, гемора много вобщем.
 
Вообще я хотел что-то: if word == begin then color (blue) и чтобы подсветка была динамической.

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 19:15 16-10-2007
GOOSE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kindly понятно
Я думал ты про подсветку кода при программинге


----------
AutoPlay Media Studio по-русски!
Русский хелп AutoPlay Media Studio

Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 19:55 16-10-2007
firstdock

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

Код:
if (result == Button.IsEnabled("Button3")) then
Button.SetEnabled("Button4", false);
Button.SetVisible("Button4", false);
else
Button.SetEnabled("Button4", true);
Button.SetVisible("Button4", true);
end
 
 

Всего записей: 29 | Зарегистр. 09-10-2007 | Отправлено: 20:36 16-10-2007
GOOSE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firstdock
А чего ты хочешь достичь?

----------
AutoPlay Media Studio по-русски!
Русский хелп AutoPlay Media Studio

Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 09:35 17-10-2007
Lexua



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

Цитата:
result = Button.IsEnabled("Button3")
if result then  
Button.SetEnabled("Button4", false);  
Button.SetVisible("Button4", false);  
else  
Button.SetEnabled("Button4", true);  
Button.SetVisible("Button4", true);  
end

Всего записей: 2850 | Зарегистр. 15-10-2002 | Отправлено: 11:59 17-10-2007 | Исправлено: Lexua, 12:00 17-10-2007
firstdock

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

Всего записей: 29 | Зарегистр. 09-10-2007 | Отправлено: 13:41 17-10-2007
   

Страницы: 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