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

» Autoplay Media Studio

Автор: 40rt
Дата сообщения: 21.07.2008 09:06

При щелчке по кнопке вылезает меню, состоящее из кнопок (Buttons - "btn_about_1" и "btn_about_1" ) - как сделать, чтоб при щелчке в свободной области страницы меню скрывалось?
В Page->On Mouse Button пишу:


Код:
if (e_Type == LEFT_BUTTON_DOWN) then    

    x = Button.IsVisible("btn_about_1");
    y = Button.IsVisible("btn_about_2");

    if (x == true) or (y == true) then -- если кнопки видны, то скрыть их...
     Button.SetVisible("btn_about_1", false);
     Button.SetVisible("btn_about_2", false);
    end
    
end
Автор: tavria2
Дата сообщения: 21.07.2008 11:57
40rt
Меню из кнопок - это красиво, но не практично. Такое меню не сможет перекрывать объекты "верхнего" уровня, таких как: Input, ListBox, ComboBox и т.д., также дополнительные хлопоты с подменю - оно тебе надо?
Используй стандартное меню.
Автор: 40rt
Дата сообщения: 21.07.2008 12:14

Цитата:
Меню из кнопок - это красиво, но не практично. Такое меню не сможет перекрывать объекты "верхнего" уровня, таких как: Input, ListBox, ComboBox и т.д., также дополнительные хлопоты с подменю - оно тебе надо?
Используй стандартное меню.

Не, стандартное некрасиво С неперекрываемыми объектами я разобрался, разместив все на странице так, чтоб никому никто не мешал...
ЗЫ С меню разобрался - подложил под кнопки хотспот, с краями немного выступающими за меню, и по его On Leave все прячутся.
Автор: lorents
Дата сообщения: 21.07.2008 19:38
Всем привет! не скажите есть ли в AMS параметр активность страницы проекта

имею ввиду, мне надо написать код типа

если страница активно то
...
если нет то
...

Добавлено:
и еще есть ли у кого русификатор к 7-ой версии?
Автор: Zloy_Gelud
Дата сообщения: 22.07.2008 13:31
lorents -- давай подробней, что значит страница активна/неактивна??
Автор: AleksejTokarev
Дата сообщения: 22.07.2008 23:03
Здраствуйте! Скажите пожалуйста, а как можно сделать выборку из базы данных в интернэте.

К примеру у меня есть сайт, база данных MYSQL, как сделать так чтобы софтина подключалась к базе и делала нужную мне выборку из базы?

СПАСИБО ЗА РАНИЕ!
Автор: lorents
Дата сообщения: 23.07.2008 00:41
Zloy_Gelud

имею ввиду если идет действие на проекте то про происходит одно действие, а если на пример пользователь открыл папку или запустил другую программу и т.д. то происходит другое действие
Автор: AleksejTokarev
Дата сообщения: 23.07.2008 11:17
Ребята, как получить ПОСЛЕДНЕЕ занесённое в INI фаил ValueName.

такая фича не канает:
result = INIFile.GetValueNames("AutoPlay\\DatenBank\\links.ini", "Link");

так как result получает табличное значение, а мне нужно только последнюю запись.
Автор: Zloy_Gelud
Дата сообщения: 23.07.2008 15:50
AleksejTokarev


Код: tValueNames = INIFile.GetValueNames("AutoPlay\\DatenBank\\links.ini", "Link");
local nError = Application.GetLastError();
if (nError ~= 0) then
Dialog.Message("Error", _tblErrorMessages[nError], MB_OK, MB_ICONEXCLAMATION);
else
    if (Table.Count(tValueNames) > 0) then
        Dialog.Message("Notice", tValueNames[Table.Count(tValueNames)], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
    end
end
Автор: 40rt
Дата сообщения: 23.07.2008 18:12
Что это за глюк???
При вычитании 15815-15766 результат получается 45.999999999998 !
Только у меня так? Проверьте кто-нибудь, у меня версия 7.
ЗЫ Math.Round(num, 0) помогло, но что это за фигня?
Автор: tavria2
Дата сообщения: 23.07.2008 19:02
40rt

Цитата:
При вычитании 15815-15766 результат получается 45.999999999998 !
У меня результат = 49, без всяких Math.Round.
Автор: 40rt
Дата сообщения: 23.07.2008 19:22

Цитата:
У меня результат = 49, без всяких Math.Random.


tavria2
я немножко ошибся, там считать нужно 15815-15766-3, но не важно...
Вот как у меня в проге происходит расчет:

Код:
    x = "1.5815"; -- изначально данные в виде строк
    y = "1.5766";
    z = "3";
    
    x = String.ToNumber(x);
    y = String.ToNumber(y);
    z = String.ToNumber(z);
    
    x = x*10000; -- дробь в целое переведем
    y = y*10000;
    
    test = x-y-z;

Автор: tavria2
Дата сообщения: 23.07.2008 21:00
40rt
Таки да, есть глюк
Автор: 40rt
Дата сообщения: 23.07.2008 21:21

Цитата:
Таки да, есть глюк

Ну слава богу глюк не у меня...
Причем глюк возникает в String.ToNumber, если её результаты сразу обрабатывать Math.Round(num, 0), то всё нормально...


Добавлено:
У кого с математикой всё хорошо (не как у меня) - как мне расчитать количество недель и дней из числа? Всё что я придумал:

    

Код:     function get_mm_dd_duration(duration)
        
        weeks = Math.Floor((duration/7)); -- кол-во недель
        if (duration >= 7) then
            days = Math.Floor((duration/7-weeks)*10); -- кол-во дней
        else
            days = duration;
        end

    end
Автор: Zloy_Gelud
Дата сообщения: 24.07.2008 00:32
40rt

Цитата:
как мне расчитать количество недель и дней из числа?

А число - ето что такое? Дни?
Судя по етой строчке

Цитата:
weeks = Math.Floor((duration/7)); -- кол-во недель

то да. Т.е. переменная duration - это и есть продолжительность в днях. Так зачем рассчитывать дни? Рассчитывай одни недели и все.


Добавлено:
И, 40rt, глюк возникает скорей при умножении на 10000.
Если так, то глюка нету:


Код: x = "1.5815";
y = "1.5766";
z = "3";
x = String.ToNumber(x)*10000^2/10000;
y = String.ToNumber(y)*10000^2/10000;
z = String.ToNumber(z);
test = x - y - z;
Dialog.Message("Test", test, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Автор: 40rt
Дата сообщения: 24.07.2008 06:50

Цитата:
А число - ето что такое? Дни?
Судя по етой строчке

Цитата:weeks = Math.Floor((duration/7)); -- кол-во недель


то да. Т.е. переменная duration - это и есть продолжительность в днях. Так зачем рассчитывать дни? Рассчитывай одни недели и все.


Не, имея на входе число 22, мне нужен результат вида - "продолжительность, дней - 22 (3 нед., 1 день)", то есть сколько в числе недель и в остатке дней.


Цитата:
И, 40rt, глюк возникает скорей при умножении на 10000.
Если так, то глюка нету:

Почему глюка нету, не понял... что такого в умножении на 10000?
Множитель 10000 у меня получается в зависимости от кол-ва знаков после запятой (помнишь я спрашивал, как узнать сколько знаков после запятой во введенном в Input числе?):


Код:     sNumber = Input.GetText("price_open");        
    nPointPos = String.ReverseFind(sNumber, ".", false);
    
    div = 1; -- это если в инпут целое
    
    if (nPointPos ~= -1) then
        nChars = String.Length(String.Mid(sNumber, nPointPos + 1, -1));
        if (nChars >= 4) then
            div = 10000;
        elseif (nChars == 2) then
            div = 100;
        end
    end
Автор: Zloy_Gelud
Дата сообщения: 24.07.2008 13:44
40rt

Цитата:
как мне расчитать количество недель и дней из числа?

Можно так попробывать..

Код: function DDInWeek(nDays)
    nWeeks = 0; nRemDays = 0;
    if (nDays > 7) then
        nWeeks = Math.Floor(nDays / 7);
        nRemDays = nDays - nWeeks * 7;
    end
    -- Days - всего дней, Weeks - кол-во недель, RemDays - остаток дней
    return {Days = nDays, Weeks = nWeeks, RemDays = nRemDays};
end

nNumber = 3027;
tDuration = DDInWeek(nNumber);
if (tDuration) then
    -- если есть недели
    if (tDuration.Weeks ~= 0) then
        sMes = "Дней - "..tDuration.Days.." ("..tDuration.Weeks.." нед., "..tDuration.RemDays.." дн.)";
    else
        sMes = "Дней - "..tDuration.Days;
    end
    Dialog.Message("Продолжительность", sMes, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: Zloy_Gelud
Дата сообщения: 26.07.2008 17:30
Ребят, не поможете с примерчиком кода типа "бегущей строки" , а именно чтоб, если строка длиннее необходимого размера Label'a, то строка усекается до нужного размера (это я сделал), а затем по таймеру отсекается одна буква сначала строки (строка уже, к-ая в Label'e) и добавляется соот-но одна буква в конец строки, тем самым получаетсо эффект "бегущей строки". И хотелось бы, чтоп она туда-сюда двигалась. До етого приводились примеры "бегущей строки", но немного не то.. А у меня чтот не получаетсо докумекать..
Автор: Robby
Дата сообщения: 27.07.2008 18:15
Zloy_Gelud
При использовании базы в Soft v7 (Amora Skin).apz обнаружились некоторые проблемы связанные с валидностью xml файла, например, наличие такой конструкции: <любой текст> в исходном описании программы, сделает базу невалидной а проект полностью нерабочим.

после:

Код: Paragraph.SetText("Prg_Desc", XML.GetValue("database/item:"..nItem.."/desc"));
Автор: Zloy_Gelud
Дата сообщения: 27.07.2008 18:38
Robby - все правильно . Потому что такая конструкция <Text> считается одним из элементов XML, и скорей всего из-за етого не правильно парсится БД. Как вариант, замени символы < и > на любые другие.


Добавлено:

Цитата:
после: .. стоит добавить:..

Верно). Просто счас у меня описания маленькие, поетому и без скроллинга получалось, вот и не заметил. Поправим. THX.

Добавлено:
Можно немного поправить функцию ProgramsFromRazdel(), чтобы показывало ошибку в случае неправильной конструкции XML-БД и последующий выход из проекта.


Код: function ProgramsFromRazdel(sRazdel)
    tResult = {};
    local nItems = XML.Count("database", "item");
    local nError = Application.GetLastError();
    if (nError ~= 0) then
        Dialog.Message("Error #"..nError, _tblErrorMessages[nError], MB_OK, MB_ICONEXCLAMATION);
        Application.Exit(0);

    else    
        for nItem=1, nItems do
            if (XML.GetValue("database/item:"..nItem.."/razdel") == sRazdel) then
                tResult[Table.Count(tResult)+1] = {Item=nItem, Name=XML.GetValue("database/item:"..nItem.."/name")};
            end
        end
    end
    return tResult;
end
Автор: AleksejTokarev
Дата сообщения: 28.07.2008 15:16
Zloy_Gelud

Спасибо, именно то что надо было!

У меня появилась ещё одна проблемма!

Как сделать так, чтобы данные из INI

[Text]
1=Hallo!
2=Hallo, World!
3=Dobrij Den!
4=Dobrij We4er!
5=Spakojnoj No4i!

пропускались через цикл.

Т.е. Мне нужен бесконечный цикл, каторый будет брать из INI [Text]
первую строчку и показывать её в Input, затем через 5 секунд брать вторую строчку, показывать её и так далие. По окончанию строк, цикл возврощается в первую строчку и всё занова!

Пожалуйста кто- нибудь, подкинте Идейку!

За рание спасибо!
Автор: Zloy_Gelud
Дата сообщения: 28.07.2008 19:02
AleksejTokarev -- можно так:

On Preload

Код: -- счетчик
nIndex = 1;
Page.StartTimer(5000);
Автор: AleksejTokarev
Дата сообщения: 28.07.2008 19:31
Zloy_Gelud

Спасибо, всё попёрло!
Автор: AleksejTokarev
Дата сообщения: 29.07.2008 09:02
А кто знает ответ на такой вопрос?

У меня на сайте есть счётчик посещений, я с помощью AMS сделал мини браузер с двумя объектами (Web и Button) на кнопки в он клик стоит Web.LoadURL("Brower", "http://aundatokarev.au.funpic.de");

Уважаемые знатоки, а теперь внемане вопрос!

Почему при первом посещении сайта через мой браузер счётчик срабатывает, а при всех последующих нет. Мне приходится выключать мой браузер, включать понова и опять только сробатывает один раз! А мне надо чтобы счётчик считал каждое моё посещение!
Автор: UMode
Дата сообщения: 31.07.2008 12:20
AleksejTokarev
Вообще этот вопрос к Web-программистам, но рискну ответить.

Цитата:
Почему при первом посещении сайта через мой браузер счётчик срабатывает, а при всех последующих нет.

Счётчик показывает число уникальных посетителей основываясь на анализе IP-адреса.
Если IP статический (при типе соединения ADSL или Выделенная линия), и не используется прокси-сервер, а так же программы для изменения или подмены адреса, то уникальным поситителем можно стать один раз в сутки или вообще один раз (это зависит от типа счётчика).
Если тип соединения Dial-Up (т.е. обычный модем), то при каждом соединении Вам выдаётся новый IP, который действует до разрыва соединения. При возобновлении соединения у Вас будет совешенно другой IP-адрес, и если снова зайти на сайт, то счётчик посчитает Вас уникальным посетителем.
Автор: AleksejTokarev
Дата сообщения: 31.07.2008 12:32
UMode


Ясно, спасибочки!
Автор: AleksejTokarev
Дата сообщения: 31.07.2008 19:57
Привет всем!

Как можно с помощью AMS установить в Autostart ярлык, для запуска проекта с Windows
Автор: Zloy_Gelud
Дата сообщения: 31.07.2008 22:55
AleksejTokarev

Вот один из вариантов (запуск твоего проекта после старта Винды для текущего пользователя):

Код: -- sName - имя проги
-- sPath - полный путь к проге

Registry.SetValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", sName, sPath, REG_SZ);
Автор: QIPIC
Дата сообщения: 01.08.2008 23:35
Подскажите плз, как пришить процес бар, чтоб он заполнялся в зависимости от загрузки странички в элемент веб?
Автор: Zloy_Gelud
Дата сообщения: 01.08.2008 23:58
QIPIC -- думаю не получитсо, т.к. Callback функции для Web.LoadURL() не существует.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Symantec Endpoint Protection - SEP


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