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

Рис. 55. Проект «Титры»
Реализация. Текст должен быть сохранен в файле с расширением bmp. В данном примере это файл baner.bmp. На форму положите таймер.
const
HB = 58; // Высота области вывода картинки на форме
HR = 274; // Высота плаката
{ В простейшем случае плакат в файле должен быть продублирован по вертикали два раза. Высота прокручиваемой картинки (битового образа в файле) должна быть больше или равна HB+HR. }
var
pic : TBitMap; // Прокручиваемая картинка
sRect, dRect : TRect; // Область − источник
t : integer;
procedure TForm1.FormCreate(Sender: TObject);
begin
pic := TBitMap.Create;
pic.LoadFromFile('baner.bmp'); // Загрузить картинку
dRect := Bounds(10, 10, pic.Width, HB); { Положение и размер области, в которой прокручивается картинка }
sRect := Rect(0,0,pic.Width,HB); // Отображаемая область
t:=0;
end;
// Сигнал от таймера
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Canvas.CopyRect(dRect,pic.Canvas,sRect); { Отобразить часть картинки }
inc(t);
if t = HR then // Длина ролика
t:=0;
sRect := Bounds(0,t,pic.Width,HB); // Следующий кадр
end;