Предположим, у вас есть текстовый файл с текстом, который будет отображаться, и аннотированное время, когда он загорается (вид файла субтитров, например, стандартное предложение w3c timed text (http://www.w3.org/AudioVideo/TT/) или субтитр SUB - Movie формат файла используется несколько медиа-плеер.
Вашей программа должна сначала прочитать и разобрать текстовый файл и декодировать аннотированное время. Вставьте его в StringList под названием Субтитры, какие элементы будут также держать объекты, подобные этому одной
type tSubtitle = class
num : integer;
prevTime, fromTime : tdatetime;
toTime, nextTime: tdatetime;
text: string;
end;
Возможно, вы захотите расширить объект, чтобы удерживать подсветку attri но также.
Затем вам просто нужно отобразить те объекты, синхронизированные с таймером.
procedure TForm1.Timer1Timer(Sender: TObject);
var rt : TDateTime;
done:boolean;
si,st,sb:integer;
s:string;
begin
rt:=now-startTime;
st:=0;
sb:=subtitles.Count; // binary search the subtitle for the current time
repeat
si:=(st+sb) div 2;
s:=TSubtitle(subtitles.Objects[si-1]);
done:= ((t>=s.prevTime) and (t<=s.nextTime));
if not done then
begin
if t>s.prevTime then st:=si
else if t<s.nextTime then sb:=si;
if st=sb then done:=true;
end;
until done;
// do what you want with s
end;
... оплачивается ... или нивелируется. ;-) –
ни как ... просто хобби: P – caw
Ну, я бы не рекомендовал инвестировать время в эту тему, вы можете узнать больше, развивая интерпретатор или алгоритм шифрования и т. Д., Чем на лирическом буфере *** iet ... но это только я ... В нижней строке требуется некоторое время для создания компонента/приложения с учетом вышеупомянутых потребностей. Либо отбросьте идею, либо отправьтесь в ближайший магазин и купите много лотов и (вы получите идею) о кофе, а затем вернитесь домой и выходите из проекта после 30 минут кофе и отжиманий «256»: P – delphigeist