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

» Autoplay Media Studio

Автор: Vadim021X
Дата сообщения: 08.03.2011 12:13
Спасибо!

Добавлено:
Слушайте, а возможно такое, что при нажатии кнопки в RichText текст менял цвет с чёрного на белый?
Автор: Zloy_Gelud
Дата сообщения: 08.03.2011 12:38
Vadim021X

Цитата:
а возможно такое, что при нажатии кнопки в RichText текст менял цвет с чёрного на белый?


Код: RichText.SetSelection("RichText1", 1, -1);
RichText.SetSelectionFormat("RichText1", {TextColor = Math.HexColorToNumber("ffffff")}, false);
RichText.SetSelection("RichText1", -1, -1);
Автор: Vadim021X
Дата сообщения: 08.03.2011 13:03
Почему то текст жирным становится..
Автор: Madrigal5000
Дата сообщения: 08.03.2011 13:13

Цитата:
Madrigal5000

IECom.apz - пример основан на объектной модели IE.


благодарю за помощь) а не подсажешь где плагин Activex не триал можно раздобыть для 8-й версии ? :-D а то на офф.сайте триал висит который вешает надпись в проекте =((( а от 7-й версии плагины для 8-й подойдут ?
Автор: Vadim021X
Дата сообщения: 08.03.2011 13:19

Код: RichText.SetSelection("RichText1", 1, -1);
RichText.SetSelectionFormat("RichText1", {TextColor = Math.HexColorToNumber("ffffff")}, false);
RichText.SetSelection("RichText1", -1, -1);
Автор: Zloy_Gelud
Дата сообщения: 08.03.2011 13:33
Vadim021X

Цитата:
Но почему то он становится жирным. Как убрать?

Не правда. Стиль начертания не меняется. Проверено.


Madrigal5000
В Варезнике Kindly уже выкладывал "вылеченную" версию. Ты наверно пропустил вспышку.

Цитата:
а от 7-й версии плагины для 8-й подойдут ?

Нет.
Автор: Vadim021X
Дата сообщения: 08.03.2011 13:38

Цитата:
Цитата:
Но почему то он становится жирным. Как убрать?

Не правда. Стиль начертания не меняется. Проверено.


Попробую другим шрифтом.

Добавлено:
Уже не знаю что делать!
Почему текст в RichText не сохраняется в файл?

Вот код: (Что не правильно?)

Код: TextFile.WriteFromString("C:\\Program Files\\SlimMax\\System\\LF\\Data\\Z1.txt", RichText.GetText("RichText1", false), false);
Автор: Zloy_Gelud
Дата сообщения: 08.03.2011 13:51
Vadim021X
Стопудово такой папки не существует:

Цитата:
C:\\Program Files\\SlimMax\\System\\LF\\Data
Автор: Vadim021X
Дата сообщения: 08.03.2011 13:56
проверял
существует.

А с кодом всё правильно?

Добавлено:
путь точно правильный!
(только что проверил)

может что нибудь с кодом? (TextFile.WriteFromString...)
Автор: Zloy_Gelud
Дата сообщения: 08.03.2011 14:02
Vadim021X

Цитата:
А с кодом всё правильно?

Абсолютно, ибо у меня этот код работает как ему и положено.
Автор: Vadim021X
Дата сообщения: 08.03.2011 14:03
что же тогда?
Автор: Zloy_Gelud
Дата сообщения: 08.03.2011 14:08
Vadim021X
Попробуй такой код (если будет выдавать ошибку - напиши какую).

Код: TextFile.WriteFromString(_ProgramFilesFolder.."\\SlimMax\\System\\LF\\Data\\Z1.txt", RichText.GetText("RichText1", false), false);
-- Test for error
error = Application.GetLastError();
if (error ~= 0) then
Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
end
Автор: Vadim021X
Дата сообщения: 08.03.2011 14:13
Пишет:
Ошибка, не удалось сохранить текстовой файл.
Автор: Zloy_Gelud
Дата сообщения: 08.03.2011 14:20
Vadim021X
А такой код выдает сообщение?

Код: if not Folder.DoesExist(_ProgramFilesFolder.."\\SlimMax\\System\\LF\\Data") then
Dialog.Message("Error", "Oh-oh-oh", MB_OK, MB_ICONSTOP);
end
Автор: Madrigal5000
Дата сообщения: 08.03.2011 16:07

Цитата:
В Варезнике Kindly уже выкладывал "вылеченную" версию. Ты наверно пропустил вспышку.


спасибо ))

решил сделать вставку текста на сайте (а не админке как было до этого) - поменял параметр


Код: if IEObject then
    local oForm = IEObject.document.forms.item("addnews");
    if oForm then
        local nCount = oForm.elements.length;
        if nCount > 0 then
            for i = 0, nCount - 1 do
                if oForm.elements(i).name == "full_story" then
                    oForm.elements(i).value = result ;
                elseif oForm.elements(i).name == "short_story" then
                    oForm.elements(i).value = result2 ;
                end
            end
        end
    end
end
Автор: Zloy_Gelud
Дата сообщения: 08.03.2011 17:07
Madrigal5000
Хм.. по логике код правильный. Но почему-то не тот <form> цепляет. Попробую разобраться.

Добавлено:
Похоже, что IE на*рать, какой ему указывают <form> использовать.
Выкрутился так:

Код: if IEObject then
local
nForms = IEObject.document.forms.length;
if nForms > 0 then
for
k = 0, nForms - 1 do
if
IEObject.document.forms(k).name == "entryform" then
local
oForm = IEObject.document.forms(k);
local nCount = oForm.elements.length;
if nCount > 0 then
for
i = 0, nCount - 1 do
if
oForm.elements(i).name == "full_story" then
oForm.elements(i).value = "Полное описание";
elseif oForm.elements(i).name == "short_story" then
oForm.elements(i).value = "Краткое описание";
end
end
end
end
end
end
end
Автор: Madrigal5000
Дата сообщения: 08.03.2011 17:33

Цитата:
Madrigal5000
Хм.. по логике код правильный. Но почему-то не тот <form> цепляет. Попробую разобраться.

Добавлено:
Похоже, что IE на*рать, какой ему указывают <form> использовать.
Выкрутился так:


большое спасибо за помощь =))))))
Автор: Vadim021X
Дата сообщения: 09.03.2011 12:41
Я понял в чём проблема!
файл находился в Program Filesб а значит был только для чтения вот и не сохранялся!
А как убрать (атрибут) чтение?
Автор: lerik2703
Дата сообщения: 09.03.2011 13:03
Vadim021X
File.SetAttributes("MyFile.txt", {ReadOnly = false})
Автор: Vadim021X
Дата сообщения: 09.03.2011 13:19
спасибо.
выручил.
Автор: Madrigal5000
Дата сообщения: 09.03.2011 17:53
не подскажете как сделать так чтобы AMC читал однотипные параметры из ini файла но с разными секциями и добавлял их в комбобокс при старте

т.е. нужно чтобы после того как я отредактировал ini-файл и добавил новую секцию с 2 параметрами (которые одинаковые в разных секциях), AMC прочитал (при следующем старте) бы эти 2 параметра (первый задаёт Item text в комбобоксе) а второй идёт в событие Select комбобокса

будет примерно следующее

редактируя ini файл заношу к уже имеющимся параметрам

[site1]
name=1234
stream=http://

новые

[site2]
name=12345678
stream=http://

и т.д. )

в итоге в кмобобокс должен добавляться новый пункт из параметра name а в Select идти то что в параметре site
Автор: Zloy_Gelud
Дата сообщения: 09.03.2011 18:29
Madrigal5000

Цитата:
а в Select

Это куда?
Автор: Madrigal5000
Дата сообщения: 09.03.2011 18:48

Цитата:
Это куда?


В объекте ComboBox1 в On Select

UPD в позапрошлом сообщении опечатался - не Site а с Stream )
Автор: Lexua
Дата сообщения: 10.03.2011 00:07

Цитата:
Это куда?
Полагаю в Item Data.

где-то так
Код: tblSection = INIFile.GetSectionNames(_WindowsFolder.."\\My Settings.ini");
for index, section in pairs(tblSection) do
    local name = INIFile.GetValue(_WindowsFolder.."\\My Settings.ini", section, "name");
    local stream = INIFile.GetValue(_WindowsFolder.."\\My Settings.ini", section, "stream");
    ComboBox.AddItem("ComboBox1", name, stream);
end
Автор: PAVELNEXT
Дата сообщения: 10.03.2011 10:26
Подскажите, как при повторном запуске развернуть ранее запущенное, свёрнутое в трее приложение
Автор: Vadim021X
Дата сообщения: 10.03.2011 12:35
А у вас AutoPlay Media Studio 8 ?
Автор: lerik2703
Дата сообщения: 10.03.2011 13:03
PAVELNEXT

Цитата:
Подскажите, как при повторном запуске развернуть ранее запущенное, свёрнутое в трее приложение

хороший пример от tavria2 FileRunOnce1.4.apz for AMS 8.x правда с файлообмннников удален уже
Автор: lorents
Дата сообщения: 10.03.2011 13:19
FileRunOnce1.4.apz, правда на счет поддержки System tray не знаю
Автор: PAVELNEXT
Дата сообщения: 10.03.2011 16:19
вот код, но почему то он не срабатывает если проект свёрнут в системной трее, помогите поправить

function GetFileName()

    local Res = "";                                                                        -- возвращаемый результат

    nArgCount = Table.Count(_CommandLineArgs);                                            -- кол-во параметров
    if nArgCount ~= 0 then                                                                -- если есть параметры
        if String.Find(_CommandLineArgs[nArgCount], "SFXSOURCE:", 1, false) ~= -1 then    -- если SFX-архив
            Res = String.Replace(_CommandLineArgs[nArgCount], "SFXSOURCE:", "", false);    -- путь и имя SFX-файла
        else                                                                            -- если не SFX-архив
            Res = _SourceFolder.."\\".._SourceFilename;                                    -- путь и имя файла
        end
    else                                                                                -- если нет параметров
        Res = _SourceFolder.."\\".._SourceFilename;                                        -- путь и имя файла
    end

    return Res                                                                            -- возвращаем результат
end

------------------------------------------------------------------------------------------------------------------------------------
-- Восстанавливает окно ранее запущенного проекта
------------------------------------------------------------------------------------------------------------------------------------
function WindowRestore()

    local hWnd = Application.GetWndHandle();                                    -- дескриптор текущего окна приложения
    local WM_MOUSEWHEEL = 522;
    local ICON_ID = 1073807360;
    local ICON_CLICK = 1024;
    
    -- скрываем окно повторно запущенного проекта (обрезаем окно до нулевого размера, для предотвращения мелькания)
    hReg = DLL.CallFunction("gdi32.dll", "CreateRectRgn", "0,0,0,0", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);        
    DLL.CallFunction("user32.dll", "SetWindowRgn", hWnd..","..hReg..",1", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);    
    Window.Close(hWnd, CLOSEWND_SENDMESSAGE);                                    -- закрываем повторно запущенное приложение

    -- проверка видимости окна (если свернуто в системный трей)
    local IsVisible = tonumber(DLL.CallFunction("user32.dll", "IsWindowVisible", hWndReg, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL));
    if IsVisible == 0 then                                                        -- если окно свернуто в трей
        -- устанавливаем родительское окно "Рабочий стол", для окна ранее запущенного проекта
        DLL.CallFunction("user32.dll", "SetParent", hWndReg..",0", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
        -- восстанавливает свернутое окно программы и активизирует его
        DLL.CallFunction("user32.dll", "OpenIcon", hWndReg, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);    
    end
    local isMinimize = tonumber(DLL.CallFunction("user32.dll", "IsIconic", hWndReg, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL));
    if isMinimize ~= 0 then                                                        -- если окно свернуто на панели задач
        -- активизируем и отображаем окно ранее запущенного проекта - размеры окна по умолчанию
        DLL.CallFunction("user32.dll", "ShowWindow", hWndReg..",9", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);    
    end
    -- помещаем окно на передний план
    DLL.CallFunction("user32.dll", "SetForegroundWindow", hWndReg, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
end

------------------------------------------------------------------------------------------------------------------------------------
bFirstStart = true;                                                                -- флаг первого запуска проекта
sFileName = GetFileName();                                                        -- получаем путь и имя файла проекта

ID = File.GetAttributes(sFileName).WriteDateISO;                                -- создаем идентификатор приложения
hWndReg = Application.LoadValue("FileRunOnce", ID);                                -- пытаемся получить из реестра - дескриптор окна приложения

if hWndReg == "" then                                                            -- если в реестре нет дескриптора окна запущенного проекта
    -- первый запуск проекта
    Application.SaveValue("FileRunOnce", ID, Application.GetWndHandle());        -- сохраняем в реестре - дескриптор текущего окна проекта
else                                                                            -- если в реестре есть дескриптор окна запущенного проекта
    -- возможно повторный запуск проекта
    -- проверка существования окна с дескриптором из реестра
    local IsWindow = DLL.CallFunction("user32.dll", "IsWindow", hWndReg, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);    

    if IsWindow == "0" then                                                        -- окно приложения не существует - ложные данные в реестре
        -- первый запуск проекта
        Application.SaveValue("FileRunOnce", ID, Application.GetWndHandle());    -- сохраняем в реестре - дескриптор текущего окна проекта
    else                                                                        -- окно приложения существует
        -- повторный запуск проекта
        bFirstStart = false;                                                    -- флаг первого запуска проекта    
        WindowRestore();                                                        -- восстанавливаем окно запущенного проекта
    end
end



Цитата:
А у вас AutoPlay Media Studio 8 ?
AutoPlay Media Studio 7

Автор: PAVELNEXT
Дата сообщения: 11.03.2011 09:40
По сути мне нужен код, который будет разворачивать уже запущенное приложение свёрнутое в системной трее, всё остальное у меня у же есть, подскажите код пожалуйста

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

Предыдущая тема: Media Player Classic - Home Cinema (MPC-HC)


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