1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
uses
System.SysUtils, System.Types, System.UITypes, System.Rtti, System.Classes,
System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Layouts,
FMX.ListBox, FMX.Objects ;
type
TForm1 = class(TForm)
StyleBook1: TStyleBook;
Button1: TButton;
ListBox1: TListBox;
Button2: TButton;
procedure Button1Click(Sender: TObject);
....
procedure TForm1.Button1Click(Sender: TObject);
var
O1 : TLayOut ;
MS1, MS2: TMemoryStream;
i1,i2, iMax : integer ;
Text1 : TText ;
begin
StyleBook1.Resource.LoadFromFile('x.txt');
MS1 := TMemoryStream.Create ;
MS2 := TMemoryStream.Create;
StyleBook1.Resource.SaveToStream (MS2);
MS2.Seek(0, soFromBeginning);
ObjectTextToBinary(MS2, MS1);
MS1.Seek(0, soFromBeginning);
O1 := TLayOut.create(nil) ;
MS1.ReadComponent(O1);
MS2.Free;
MS1.Free;
i2 := 0 ;
ListBox1.Items.Clear ;
for i1 := 0 to O1.ComponentCount-1 do
begin
if O1.Components[i1] is TText then
begin
Text1 := O1.Components[i1] as TText ;
ListBox1.Items.Add(Text1.Font.Family) ;
end;
end;
O1.Destroy;
end; |
Partager