![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 29.10.2009
Сообщений: 4
|
![]()
Приветствую. Соорудил в акцессе базу для своей коллекции видео. Как программно из файла с видео (и возможно ли в акцессе вообще) вытащить длительность этого самого видео? В проводнике например (в строке состояния) продолжительность отображется. Компонент какой-то к акцессу подключить надо?... в какую сторону вообще рыть? Заранее спасибо
![]() Последний раз редактировалось Рысь Комнатная; 29.10.2009 в 13:26. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 23.10.2009
Сообщений: 11
|
![]()
А как вы в базу это дело впихнули ?
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 29.10.2009
Сообщений: 4
|
![]()
В базе только описание.
Для чего это работает: у меня много дисков и файлов с видео, решил привести все в порядок - открываешь базу, ищешь фильм, она тебе выдает - такой-то стеллаж, диск под нумером 15. ну и обложки печатать ![]() Как работает: открываю базу, вставляю в привод дивиди с файлами, нажимаю кнопку и в базу закидываются названия файлов и хочется еще их продолжительность. чтобы вручную не набирать Последний раз редактировалось Рысь Комнатная; 29.10.2009 в 15:02. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]()
Function GetValFileProperty(sFolder As String, sFileName As String, sNameProperty As String) As String
Dim objShellApp, objFolder, objFolderItems, objItem Dim strResult As String Dim i% Set objShellApp = CreateObject("Shell.Application") Set objFolder = objShellApp.Namespace(CStr(sFolder) ) Set objFolderItems = objFolder.Items() If (Not objFolderItems Is Nothing) Then Dim nCount nCount = objFolderItems.Count End If Set objItem = objFolder.ParseName(sFileName) strResult = "" For i = -1 To 40 If objFolder.GetDetailsOf(objFolderIte ms, i) = sNameProperty Then strResult = objFolder.GetDetailsOf(objItem, i) Exit For End If Next Debug.Print sNameProperty; " = "; strResult, vbInformation GetValFileProperty = strResult Set objItem = Nothing Set objFolderItems = Nothing Set objFolder = Nothing Set objShellApp = Nothing End Function |
![]() |
![]() |
![]() |
#5 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]()
Хорошая функция. Не знал про неё раньше...
Вот только почему-то выводит значения не всех свойств: Код:
Цитата:
Цитата:
Не подскажете, почему так? (добавлено) Впрочем, для рисунков кое-что выдаёт... Цитата:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 29.10.2009 в 20:15. |
|||
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]() Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
raxp прав, действительно у разных файлов, некоторые свойства могут быть незаполненными.
to Рысь Комнатная, но тем не менее у всех AVI файлов я смог этим способом "посмотреть" длительность: Код:
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 29.10.2009
Сообщений: 4
|
![]()
Спасибо всем огромное за помощь
![]() |
![]() |
![]() |
![]() |
#9 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]()
Получить достоверную информацию о продолжительности AVI-файлов, можно лишь, выдрав эту информацию из самого файла:
Цитата:
Осталось только найти подобный код для VB... Поищу, если найду - выложу. (самому надо - макросом из Excel определять продолжительность видеороликов) |
|
![]() |
![]() |
![]() |
#10 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]()
Оказывается, не всё так сложно...
Нашел достаточно информации здесь: http://forum.script-coding.info/viewtopic.php?id=1031 http://forum.codeby.net/index.php?showtopic=20206 Проще всего использовать компонент WindowsMediaPlayer: ![]() Вот весь код: Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
продолжительность жизни зависит от знака зодиака | Hallo | Свободное общение | 27 | 28.02.2014 15:34 |
как воспроизвести видео не из файла а из памяти? | s.Creator | Мультимедиа в Delphi | 9 | 06.01.2010 23:42 |
Как определить длительность ролика flv | Yong777 | PHP | 2 | 21.04.2009 22:02 |
Акцесс вопросы новичков | Yaga | Помощь студентам | 4 | 02.06.2008 00:16 |