Отправляет email-рассылки с помощью сервиса Sendsay

Web-Мастеринг - с нуля до профи

  Все выпуски  

нет.


Информационный Канал Subscribe.Ru


Познавательное программирование



Выпуск 6


Здравствуйте, Уважаемые подписчики!

Мастерство программиста заключается не в том, сколько он знает,
а в том, насколько быстро он может осваивать новые для себя методы и технологии.
- Ведущий рассылки.


Наши друзья: (очень рекомендую подписаться на эти рассылки!)

comp.soft.prog.programmtutors - Рассылка "Уроки по программированию (от Ассемблера до Делфи)". Вы хотите начать программировать, но не знаете как. Тогда эта рассылка для вас! В ней публикуются уроки для изучения языков таких как Ассемблер, С, Паскаль, Delphi, Java, Basic.

rest.interesting.znakomstvonew - Рассылка "Как познакомиться?" - обсуждаются различные проблемы взаимоотношений, имеется клуб знакомств и дискуссии с психологом.


На этот раз выпуск полностью представляет господин CJ.
Пользуясь, как говорится, случаем хотел бы выразить ему свою признательность: пока я работаю над третьей Охотой, он не даёт рассылке "уснуть".

В этом выпуске две его небольших статьи:
1. Что такое ActiveX.
2. Дополнение программы Flash-Player.

Кстати, это первый выпуск, в котором нет ничего моего, кроме традиционной редакции и оформления.



Привет всем!

1. Что такое ActiveX.

Рассмотрим подробно как создается компонент TShockwaveFlash в Delphi.
Сначала мы выбираем какой компонент нам нужно добавить в программу.
Этот компонент лежит на вашем винчестере в виде особой динамической библиотеки - OCX.

Мы добавляем компонент. Delphi находит на диске файл, читает его и автоматически создает соответствующий класс (TShockwaveFlash).
После чего созданный класс необходимо сохранить на винт и скомпилировать.
После компиляции класс добавляется на закладку ActiveX (но можно выбрать и другую).
Вызывая какую-либо функцию мы извлекаем ее не из самого класса (ее там нет и она не описана), а динамически загружаем из ActiveX-библиотеки (OCX).
Таким образом (подводя итог) можно представить ситуацию так (если очень уж просто и не глубоко копать): компонент, созданный из ActiveX-контрола это что-то типа "морды" для библиотеки, т.е. простого и удобного в обращении интерфейса, используя который можно писать свою программу.
Если бы в Дельфи не было такой возможности (импорта ActiveX-компонентов), то нам бы пришлось писать класс самому либо обращаться к библиотеке напрямую, просто через имеющиеся в ней функции, что вылилось бы в такую проблему, что некоторые бы никогда не захотели больше программировать. :)


2. Дополнение программы Flash-Player.

Через некоторое время после моей первой статьи я подумал и решил, что в программе Flash-Player, надо внести несколько изменений:
1) ScrollBar заменить на TrackBar, т.к. он больше подходит для подобных целей.
2) В текст заголовка окна добавить имя проигрываемого файла.
3) Дополнение связанное с использованием TrackBar'а, вместе с проигрыванием файла будет перемещаться бегунок.

Теперь изменения и дополнения в код Flash-Player.

Заменяем ScrollBar на TrackBar, изменяем в коде все Scroll на выбранное имя

TrackBar'a, например Track.

Туда где

var
Form1: TForm1;


Добавляем переменную типа boolean:

TimerEvent: boolean=false;


Пишем такой код в TrackBar:

procedure TForm1.TrackChange(Sender: TObject);
begin
if TimerEvent then exit; //Если сообщение от таймера, то не будем ничего делать
if Flash.IsPlaying then Flash.Stop; //Если ролик проигрывается, то останавливаем его
{ Открываем кадр, номер которого соответствует позиции ползунка }
flash.GotoFrame(track.position); //Переход на фрейм
flash.Play;
end;


Далее добавляем на форму компонент Timer, изменяем его имя на Timer. Ставим Interval в оптимальное значение 1. Далее код:

procedure TForm1.TimerTimer(Sender: TObject);
begin
TimerEvent:=true; //Сообщаем полосе, что это событие будет вызвано таймером
track.Position:=flash1.CurrentFrame;
TimerEvent:=false; //Остальные события вызывает пользователь
end;


Это все даст программе более "товарный вид", при том бегунок на полосе прокрутки будет перемещатся одновременно с проигрыванием ролика.
Если будут вопросы, пишите на мыло.

Каратецкий Кирилл aka CJ
karatetski@tut.by
http://www.karatetski.narod.ru
ICQ: 221468417


< Статью редактировал автор рассылки >

Уважаемые подписчики! Возможно кому-то из ваших знакомых приводимые здесь материалы будут интересны!
Отправить приглашение подписаться.

Все вопросы и пожелания ко мне, т.е. ведущему рассылки, прошу слать на e-mail: urisff@inbox.ru
Перепубликация допускается только с моего разрешения.
В случае, если вы будете использовать приведённые в этой рассылке коды, не забудьте сделать ссылку на мой сайт.

Удачи вам и лучшего настроения!


Ведущий рассылки:
Набатников Иван (urisff@inbox.ru)
http://newff.narod.ru/


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное