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

» Autoplay Media Studio

Автор: lerik2703
Дата сообщения: 14.03.2011 13:06
не дружу я с запятыми
то что проще я согласен,но...

Добавлено:

Цитата:
Скорей всего это локальная (только твоя) проблема..

Например у меня имя окна Калькулятор Плюс
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 13:26

Цитата:
PAVELNEXT

Цитата:идёт сильная перегрузка процессора, что я не верно делаю ?


У меня такого не замечено. Скорей всего это локальная (только твоя) проблема..


Нашел почему проблема была - "Калькулятор Плюс" у меня называется, но опять же осталась проблема , в Settings.ini после закрытия не сохраняется новая позиция калькулятора
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 13:40
lerik2703

Цитата:
Например у меня имя окна Калькулятор Плюс

У вас о обоих сборка похоже стоит, поэтому и "Калькулятор Плюс".

PAVELNEXT

Цитата:
но опять же осталась проблема , в Settings.ini после закрытия не сохраняется новая позиция калькулятора

А вроде как не было разговора, чтобы после закрытия программы (в данном случае калькулятора) ее позиция и размеры сохранялись в инишнике.
Автор: lerik2703
Дата сообщения: 14.03.2011 13:45
Zloy_Gelud

Цитата:
У вас о обоих сборка похоже стоит, поэтому и "Калькулятор Плюс".

а если так поменять на имя класса?

Код: hWnd = tonumber(DLL.CallFunction("user32.dll", "FindWindowA", "\"SciCalc\",0", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL));
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 13:45

Цитата:
А вроде как не было разговора, чтобы после закрытия программы (в данном случае калькулятора) ее позиция и размеры сохранялись в инишнике.

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


Добавлено:

Цитата:
SciCalc

А откуда это имя взялось ? где его найти ?
Автор: soul1110
Дата сообщения: 14.03.2011 14:53
Подскажите плиз!!
Многостраничный проэкт на одной странице 10 кнопок нужно что бы при нажатии на 1 кнопку осуществлялся переход на страницу 2 и показывался первый параграф!при нажатии на вторую кнопку также переход на страницу 2 и показывался второй параграф!Как так сделать?Получается надо наложить параграфы друг на друга что ли???Объесните пожалуйста все в подробностях)Заранее спасибо!
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 15:37
lerik2703

Цитата:
а если так поменять на имя класса?

Да. Так будет универсальнее. Но речь не про калькулятор сейчас.
PAVELNEXT

Цитата:
А откуда это имя взялось ? где его найти ?

Это название класса окна. lerik2703 скорей всего подсмотрел в проге идущей в поставке с АвтоИт.. (это чисто мои умозаключения).

Автор: PAVELNEXT
Дата сообщения: 14.03.2011 15:52
Подскажите как сделать Глобальный таймер для проекта - чтобы независимо от страницы проекта через определённый срок выполняло действие
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 16:06
PAVELNEXT
Посмотри плагин GlobalTimer. Есть и в поверпаке от Kindly.

Добавлено:

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

По поводу этого вопроса.. как раз-таки можешь в этом глобальном таймере получать позицию и размеры твоей_программы и записывать в инишник.
Автор: lerik2703
Дата сообщения: 14.03.2011 16:31
Zloy_Gelud

Цитата:
проге идущей в поставке с АвтоИт.. (это чисто мои умозаключения).

не знаю на сколько она относиться к поставек АвтоИт,я подсмотрел в проге Poz_Handl.exe

Цитата:
Посмотри плагин GlobalTimer

а чем встоенный в AMS таймер плох?
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 16:38
lerik2703

Цитата:
не знаю на сколько она относиться к поставек АвтоИт,я подсмотрел в проге Poz_Handl.exe

Значит мои умозаключения оказались неверны. Бывает..

Цитата:
а чем встоенный в AMS таймер плох?

Ведь надо чтоб

Цитата:
независимо от страницы проекта
Автор: lerik2703
Дата сообщения: 14.03.2011 18:59
Zloy_Gelud

Цитата:
Значит мои умозаключения оказались неверны.

от-части верны

Цитата:
независимо от страницы проекта

я из 2 страничных таймеров сделал один глобальный
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 19:08
lerik2703

Цитата:
я из 2 страничных таймеров сделал один глобальный

Поясни тут.
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 19:50
С глобальным таймером разобрался, спасибо!

Меня интересует сохранение позиции и размера запускаемой программы (на примере калькулятора), примеров в глобальном таймере я не нашёл, ребята помогите доделать это пожалуйста


Кстати заметил, что после запуска программы мне приходиться ставить Application.Sleep(2000);

File.Run(_SystemFolder.."\\setup.exe", "", _SystemFolder, SW_SHOWNORMAL, false);
Application.Sleep(2000);
repeat
hWnd = tonumber(DLL.CallFunction("user32.dll", "FindWindowA", "0,\"Калькулятор\"", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL));

в другом случае код или зависает или не успевает срабатывать
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 21:17
PAVELNEXT
Плагин GlobalTimer выносит проект напрочь при попытке записать данные в инишник. Так что предлагаю пойти обходными путями, а именно такими:

Глобальные функции:

Код: local sOnTimerScript = [[
if e_ID == 1010 then
local tPos = Window.GetPos(hWnd);
local tSize = Window.GetSize(hWnd);
if tPos and tSize then
INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Position", "X", tPos.X);
INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Position", "Y", tPos.Y);
INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Size", "Width", tSize.Width);
INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Size", "Height", tSize.Height);
else
Page.StopTimer(1010);
end
end]]

local tPages = Application.GetPages();
for i = 1, #tPages do
local
sOldTimerScript = Application.GetPageScript(tPages[no][[/no]i], "On Timer");
if sOldTimerScript ~= "" then
Application.SetPageScript(tPages[no][[/no]i], "On Timer", sOldTimerScript.."\r\n"..sOnTimerScript);
else
Application.SetPageScript(tPages[no][[/no]i], "On Timer", sOnTimerScript);
end
end
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 21:32
for i = 1, #tPages do - ругается на эту строку
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 21:33
PAVELNEXT

Цитата:
Кстати заметил, что после запуска программы мне приходиться ставить Application.Sleep(2000);

Это ненужно. Конструкция repeat - until заменяет слип. Правда вешает наглухо проект пока не найдет нужное приложение.

Цитата:
в другом случае код или зависает или не успевает срабатывать

Зависает не код, а проект (на время поиска запущенной твоей_программы). Если у тебя программа запускается 2 сек., то код "вешает" проект соответственно на 2 сек.

Добавлено:
PAVELNEXT

Цитата:
for i = 1, #tPages do - ругается на эту строку

Не хочешь ли ты сказать, что все еще на 7-ой версии сабжа сидишь? оО
Замени #tPages на Table.Count(tPages). И вообще переходи на 8-ку. Специально править код под старые версии сабжа больше не буду.
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 21:40
Line=54: unexpected simbol near #'

Добавлено:

Цитата:
Не хочешь ли ты сказать, что все еще на 7-ой версии сабжа сидишь? оО


Я пытался у меня 70% проекта просто перестало работать, со временем обязательно перейду
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 21:55
PAVELNEXT

Цитата:
пытался у меня 70% проекта просто перестало работать

70% - это громко сказано. Основное отличие, которое может вызвать ошибки, при переносе куска кода, написанного в 7 версии сабжа в 8-ую - это процесс_изъятия значений из таблицы.
Вот тебе памятка для совместимости
AMS 7.x
AMS 8.x
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 22:02
Zloy_Gelud не получается что то с вашим кодом, я тут подумал, а что если просто сделать кнопку, после нажатия которой, он будет считывать позицию и размеры окна заданного приложения (в нашем случае калькулятора) и записывать в инишник ? не могли бы вы мне помочь с этим ?
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 22:30
PAVELNEXT
Не спеши. Что именно не получается?
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 22:38
в общем всё запустилось, передвинул окно программы подождал 30 сек и закрыл, инишник у меня на диске С, но никаких изменений в нём нет, поэтому после нового запуска программа осталась на старом месте
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 22:48
PAVELNEXT
Ты в указанном мною коде везде (?) пути к инишнику поменял на свои? В частности в Глобальных функциях.
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 22:50

Цитата:
Ты в указанном мною коде везде (?) пути к инишнику поменял на свои? В частности в Глобальных функциях.

конечно
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 23:02
PAVELNEXT
Ну тогда не знаю, ибо у меня все отлично работает.
Sample.apz ~74 kB.
Если обзаведешься 8-ой версией сабжа, то можешь посмотреть пример, который работает у меня.

Добавлено:
Интересно, а если вообще ты не будешь изменять данный мною код, то будет он работать как ему и положено у тебя?
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 23:21

Цитата:
Интересно, а если вообще ты не будешь изменять данный мною код, то будет он работать как ему и положено у тебя?


полностью вставил ваш код, в глобальных функциях заменил

for i = 1, #tPages do на for i = 1, Table.Count(tPages) do - итог не работает

на восьмёрке всё нормально - но нет у меня времени переводить весь проект на 8-ую.
Автор: Zloy_Gelud
Дата сообщения: 14.03.2011 23:30
PAVELNEXT -- тести. (for AMS 7.x)

Глобальные функции:

Код: local sOnTimerScript = [[
--if e_ID == 1010 then
local tPos = Window.GetPos(hWnd);
local tSize = Window.GetSize(hWnd);
if tPos and tSize then
INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Position", "X", tPos.X);
INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Position", "Y", tPos.Y);
INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Size", "Width", tSize.Width);
INIFile.SetValue(_SourceFolder.."\\Settings.ini", "Size", "Height", tSize.Height);
else
--Page.StopTimer(1010);
Page.StopTimer();
--end
end]]



local tPages = Application.GetPages();
--for i = 1, #tPages do
for i = 1, Table.Count(tPages) do
local
sOldTimerScript = Application.GetPageScript(tPages[no][[/no]i], "On Timer");
if sOldTimerScript ~= "" then
Application.SetPageScript(tPages[no][[/no]i], "On Timer", sOldTimerScript.."\r\n"..sOnTimerScript);
else
Application.SetPageScript(tPages[no][[/no]i], "On Timer", sOnTimerScript);
end
end
Автор: PAVELNEXT
Дата сообщения: 14.03.2011 23:37
Zloy_Gelud

УРА !!! ЗАРАБОТАЛО !!! СПАСИБО ВАМ ОГРОМНОЕ !!!
Автор: Lexua
Дата сообщения: 15.03.2011 00:01
soul1110 Справку почитай, не ленись... Paragraph.SetText смотри
Автор: soul1110
Дата сообщения: 15.03.2011 20:04
Lexua
У меня справка на английском ничего не понятно и мало информации!Объясни пожалуйста!!!Я делаю сборку программ мне надо именно что бы он переходил на новую страницу и там из ста параграфов показывал 1)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

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


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