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

» Autoplay Media Studio

Автор: genai05
Дата сообщения: 07.10.2011 20:15
В этот раз получилось. Похоже раньше не правильный путь указывал.

Ещё один вопрос. Можно ли сделать так, чтобы при нажатии на заблокированный объект появлялось сообщение, или придётся добавлять Hotspot
Автор: dallas page
Дата сообщения: 08.10.2011 15:46
Zloy_Gelud, огромный респект за помощь. Господа подскажите плиз как сделать так, чтобы программа искала установлен ли на компьютере Microsoft office 2010. Заранее спасибо!!!
Автор: Zloy_Gelud
Дата сообщения: 08.10.2011 17:09
dallas page

Попробуй такой код.

Код: local sDefViewer = File.GetDefaultViewer(".doc");
if sDefViewer == "" then
Dialog.Message("Внимание", "Microsoft Office не установлен.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
else
if String.SplitPath(sDefViewer).Filename ~= "word.exe" then
Dialog.Message("Внимание", "Microsoft Office не установлен.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
else
if String.CompareFileVersions(sDefViewer, "14.0.0.0") == -1 then
Dialog.Message("Внимание", "Для продолжения работы необходим Microsoft Office 2010 или выше.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
else
Dialog.Message("Успешно", "Всё путем.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
end
end
Автор: AVM185
Дата сообщения: 08.10.2011 19:11
помогите пожалуйста как в инпут сделать сохранение введённых символов в txt файл
Автор: Stalkersof
Дата сообщения: 08.10.2011 19:13
или как вариант так только немного переделать 10 нет сделал для 7


Код: local reg_data = Registry.GetValue(HKEY_LOCAL_MACHINE, "\\SOFTWARE\\Microsoft\\Office\\12.0\\Word\\InstallRoot", "Path", false);
if (reg_data == nil) then
Dialog.Message("Сообщение", "WORD 2007 не установлен.");
else
local search_results = File.Find(reg_data, "WINWORD.EXE", true, false, nil, nil);
if (search_results == nil) then
Dialog.Message("Сообщение", "WORD 2007 не установлен.");
else
local version_info = File.GetVersionInfo(reg_data.."WINWORD.EXE").FileVersion;
if (version_info == "12.0.6545.5000")then
Dialog.Message("Сообщение", "WORD 2007 установлен.\nВерсия файла "..version_info);
else
Dialog.Message("Сообщение", "WORD 2007 не установлен.");
end
end
end
Автор: dallas page
Дата сообщения: 08.10.2011 19:38

Цитата:
Zloy_Gelud, огромный респект за помощь. Господа подскажите плиз как сделать так, чтобы программа искала установлен ли на компьютере Microsoft office 2010. Заранее спасибо!!!


Извиняюсь не дописал. Цель такова: если установлен офис, то при нажатии на кнопку запускалось удаление офиса, в частности Microsoft office 2010 starter. Заранее спасибо
Автор: AVM185
Дата сообщения: 08.10.2011 20:42
Помогите пожалуйста создать тест, с 4мя вариантами ответа
Автор: Stalkersof
Дата сообщения: 08.10.2011 20:57
dallas page
Попробуй так.


Цитата:
В ветке реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
найдите GUID программы и выполните команду: msiexec /x {GUID}


вроде такой для стартера{90140011-0066-0419-0000-0000000FF1CE} сам посмотри, а то снесешь нето

File.Run("msiexec", "/x {90140011-0066-0419-0000-0000000FF1CE}", "", SW_SHOWNORMAL, true);

Автор: lerik2703
Дата сообщения: 09.10.2011 08:55
AVM185

Цитата:
Помогите пожалуйста создать тест, с 4мя вариантами ответа

встроенный пример достаточно не плохой Quiz
Автор: AVM185
Дата сообщения: 09.10.2011 09:01
Lerik2703
я понимаю, но файл quiz отказывается показывать русские символы, как мне быть
Автор: Lexua
Дата сообщения: 09.10.2011 10:17
AVM185 Во всех объектах измените скрипт шрифтов с западного на кириллический



Автор: ubian
Дата сообщения: 09.10.2011 11:45
Как использовать клавиши клавиатуры для управления программой. На пример знаю что On Key. Как узнать айди клавишь?
Автор: UModeL
Дата сообщения: 09.10.2011 11:51
ubian

Цитата:
Как узнать айди клавишь?

Читаем Справку, не стесняемся
Автор: ubian
Дата сообщения: 09.10.2011 11:55
UModeL, срасибо. туплю сегодня)


Добавлено:
Хотел бы спросить, можно ли выполнить добавить к Paraghraph часть текста дальше. Если да - код плз.
Автор: UModeL
Дата сообщения: 09.10.2011 17:08
ubian
Цитата:
Хотел бы спросить, можно ли выполнить добавить к Paraghraph часть текста дальше.

Код: Paragraph.SetText("MyText", Paragraph.GetText("MyText").."Ещё текст.");
Автор: zver506
Дата сообщения: 09.10.2011 17:12
вопрос ко всем, может у кого было, текст у меня набран в rtf документе к которому применен шрифт кот. поддерживает и латиницу и кирилицу, в ворде все отображается замечательно в любом формате, хоть doc, хоть docx, хоть тот же rtf, но когда документ подгружаю в rich text object к русским словам шрифт упорно не применяется, даже когда в edit font выставляю поддержку кирилицы, сангл все нормально
Автор: UModeL
Дата сообщения: 09.10.2011 17:16
zver506
Кодировка документа? AMS не дружит с UTF. Только ANSI.
Автор: dallas page
Дата сообщения: 10.10.2011 12:39

Цитата:
Код:
File.Copy("AutoPlay\\Scripts\\*.*", "C:\\14", true, true, false, true, nil);
File.Run("C:\\14\\MyProg.exe", "", "", SW_SHOWNORMAL, false);


Господа подскажите плиз. Имеется код (выше). Как сделать, чтобы сначала было копирование, а по его завершении запускалась программа (MyProg.exe). Сейчас же он начинает копировать и сразу запускает. Заранее спасибо.
Автор: Zloy_Gelud
Дата сообщения: 10.10.2011 12:52
dallas page

Цитата:
Сейчас же он начинает копировать и сразу запускает.

Нет. Сначала он копирует, а потом запускает. Можешь проверить..

Код: File.Copy("AutoPlay\\Scripts\\*.*", "C:\\14", true, true, false, true, nil);
local nError = Application.GetLastError();
if nError ~= 0 then
Dialog.Message("Error", "There was an error copying the files to your system. Please try again.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
else
Dialog.Message("Success", "Файл скопирован.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
File.Run("C:\\14\\MyProg.exe", "", "", SW_SHOWNORMAL, false);
end
Автор: zver506
Дата сообщения: 10.10.2011 14:53
UModeL
проверю, отпишусь
Автор: dallas page
Дата сообщения: 10.10.2011 15:35
Zloy_Gelud спасибо.
Автор: dallas page
Дата сообщения: 11.10.2011 18:28
Всем доброго дня. Народ, интересный вопрос. В папке Docs находятся, скажем, 50 файлов (*.apk). Как сделать, чтобы программа произвела поиск файлов по маске *.apk и имена найденных файлов забила бы в Listbox. Заранее спасибо.
Автор: UModeL
Дата сообщения: 11.10.2011 18:58
dallas page
Код: s_Folder = Dialog.FolderBrowse("Please select a folder:", "AutoPlay\\Docs");
if s_Folder and s_Folder ~= "CANCEL" then
    t_Files = File.Find(s_Folder, "*.apk", false, false, nil, nil);
    if t_Files then
        for n_Item, s_File in pairs(t_Files) do
            s_Filename = String.SplitPath(s_File).Filename;
            ListBox.AddItem("MyListBox", s_Filename, s_File);
        end
    end
end
Автор: dallas page
Дата сообщения: 11.10.2011 19:24
UModeL, спасибо
Автор: Stalkersof
Дата сообщения: 12.10.2011 12:55
Вопрос к знатокам.
В APMS совершенно не устраивает Dialog.FolderBrowse
А именно невозможно в нем вывести содержимое только папки
Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON) т.к
Отображается весь каталог. Все мои попытки ограничить выбор
пользователя только этой папки привели вот к такому ужасному коду.
[more=Сам код]
Код: --[[    
**********************************************************************************
Function:    g_GrupPageFolderBrowse
Purpose:    Обзор папки и заполняем поле ввода путем выбранной папки. Используем
текст в поле ввода как путь к папке в folder browse dialog.
Arguments:    (number) nIDEditField - Имя поля редактирования
            (string) strPrompt - Текст в folder browse dialog
Returns:    Ничего.
**********************************************************************************
--]]
function g_GrupPageFolderBrowse(nIDEditField, strPrompt)

-- Получение текущих свойств поля редактирования
local tbEditProps = Input.GetProperties(nIDEditField);
    if(not tbEditProps) then
        -- Поле редактирования недоступно или не существует
        return;
    end
    
-- Путь к папке Меню все программы.
--Где GroupGame - папка с игрой по умолчанию
--Изначально GroupGame будет при старте программы в Инпут
local strBaseFolder = Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON)
local strInitialFolder = ""
if not (tbEditProps.Text == GroupGame) then
strInitialFolder = strBaseFolder.."\\"..tbEditProps.Text;
else
strInitialFolder = strBaseFolder
end

-- Покажем диалог выбор папки, используя текущее содержимое поля
-- Поле, как начальный путь к папке (папка для начала просмотра)
    local strTargetFolder = Dialog.FolderBrowse(strPrompt, strInitialFolder);
    if((strTargetFolder == "") or (strTargetFolder == "CANCEL")) then
        return;
    end

-- Отсекаем путь оставляем только имя папки которое выбрали
local nBaseFolderLength = String.Length(strBaseFolder);
    local nTargetFolderLength = String.Length(strTargetFolder);
    local strFolderName = String.Right(strTargetFolder, (nTargetFolderLength - nBaseFolderLength));
    strFolderName = String.TrimLeft(strFolderName, "\\");
    -- Проверка:
    --Если путь к папке которую мы выбрали не соответствует
    --Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON)
    --Выводим в инпуте название папки по умолчанию
    local StrPathProverka = String.Left(strTargetFolder, nBaseFolderLength);
    if StrPathProverka == strBaseFolder then
     tbEditProps.Text = strFolderName;
    else
     tbEditProps.Text = GroupGame;
    end
    
    --заменим содержимое поля на путь к папке, которая была выбрана    
    Input.SetProperties(nIDEditField, tbEditProps);
    
end

-- Вызываем функцию при нажатии кнопки обзор
-- InpSelectGroup--имя текстового поля
--Открываем папку для просмотра
g_GrupPageFolderBrowse("InpSelectGroup", "Папка в Меню пуск")

--PS
-- изначально в InpSelectGroup выводим текст GroupGame
--только один раз при запуске программы
-- где GroupGame - переменная с именем папки установки
Автор: Zloy_Gelud
Дата сообщения: 12.10.2011 13:48
Stalkersof -- чуть позже расширенный пример постараюсь показать на эту тему.
Автор: Stalkersof
Дата сообщения: 12.10.2011 14:28
Zloy_Gelud
Буду ждать. А я тут уже MSDN начал заваливать вопросами по этому поводу

Автор: Zloy_Gelud
Дата сообщения: 12.10.2011 14:53
Stalkersof -- хотел тебе на WinAPI настрочить код, да вовремя вспомнил про плагин TreeList. Добаляешь его на страницу и в событие On Create копируешь следующий код:

Код: TreeList.AddColumn("Plugin1", "", 300);
TreeList.SetHeaderHeight("Plugin1", 0);
local nImageIndex = TreeList.ExtractIcon("Plugin1", "shell32.dll", 19);
local sPath = Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON);
local nRoot = TreeList.AddRow("Plugin1", String.Mid(sPath, String.ReverseFind(sPath, "\\", false) + 1, -1), nImageIndex, nil, nil);
local tFindDirs = Folder.Find(sPath, "*", false, nil);
if tFindDirs then
for i = 1, #tFindDirs do
TreeList.AddRow("Plugin1", String.Mid(tFindDirs[i], String.ReverseFind(tFindDirs[i], "\\", false) + 1, -1), nImageIndex, 1, nil);
end
end
TreeList.SetRowExpanded("Plugin1", nRoot, true);
Автор: lerik2703
Дата сообщения: 12.10.2011 15:58
Zloy_Gelud

Цитата:
в событие On Create копируешь следующий код

плохо что не отображаются под папки, если в цикл добавить следующий кодик

Код: local tFindSubFolder = Folder.Find(tFindDirs[i], "*", false, nil);
if tFindSubFolder then
for a=1, #tFindSubFolder do
TreeList.AddRow("Plugin1", String.Mid(tFindSubFolder[a], String.ReverseFind(tFindSubFolder[a], "\\", false) + 1, -1), nImageIndex, 2, nil);
end
end
Автор: Stalkersof
Дата сообщения: 12.10.2011 16:39
Zloy_Gelud&lerik2703
Спасибо.Буду пробывать такой вариант.
т.е как я понял можно создать свой диалог обзор папок.

На странице не получиться может в диалоге. Из диалога я потом смогу вернуть путь к выбраной папке в приложение?



Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

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


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