Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 573

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Помогите пожалуйста я делаю видео-плеер я не могу сделать убтитры у меня есть файл формата .srt (содержимое файла 1
00:00:24,062 --> 00:00:26,502
Нет! Не подходи!

2
00:00:26,503 --> 00:00:29,503
Смерть — разве не этого ты хочешь?

3
00:00:29,552 --> 00:00:32,052
Нет! Я не хочу умирать!

4
00:00:37,912 --> 00:00:39,552
Вы ведь один из моих помощников?

5
00:00:39,752 --> 00:00:41,552
Я умру вместе с тобой!

6
00:00:43,912 --> 00:00:45,300
Давай отправимся на Небеса, ).
Я передаю все это в Memo а затем я не знаю как выводить информацию с определенным промежутком и в определенное время? Также я не знаю как убрать лишнюю информацию (3 00:00:29,552 --> 00:00:32,052) Мне известно сколько времени прошло и сколько всего времени. Я делаю с помощью MediaPlayer.
В настоящее время я сделал простой вывод каждой строки.

Приложение:
  1. procedure TForm2.Timer1Timer(Sender: TObject);
  2. begin
  3.  
  4. if Memo1.Lines.Count<>0 then
  5. begin
  6. if Memo1.Lines.Count>=i then
  7. begin
  8. i:=i+1;
  9. form1.Label2.Visible:=true;
  10. form1.Label2.Caption:=form2.memo1.Lines.Strings[i];
  11. form1.Label2.Visible:=false
  12. end
  13. else
  14. i:=0;
  15. end;
  16. ;
  17.  
  18.  
  19. end;


Onix_RED Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Onix_RED (статус: Посетитель)
Вопрос отправлен: 28 марта 2009, 11:28
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 15; последнее сообщение — 31 марта 2009, 04:30; участников в обсуждении: 6.
Onix_RED

Onix_RED (статус: Посетитель), 28 марта 2009, 12:58 [#1]:

Главное мне нужно узнать условие чтобы отсеять все лишние (я не знаю как убрать лишнюю информацию (3 00:00:29,552 --> 00:00:32,052) )
Onix_RED

Onix_RED (статус: Посетитель), 28 марта 2009, 12:59 [#2]:

а стольное я думаю сам сделаю
Onix_RED

Onix_RED (статус: Посетитель), 28 марта 2009, 13:02 [#3]:

и 2 переменные чтобы в одной время начала а в другой время окончания
Onix_RED

Onix_RED (статус: Посетитель), 28 марта 2009, 13:20 [#4]:

оо придумал условие if noms=(form2.memo1.Lines.Strings[i]) then
begin
noms:=(IntToStr(StrToInt(noms)+1);
timeN:=form2.memo1.Lines.Strings[i][1]+form2.memo1.Lines.Strings[i][2] +form2.memo1.Lines.Strings[i][3]+form2.memo1.Lines.Strings[i][4]+ form2.memo1.Lines.Strings[i][5]+form2.memo1.Lines.Strings[i][6]+ form2.memo1.Lines.Strings[i][7]+ form2.memo1.Lines.Strings[i][7];

timeK:=form2.memo1.Lines.Strings[i][16] +form2.memo1.Lines.Strings[i][17] +form2.memo1.Lines.Strings[i][18] +form2.memo1.Lines.Strings[i][19]+ form2.memo1.Lines.Strings[i][20] +form2.memo1.Lines.Strings[i][21]+ form2.memo1.Lines.Strings[i][22]+ form2.memo1.Lines.Strings[i][24];
text:=form2.memo1.Lines.Strings[i+1];


end;
Onix_RED

Onix_RED (статус: Посетитель), 28 марта 2009, 14:19 [#5]:

кто-нибуть знает как узнать время просмотра видео в формате hh.mm.ss
а то у меня hh.mm а секунд нету просматриваю через MediaPlayer;
min@y™

min@y™ (статус: Доктор наук), 28 марта 2009, 20:21 [#6]:

Цитата:



оо придумал условие if noms=(form2.memo1.Lines.Strings[i]) then
begin
noms:=(IntToStr(StrToInt(noms)+1);
timeN:=form2.memo1.Lines.Strings[i][1]+form2.memo1.Lines.Strings[i][2] +form2.memo1.Lines.Strings[i][3]+form2.memo1.Lines.Strings[i][4]+ form2.memo1.Lines.Strings[i][5]+form2.memo1.Lines.Strings[i][6]+ form2.memo1.Lines.Strings[i][7]+ form2.memo1.Lines.Strings[i][7];

timeK:=form2.memo1.Lines.Strings[i][16] +form2.memo1.Lines.Strings[i][17] +form2.memo1.Lines.Strings[i][18] +form2.memo1.Lines.Strings[i][19]+ form2.memo1.Lines.Strings[i][20] +form2.memo1.Lines.Strings[i][21]+ form2.memo1.Lines.Strings[i][22]+ form2.memo1.Lines.Strings[i][24];
text:=form2.memo1.Lines.Strings[i+1];
end;


Я ФШОКЕ!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 28 марта 2009, 20:39 [#7]:

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

а теперь малось по делу.
form2.memo1.Lines.Strings[i][16] можно сократить до form2.memo1.Lines[i][16]
а всю строку
form2.memo1.Lines.Strings[i][16] +form2.memo1.Lines.Strings[i][17] +form2.memo1.Lines.Strings[i][18] +form2.memo1.Lines.Strings[i][19]+ form2.memo1.Lines.Strings[i][20] +form2.memo1.Lines.Strings[i][21]+ form2.memo1.Lines.Strings[i][22]+ form2.memo1.Lines.Strings[i][24];
до copy(form2.memo1.Lines[i], 16, 9)
правда красивее?
и вообще, а кто обещал, что кол-во часов к примеру всегда будет две цифры? а если три? (да, я отдаю себе отчет, что 100 часов фильм - это очень много, но всё же). с другой стороны, никто не обещал, что они будут в нужных позициях. один пробел порушит Вашу гармонию кода:))
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 28 марта 2009, 20:47 [#8]:

Вадимка, согласись — ЭТО ЖУТЬБЛ@!!!! Я такого и не видел никогда! Свят свят свят свят свят свят свят свят...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Amidamaru

Amidamaru (статус: 4-ый класс), 28 марта 2009, 21:02 [#9]:

Если ты хочешь создать плеер, то с TMediaPlayer это нереально.
Тебе нужно учиться работать с графикой на уровне API. Почитай книжки и статьи про OpenGL. А вот когда разберешся с графикой - будешь думать о субтитрах.
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.
Ученый

Ученый (статус: 8-ой класс), 28 марта 2009, 21:34 [#10]:

Жутковатый кодик :))
Вадим К

Вадим К (статус: Академик), 28 марта 2009, 21:37 [#11]:

to min@y™
не надо так меня называть и, я бы это так не называл. Не надо ругаться хотя бы в мою сторону.
Галочка "подтверждения прочтения" - вселенское зло.
Onix_RED

Onix_RED (статус: Посетитель), 29 марта 2009, 13:32 [#12]:

Все ясно! Видео плеер это только дополнение к моей программе я думаю мне сойдёт на первое время TMediaPlayer а насчет кода я написал его крупным и не функциональным так как я уже все забыл за два года )
Косолапов Дмитрий Юрьевич

Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 29 марта 2009, 19:31 [#13]:

Может быть стоить после того, как .srt-файл загружен, преобразовать его, скажем, в массив записей, а в процессе просмотра фильма по таймеру, получая текущее время, делать поиск уже в массиве?
Amidamaru

Amidamaru (статус: 4-ый класс), 30 марта 2009, 19:40 [#14]:

и после загрузки в массив отсртировать записи по начальному времени
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.
Onix_RED

Onix_RED (статус: Посетитель), 31 марта 2009, 04:30 [#15]:

ясно спасибо

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:44
Выполнено за 0.04 сек.