На этом шаге мы рассмотрим основные свойства объекта Slide.
Объект Slide представляет собой слайд презентации. Каждый объект Slide является членом коллекции Slides. Объект Slide имеет большой набор свойств, наиболее употребляемые из которых приведены ниже:
Приведем пример программы создания презентации со слайдом титульного листа. Вот процедура, реализующая данную задачу:
procedure TForm1.Button5Click(Sender: TObject); var V,V1: Variant; begin // Добавляем слайд с двумя прямоугольниками W.ActivePresentation.Slides.Add(1,1{ppLayoutTitle}); // Заполняем первый прямоугольник V:=W.ActivePresentation.Slides.Item(1).Shapes.Item('Rectangle 2') .TextFrame.TextRange; V.Characters(Start:=1,Length:=0).Text:='Презентация'; V.Font.Name := 'Times New Roman'; V.Font.Size := 44; V.Font.Bold := 0; {msoFalse} V.Font.Italic := 0; {msoFalse} V.Font.Underline := 0; {msoFalse} V.Font.Shadow := 0; {msoFalse} V.Font.Emboss := 0; {msoFalse} V.Font.BaseLineOffset := 0; V.Font.AutoRotateNumbers := 0; {msoFalse} V.Font.Color.SchemeColor := 4; {ppTitle} // Заполняем второй прямоугольник V1:=W.ActivePresentation.Slides.Item(1).Shapes.Item('Rectangle 3') .TextFrame.TextRange; V1.Characters(Start:=1,Length:=0).Text:='Бизнес-план' + Chr(13) + 'директора фирмы "Рога и копыта"'; V1.Font.Name := 'Times New Roman'; V1.Font.Size := 32; V1.Font.Bold := 0; {msoFalse} V1.Font.Italic := 0; {msoFalse} V1.Font.Underline := 0; {msoFalse} V1.Font.Shadow := 0; {msoFalse} V1.Font.Emboss := 0; {msoFalse} V1.Font.BaseLineOffset := 0; V1.Font.AutoRotateNumbers := 0; {msoFalse} V1.Font.Color.SchemeColor := 2; {ppForeground} end;
Общий вид картины созданного слайда показан на рисунке 1.
Рис.1. Презентация с одним слайдом
Добавим еще один слайд с маркированным списком. Текст такой процедуры будет иметь следующий вид:
procedure TForm1.Button6Click(Sender: TObject); //Добавить еще один слайд var V,V1: Variant; begin W.ActivePresentation.Slides.Add(2,2{ppLayoutText}); V:=W.ActivePresentation.Slides.Item(2).Shapes.Item('Rectangle 2') .TextFrame.TextRange; V.Characters(Start:=1,Length:=0).Text:='Сущность предлагаемого проекта'; V.Font.Name := 'Times New Roman'; V.Font.Size := 44; V.Font.Bold := 0; {msoFalse} V.Font.Italic := 0; {msoFalse} V.Font.Underline := 0; {msoFalse} V.Font.Shadow := 0; {msoFalse} V.Font.Emboss := 0; {msoFalse} V.Font.BaseLineOffset := 0; V.Font.AutoRotateNumbers := 0; {msoFalse} V.Font.Color.SchemeColor := 4; {ppTitle} V1:=W.ActivePresentation.Slides.Item(2).Shapes.Item('Rectangle 3') .TextFrame.TextRange; V1.Characters(Start:=1,Length:=0).Text:='Описание продукции, ее уникальность;' + Chr(13) + 'Стадия развития проекта;'+Chr(13)+ 'Сведения о патентах.'; V1.Font.Name := 'Times New Roman'; V1.Font.Size := 32; V1.Font.Bold := 0; {msoFalse} V1.Font.Italic := 0; {msoFalse} V1.Font.Underline := 0; {msoFalse} V1.Font.Shadow := 0; {msoFalse} V1.Font.Emboss := 0; {msoFalse} V1.Font.BaseLineOffset := 0; V1.Font.AutoRotateNumbers := 0; {msoFalse} V1.Font.Color.SchemeColor := 2; {ppForeground} end;
Общий вид полученной презентации представлен на рисунке 2.
Рис.2. Презентация с двумя слайдами
Вот полный текст приложения:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComObj, StdCtrls; type TForm1 = class(TForm) Button1: TButton; CheckBox1: TCheckBox; Button2: TButton; Button3: TButton; Button4: TButton; ComboBox1: TComboBox; ComboBox2: TComboBox; Label1: TLabel; Label2: TLabel; Button5: TButton; Button6: TButton; procedure Button1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure ComboBox2Change(Sender: TObject); private { Private declarations } public { Public declarations } end; const //Работа с цветом ppBackground = $00000001; ppForeground = $00000002; ppShadow = $00000003; ppTitle = $00000004; ppFill = $00000005; ppAccent1 = $00000006; ppAccent2 = $00000007; ppAccent3 = $00000008; //Виды текста ppDefaultStyle = $00000001; // стандартный текст ppTitleStyle = $00000002; // текст заголовков ppBodyStyle = $00000003; // основной текст var Form1: TForm1; implementation var W:Variant; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin W:=CreateOleObject('PowerPoint.Application'); end; procedure TForm1.CheckBox1Click(Sender: TObject); begin W.Visible:=CheckBox1.Checked; end; procedure TForm1.Button2Click(Sender: TObject); //Закрытие документа begin W.ActivePresentation.Close; end; procedure TForm1.Button3Click(Sender: TObject); begin W.Presentations.Add; end; procedure TForm1.Button5Click(Sender: TObject); var V,V1: Variant; begin W.ActivePresentation.Slides.Add(1,1{ppLayoutTitle}); V:=W.ActivePresentation.Slides.Item(1).Shapes.Item('Rectangle 2') .TextFrame.TextRange; V.Characters(Start:=1,Length:=0).Text:='Презентация'; V.Font.Name := 'Times New Roman'; V.Font.Size := 44; V.Font.Bold := 0; {msoFalse} V.Font.Italic := 0; {msoFalse} V.Font.Underline := 0; {msoFalse} V.Font.Shadow := 0; {msoFalse} V.Font.Emboss := 0; {msoFalse} V.Font.BaseLineOffset := 0; V.Font.AutoRotateNumbers := 0; {msoFalse} V.Font.Color.SchemeColor := 4; {ppTitle} V1:=W.ActivePresentation.Slides.Item(1).Shapes.Item('Rectangle 3') .TextFrame.TextRange; V1.Characters(Start:=1,Length:=0).Text:='Бизнес-план' + Chr(13) + 'директора фирмы "Рога и копыта"'; V1.Font.Name := 'Times New Roman'; V1.Font.Size := 32; V1.Font.Bold := 0; {msoFalse} V1.Font.Italic := 0; {msoFalse} V1.Font.Underline := 0; {msoFalse} V1.Font.Shadow := 0; {msoFalse} V1.Font.Emboss := 0; {msoFalse} V1.Font.BaseLineOffset := 0; V1.Font.AutoRotateNumbers := 0; {msoFalse} V1.Font.Color.SchemeColor := 2; {ppForeground} end; procedure TForm1.Button4Click(Sender: TObject); begin W.Quit; end; procedure TForm1.Button6Click(Sender: TObject); //Добавить еще один слайд var V,V1: Variant; begin W.ActivePresentation.Slides.Add(2,2{ppLayoutText}); V:=W.ActivePresentation.Slides.Item(2).Shapes.Item('Rectangle 2') .TextFrame.TextRange; V.Characters(Start:=1,Length:=0).Text:='Сущность предлагаемого проекта'; V.Font.Name := 'Times New Roman'; V.Font.Size := 44; V.Font.Bold := 0; {msoFalse} V.Font.Italic := 0; {msoFalse} V.Font.Underline := 0; {msoFalse} V.Font.Shadow := 0; {msoFalse} V.Font.Emboss := 0; {msoFalse} V.Font.BaseLineOffset := 0; V.Font.AutoRotateNumbers := 0; {msoFalse} V.Font.Color.SchemeColor := 4; {ppTitle} V1:=W.ActivePresentation.Slides.Item(2).Shapes.Item('Rectangle 3') .TextFrame.TextRange; V1.Characters(Start:=1,Length:=0).Text:='Описание продукции, ее уникальность;' + Chr(13) + 'Стадия развития проекта;'+Chr(13)+ 'Сведения о патентах.'; V1.Font.Name := 'Times New Roman'; V1.Font.Size := 32; V1.Font.Bold := 0; {msoFalse} V1.Font.Italic := 0; {msoFalse} V1.Font.Underline := 0; {msoFalse} V1.Font.Shadow := 0; {msoFalse} V1.Font.Emboss := 0; {msoFalse} V1.Font.BaseLineOffset := 0; V1.Font.AutoRotateNumbers := 0; {msoFalse} V1.Font.Color.SchemeColor := 2; {ppForeground} end; procedure TForm1.ComboBox1Change(Sender: TObject); begin case ComboBox1.ItemIndex of 0 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppBackGround).RGB:=clRed; 1 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppBackGround).RGB:=clGreen; 2 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppBackGround).RGB:=clBlue; 3 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppBackGround).RGB:=clBlack; 4 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppBackGround).RGB:=clWhite; end; end; procedure TForm1.ComboBox2Change(Sender: TObject); begin case ComboBox2.ItemIndex of 0 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppForeground).RGB:=clRed; 1 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppForeground).RGB:=clGreen; 2 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppForeground).RGB:=clBlue; 3 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppForeground).RGB:=clBlack; 4 : W.ActivePresentation.SlideMaster.ColorScheme .Colors(ppForeground).RGB:=clWhite; end; end; end.
На следующем шаге мы рассмотрим основные методы этого объекта.