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

» Autoplay Media Studio

Автор: tavria2
Дата сообщения: 27.10.2006 09:26
Скрываем окно консоли средствами AMS!
Рано или поздно, может возникнуть необходимость в использовании консольных команд/приложений в своем проекте, ну например SUBST и т.п. Но как вы знаете, что использование консольных команд, всегда сопровождается "выскакиванием" черного окна консоли. Не знаю как вас, но меня это всегда очень раздражает. Посетив форум разработчика AMS, в надежде увидеть красивое решение этой проблемы - я был разачарован. Для решения этой проблемы, народ прикручивает дополнительную утилиту или запускают консоль в свернутом окне, которая все равно проскакивает в панеле задач. Использование утилиты - приводит к желаемому результату, но геморойно прикручивать.
Так вот бороздя просторы инет, я наткнулся на интересный материал по поводу скрытия консоли. В этой статье было предложено использовать ShellExecute с параметром SW_HIDE. Стоп, думаю я, но в AMS тоже есть ShellExecute... Но оказалось, что в выборе режима окна нет SW_HIDE. Не долго думая вбиваю ручками SW_HIDE - заработало!

Пример:
Код: Shell.Execute("cmd.exe", "open", "", "", SW_HIDE);
Автор: Dgikar
Дата сообщения: 27.10.2006 12:28
tavria2

Цитата:
... Испытания проводились в AMS 6.0.4.0.

А AMS 6.0.4.0 "сильно" отличается от AMS 6.0.2.0, кроме того, что описано в Release History? У меня AMS 6.0.2.0 русифицирована Kindly, если я качну с форума indigorose Update, у меня траблов не возникнет?
Автор: tavria2
Дата сообщения: 27.10.2006 12:38
Dgikar

Цитата:
А AMS 6.0.4.0 "сильно" отличается от AMS 6.0.2.0?

В основном убирают глюки...

Цитата:
У меня AMS 6.0.2.0 русифицирована Kindly, если я качну с форума indigorose Update, у меня траблов не возникнет?

Возникнет, помойму Kindly об этом предупреждал.
Автор: Dgikar
Дата сообщения: 27.10.2006 12:58
tavria2

Цитата:
Возникнет, помойму Kindly об этом предупреждал.

Блин, а как же быть? У меня манечка, я люблю все последнее
Автор: tavria2
Дата сообщения: 27.10.2006 13:11
Dgikar
См. здесь, только там не update, а full.
Автор: GOOSE
Дата сообщения: 27.10.2006 13:48
Dgikar

Цитата:
Блин, а как же быть? У меня манечка, я люблю все последнее

Кстати, кроме любви как таковой, есть еще и новые возможности и отсутствие старых глюков
Единственное "НО" - Kindly предупреждал, что отказывается продолжать русификацию дальнейших выпусков...
Мой совет всем: переходите на англоязычную версию, пока можно сравнить и пока они не отличаются... Привыкание происходит довольно быстро tavria2
tavria2

Цитата:
вбиваю ручками SW_HIDE - заработало

Сорри, не знал, что это секрет Сам пользовался этим как раз тогда, когда нужно было поработать с SUBST
Кстати, вычитал об этом как раз на офф.форуме...
Автор: tavria2
Дата сообщения: 27.10.2006 13:57
GOOSE

Цитата:
Кстати, вычитал об этом как раз на офф.форуме...

Значит не внимательный я стал
Автор: Dgikar
Дата сообщения: 27.10.2006 14:05
GOOSE

Цитата:
Мой совет всем: переходите на англоязычную версию

Я ж говорил недавна, шо у меня траблы с английским... Я немецкий учил Поэтому и спрашивал:



а Help то на английском... Вот блин, и почему у нас переводят ток интерфейс а Help нихто так ни разу и не перевел (это касается всех программ в целом)...

Добавлено:
tavria2 & GOOSE

Цитата:
Русификаторы

AutoPlay Media Studio 5.0.0.4 от Klon
AutoPlay Media Studio 5.x-6.x от Kindly и Zhmak

А насколько эти русификаторы достойные? Глюков нет?
Автор: GOOSE
Дата сообщения: 27.10.2006 15:17
Dgikar

Цитата:
Я ж говорил недавна, шо у меня траблы с английским... Я немецкий учил

Я тоже 12 лет учил немецкий... Но ничего, справляюсь худо-бедно
Как у нас в народе говорят: "Лиха беда - начало"
А по твоему вопросу:
ни разу не пользовался, но насколько я понял это означает, что выбраный пункт остается отобранным, даже если объект дерева теряет свой фокус (то бишь, когда фокус переходит на другой объект).
Автор: Dgikar
Дата сообщения: 27.10.2006 15:52
GOOSE

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

Вот я блин такой пересякой....

Что касается , то в свойствах Tree "MS Office - 2003" у меня был включен этот флажек.

tavria2

Цитата:
По поводу второго вопроса ничего сказать не могу, похоже глюк плагина.

Сорри, что заставил понапрягать мозги.

Дело в том, что Tree "MS Office - 2003" у меня уже закончена, и я ее "свернул" и кинул в самый низ и в угол страницы, и думая, что у меня с ней все ок, не трогал ее, кроме того раза, когда тебе ответил:

Цитата:
то я, так же как и ты, не смог разобраться с этой чтукой. Пробовал уже ток шо можна и нихт...

Да и то, я не смотрел свойства, а сразу пошел в код... Хотя, даж если бы я и посмотрел свойства, то все равно бы (наверное) не понял, в чем трабл, т.к. не знал значение этого флажка.

Еще раз приношу свои извинения

А что касается

Цитата:
Русификаторы

AutoPlay Media Studio 5.0.0.4 от Klon
AutoPlay Media Studio 5.x-6.x от Kindly и Zhmak

А насколько эти русификаторы достойные? Глюков нет? И вообще, можете что-то сказать положительное?

Добавлено:
Опа, с 50-м постом меня
Автор: tavria2
Дата сообщения: 27.10.2006 19:16
Dgikar

Цитата:
А насколько эти русификаторы достойные? Глюков нет? И вообще, можете что-то сказать положительное?

Для AMS 6.0.3.0 - русик достойный и глюков не замечал, в какой-то из предыдущих версий были баги - пропадали плагины, я тогда вернулся на англоязычную версию. Возможно потом поправили эти баги - не знаю. Надеюсь ты в курсе, что Kindly (автор русификаторов) - больше не будет делать русиков для AMS. Мой совет - переходи сразу на англоязычную версию, потом будет легче новые билды осваивать. На счет "я не знаю английского" - можно поставить переводчик. Если будешь часто работать с AMS, то очень быстро привыкнешь к англоязычной версии и в дальнейшем можно обойтись без помощи переводчика. Подумай, как тебе будет обидно, когда все будут наслаждаться новшевствами AMS 7.0, а ты будешь сидеть на русифицированной AMS 6.0.3.0.
Автор: Toxaaa
Дата сообщения: 27.10.2006 22:34
tavria2
Пару дней небыло времени чтобы заниматься AMS но уже есть. В алгоритме который описаный выше по откытии фотографии с помощью скролинга я смог сделать только создание Paragraph и помещение его под рисунок и у меня возникли вопросы:
Цитата:
Объяви глобальную переменную типа nPosScroll=0, в которой будешь хранить позицию прокрутки.

Это нужно обьявлять во вкладке On Show ???
в кладке On Timer я пишу:
poz=Paragraph.GetScrollPos("Paragraph1", true)
if poz>nPosScroll then
b=nPosScroll+1
ThumbList.SelectItem("img_list", 1);
if poz<nPosScroll then
m=nPosScroll-1
ThumbList.SelectItem("img_list", 1);
nPosScroll=Paragraph.GetScrollPos("Paragraph1", true)
end
end
Вообщим я пробую реализовать алгоритм в коде но у меня не получается. Пожалуйста подскажите что я делаю неправильно.
Автор: Dgikar
Дата сообщения: 28.10.2006 00:56
tavria2

Цитата:
Подумай, как тебе будет обидно, когда все будут наслаждаться новшевствами AMS 7.0...

А когда планируется выход AMS 7.0 кто-нить знает?
Автор: tavria2
Дата сообщения: 28.10.2006 11:59
Toxaaa

Цитата:
Это нужно обьявлять во вкладке On Show ???

Можно и в On Show, но вообще глобальные переменные лучше объявлять в "Глобальных функциях". Теперь, что касается твоего кода... Чесно говоря, создается впечетление, что ты даже не размышлял над алгоритмом. Смотри, что у тебя получается... Ты объявил переменную nPosScroll, для запоминания позиции прокрутки Paragraph, затем в таймере отслеживаешь позицию прокрутки nPosScroll, проверяешь была-ли прокрутка, а дальше ты сохранил измененное состояние глобальной переменной nPosScroll, в переменную b/m, которая в твоем коде вообще не используется, после всего этого ты выделяешь только первую картинку в ThumbList... Как ты думаешь это может работать?

Посмотри пример:
ImageViewer1_2.apz (742 кб).
Автор: Toxaaa
Дата сообщения: 28.10.2006 13:58
tavria2

Спасибо за программу.

Цитата:
Чесно говоря, создается впечетление, что ты даже не размышлял над алгоритмом.

Посмотрел я на свой код да действительно у меня тоже такое впечитление сложилось просто когда я делал код вместо ThumbList.SelectItem("img_list", 1); у меня были строки Dialog.Message("Number of Items",m);
Dialog.Message("Number of Items",b); ну чтобы понять работает или нет,(не работало) а ThumbList.SelectItem("img_list", 1); я потом поспешно прилепил както невнимательно...

Цитата:
Хочу сразу предупредить, что на больших картинках притормаживает, т.к. загрузка картинки идет в реальном времени.

Четно говоря думал тормозить сильнее будет...
Автор: Dgikar
Дата сообщения: 28.10.2006 18:05
tavria2

Цитата:
Посмотри пример:

Парни, хотел бы попросить вас (если возможно) размещать файлы (примеры) де угодно, но только не на Рапиде - уж больно много "траблов" с ней...

Если возможно, то размещайте файлы например здесь, или здесь

Не примите это за диктовку своих правил...
Автор: GOOSE
Дата сообщения: 28.10.2006 18:19

Цитата:
Парни, хотел бы попросить вас (если возможно) размещать файлы (примеры) де угодно, но только не на Рапиде - уж больно много "траблов" с ней.

Теоретически, я мог бы tavria2 дать доступ на свой FTP.
Если, конечно, есть такая необходимость...
Автор: Dgikar
Дата сообщения: 28.10.2006 18:35
GOOSE
ну, было бы классно, т.к. сами знаете, Рапида - это всегда проблема... Я вот уже минут 20-ть пытаюсь войти на Рапиду, глянуть пример tavria2, но нихт не получается...
Автор: tavria2
Дата сообщения: 28.10.2006 22:29
Dgikar
Перезалил на shareua:
ImageViewer1_2.apz (742 кб).
Автор: Dgikar
Дата сообщения: 28.10.2006 23:14
tavria2
Дуже дякую (Огромное спасибо по-русски)
Автор: tavria2
Дата сообщения: 01.11.2006 20:52
Привет!

В AMS есть действие Application.GetWndHandle, так вот по заявлению разработчиков, это действие должно вернуть идентификатор окна в числовом виде:

Цитата:
Returns (number) The numeric window handle for the application. If an error occurs, -1 will be returned.

Если для сравнения результата с числом, использовать оператор сравнения ~= - все вроде бы нормально, но при использовании оператора сравнения > - возникает ошибка типа "попытка сравнения строки с числом". Делаю проверку с помощью LUA:

Код: if (type(Application.GetWndHandle()) == "string") then
Dialog.Message("", "строка");
end
Автор: Toxaaa
Дата сообщения: 02.11.2006 08:20
Привет. Вот выкладываю пример программы для просмотра домашних фоток и видео (конечно >80% этого примера сделал tavria2 я только слепливал его с частей) но всёже зацените. Конечно для комфортного просмотра фотографий мало риализовано функций, нет масштабирования фотографии (я так понимаю AMS не умеет считывать положение указателя мыши? для таскания увеличеной фотки по екрану), нет слайд-шоу.
Папки с фотографиями нужно помещать в: AutoPlay\Images\original\
С помощью ACD я уменьшаю фотки до 80Х60 и помещаю в AutoPlay\Images\min\
название файлов и каталогов уменшонных фоток должно соответствовать оригиналу.
Каталоги с видео помещаю в: AutoPlay\Videos\

FVA.apz 492 Кб
Автор: tavria2
Дата сообщения: 02.11.2006 10:08
Toxaaa
Молодец! Видно, что поработал.
Можешь еще попробовать сделать следующее: в On Show страницы, установить фокус на ListBox и сделать выделение 1-го пункта, тогда при запуске сразу будет отображаться миниатюра 1-й картинки и сразу можно выбирать пункт из списка колесом мышки, без дополнительного клика на списке.

Цитата:
я так понимаю AMS не умеет считывать положение указателя мыши?

См. System.GetMousePosition.
Автор: Lexua
Дата сообщения: 02.11.2006 10:11
tavria2

Цитата:
Этот код подтвердил, что это действие возвращает строку вместо числа.
Так что это - баг AMS или я чего то не понимаю?

Ну если даже и глюк, то его можно обойти с помощью String.ToNumber
Автор: tavria2
Дата сообщения: 02.11.2006 10:37
Lexua

Цитата:
Ну если даже и глюк, то его можно обойти с помощью String.ToNumber

Как обойти я знаю, просто стало интересно, это глюк или нюанс с типами. Задал вопрос в форуме Indigorose, так тамашние гуру сначала пытались мне объяснить, что я делаю вызов действия без указания типа, т.е. необходимо объявить типизированную переменную и ей присваивать результат, но ребята это только предполагали, на деле оказалось, что и это не помагает. Так, что похоже это все-же глюк AMS.
Автор: GOOSE
Дата сообщения: 02.11.2006 10:44
tavria2

Цитата:
Этот код подтвердил, что это действие возвращает строку вместо числа.
Так что это - баг AMS или я чего то не понимаю?


Он действительно возвращает вроде как строку, содержащую числовой идентификатор...

Если сделать так:

Код:
handle = Application.GetWndHandle();

number_format = String.ToNumber(handle);

if number_format < 10000 then
Dialog.Message("", "идентификатор меньше 10000");
else
Dialog.Message("", "идентификатор больше 10000");
end

Автор: tavria2
Дата сообщения: 02.11.2006 12:01
GOOSE

Цитата:
Скорее всего, ошибка в файлах помощи...

Ну тогда ошиблись еще и в _at_Window.xml, тут они тоже преподносят как число. Да и по логике это должно быть числом.
Автор: Lexua
Дата сообщения: 02.11.2006 16:29
Так, появилась задача, вернее нужна функция HTTPCallback для отображения прогресса
закачки файлов, и общего прогресса закачки всех файлов. У меня есть такое

Код: function HTTPCallback (nBytesRead, nFileSize, nTransferRate, nSecondsLeft, sSecondsLeftFormat, sMessage)
    -- check if current message is a server status message
    if sMessage == "" then
        -- no server message is present, update status
        nPercent = Math.Round((nBytesRead/nFileSize)*100,0);
        Progress.SetCurrentPos("progress", nPercent);
        kbytesleft = Math.Round((nFileSize - nBytesRead)/1024, 1);
        Progress.SetText("progress", nPercent .. "%");
        ListBox.SetItemText("ListBox1", m, name.." - "..kbytesleft.." Kb left ");
        UpdateOverallTaskProgress(d, nPercent);
        
    end
    -- keep the download running!
    if(bCancelled)then
        return false;
    else
        return true;
    end
end

-- Update the overall task progress - called from both above callback functions
function UpdateOverallTaskProgress (nTaskNumber, nTaskPercentComplete)
    nTotalTasks = selcount;
    Progress.SetRange("Progress1", 1, 100*nTotalTasks);
    Progress.SetCurrentPos("Progress1", (nTaskNumber-1)*100 + nTaskPercentComplete);
    nProgress = Progress.GetCurrentPos("Progress1");
    Progress.SetText("Progress1", Math.Round(nProgress/nTotalTasks,0) .. "%");
end
Автор: Toxaaa
Дата сообщения: 02.11.2006 18:37
tavria2

Цитата:
См. System.GetMousePosition.

Спасибо уже есть результат. А как сделать такое: если клавиша мыши нажата и я её даржу то виполнять действие, если отпустил то действие не выполнять. Во вкладках есть On mouse buton это наверное здесь нужно код писать?
Автор: tavria2
Дата сообщения: 02.11.2006 19:39
Lexua
Информации не достаточно, ты показал только ф-ции, но в этих ф-циях есть переменные объявленные за пределами ф-ций. Что там присваивалось, как и когда - можно только догадываться. Хотелось-бы посмотреть как ты производишь пакетную закачку файлов... Желательно выложить свой проект - меньше будет вопросов.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Matrix Screensaver


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