Показ слайд-шоу
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Показ слайд-шоу
Заказчик сошёл с ума . Просит во время бездействия программы показывать слайд-шоу из фото и видеоматериалов. Вопрос - винапишная функция mcisendstring может показывать скажем jpeg? С показом видео у меня вроде опыт есть. Хотелось бы одной функцией пользоваться. Или может есть вообще какой-нибудь красивый вариант - послать функции каталог с этими материалами, пусть сама всё делает?
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Показ слайд-шоу
хм... см папку c щтатными примерами...kreator писал(а):Заказчик сошёл с ума . Просит во время бездействия программы показывать слайд-шоу из фото и видеоматериалов. Вопрос - винапишная функция mcisendstring может показывать скажем jpeg? С показом видео у меня вроде опыт есть. Хотелось бы одной функцией пользоваться. Или может есть вообще какой-нибудь красивый вариант - послать функции каталог с этими материалами, пусть сама всё делает?
Показ слайд-шоу
А в чём проблема? Сделай на окне поле ?Image и спрячь
Есть список файлов, ходишь по нему. Если файл - видео, то спрятать ?image и показывать видео
Если файл картинка - закрыть видео, присвоить картинке ?Image{Prop:Text} = имяфайла, показать картинку
Здесь есть тонкость - как соблюсти пропорции картинки.
Для этого на экране размещается (скрытый) контрол, в который эта картинка должна быть вписана,
а после присвоения масштабировать картинку, чтобы прилично смотрелось
Вот есть такая процедура
К сожалению, у нас в презентации могут быть документы Word, Excel, PDF, Web-страницы. Тогда приходится открывать что-то подходящее, но это совсем другая история
Есть список файлов, ходишь по нему. Если файл - видео, то спрятать ?image и показывать видео
Если файл картинка - закрыть видео, присвоить картинке ?Image{Prop:Text} = имяфайла, показать картинку
Здесь есть тонкость - как соблюсти пропорции картинки.
Для этого на экране размещается (скрытый) контрол, в который эта картинка должна быть вписана,
а после присвоения масштабировать картинку, чтобы прилично смотрелось
Вот есть такая процедура
Код: Выделить всё
ImageInControl PROCEDURE (Long ImageControl,Long BaseControl,Long Border) ! Declare Procedure
!---------------------------------------------
! Разместить ImageControl внутри BaseControl,
! используя бордюр указанного размера
! Предполагается, что для ImageControl уже задан Prop:Text
!---------------------------------------------
Loc:ImageWidth LONG
Loc:ImageHeight LONG
Loc:BaseX LONG
Loc:BaseY LONG
Loc:BaseW LONG
Loc:BaseH LONG
Loc:WCoeff REAL
Loc:HCoeff REAL
Loc:NewPos LONG,DIM(4)
CODE
0{Prop:Pixels} = True
Hide(ImageControl)
ImageControl{PROP:NoHeight} = True
ImageControl{PROP:NoWidth} = True
Loc:ImageWidth = ImageControl{Prop:Width}
Loc:ImageHeight = ImageControl{Prop:Height}
If Loc:ImageHeight=0
0{Prop:Pixels} = FALSE
Return
END
GETPOSITION(BaseControl, Loc:BaseX, Loc:BaseY, Loc:BaseW, Loc:BaseH)
IF BaseControl = 0
Loc:BaseX = 0
Loc:BaseY = 0
Border = 0
ELSIF Loc:BaseW > Border * 4
Loc:BaseX += Border
Loc:BaseY -= Border
Loc:BaseW -= (Border*2)
Loc:BaseH -= (Border*2)
END
Loc:WCoeff = Loc:BaseW / Loc:ImageWidth
Loc:HCoeff = Loc:BaseH / Loc:ImageHeight
IF Loc:Wcoeff > Loc:HCoeff
Loc:Wcoeff = Loc:HCoeff
ELSIF LOC:WCoeff < Loc:HCoeff
Loc:HCoeff = Loc:WCoeff
END
! Width
Loc:NewPos[3] = Loc:ImageWidth * Loc:WCoeff
! Height
Loc:NewPos[4] = Loc:ImageHeight * Loc:HCoeff
! Xpos
Loc:NewPos[1] = Loc:BaseX + (Loc:BaseW - Loc:Newpos[3])/2
! Ypos
Loc:NewPos[2] = Loc:BaseY + (Loc:BaseH - Loc:NewPos[4])/2
SetPosition(ImageControl, Loc:NewPos[1], Loc:NewPos[2], |
Loc:NewPos[3], Loc:NewPos[4])
Unhide(ImageControl)
0{Prop:Pixels} = FALSE
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Показ слайд-шоу
Да, это не проблема, если другого варианта не найду.
Тоже не проблема. Ещё нужно соблюсти пропорции видео. Не подскажете, как вытянуть размер видео из mcisendstring?
Ещё нужно отслеживать окончание видеофайла, потому что нужно ставить проигрыш на паузу. Тоже не проблема по идее.
В общем движений много. Ради баловства.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Показ слайд-шоу
Мы просто составляем файл, где указываем, в каком порядке и сколько секунд играть видео или показывать картинку, все равно же делать. Прошло время - поехали дальше. Насчёт видео - просто договорились о стандартной пропорции и от неё не отступаем. Если элементом является картинка или текст, то при подготовке слайд-шоу указываем ещё цвет фона и размеры (просто перемещая и растягивая окно)
В результате получается что-то вроде....
Давно это делал...
В результате получается что-то вроде....
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8" ?>
<Plan>
<Param Header="" AllowComment="2" Time="6002" System="Делопроизводство для секретаря" CommentPos="RU" />
<Topic Name="Требования к оформлению документов" Time="3001" Type="SCR" Color="0" BackColor="0" Id="A2_11" />
<Topic Name="Экран" Time="3001" Type="PIC" Color="0" BackColor="0" File="_snap.bmp" play="music.mp3" />
<Topic Name="Размножение лишайников" Time="3001" Type="TXZ" X="143" Y="134" W="392" H="186" File="84050.txz" Full="1" />
</Plan>
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Показ слайд-шоу
Дело пошло. Не подскажет кто - как mciSendString'у подсунуть другой файл (с видео, сейчас это меня интересует). Сейчас полностью останавливаю одно видео, потом открываю другое. При этом - не слишком приятная пауза.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Показ слайд-шоу
Это уж пусть заказчик делает.
Есть у mciSendString команда load (судя по описанию - то, что надо). Но что-то не идёт. На вот это:
Код: Выделить всё
LOC:mciCommand = 'load video "' & clip(LOC:FileName) & '" notify'
err# = mciSendString(LOC:mciCommand, LOC:mciReturn, 128, 0)
We are hard at work… for you.
Показ слайд-шоу
А зачем? Можно закрыть одно видео и открыть другое. Или открыть новое видео под другим именем (например, 'video2'), а потом через несколько секунд закрыть первое. Только опыт показывает, что при закрытии окна все видео надо закрыть.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Показ слайд-шоу
А никто не знает как показать демонстрацию PowerPoint, расширение ppsx. Программно. Может ActiveX какой есть?
We are hard at work… for you.
Показ слайд-шоу
Сконвертировать в формат Flash. Flash показать ...
https://sites.google.com/site/multimedi ... t-vo-flash
https://sites.google.com/site/multimedi ... t-vo-flash
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Показ слайд-шоу
Ха! В PowerPoint'е можно конвертнуть в wmv. Просто и легко. Но есть чудные пользователи/заказчики .Yufil писал(а): ↑05 Декабрь 2018, 11:38 Сконвертировать в формат Flash. Flash показать ...
https://sites.google.com/site/multimedi ... t-vo-flash
Слайд-шоу показывается когда нет работы в программе. Но программа в это время находиться в ожидании считывания либо штрих-кода с бумажки либо со считывателя магнитных карт. Не уверен, что в режиме скринсэйвера смогу считать нужную инфу и вывести комп из сна.
We are hard at work… for you.
Показ слайд-шоу
Была у нас давным-давно неудачная попытка - Office viewer ActiveX control называлось. Не держала правильный размер ActiveX, зависала после открытия, требовала наличия Office на клиентском компьютере - в общем, не срослось.
Поищи, мож починили ...
Поищи, мож починили ...