OSDN Git Service

Beta version
[vobslideshow/vob.git] / Unit1.pas
1 unit Unit1;
2
3 interface
4
5 uses
6   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
7   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
8   Data.Bind.EngExt, Fmx.Bind.DBEngExt, System.Rtti, System.Bindings.Outputs,
9   Fmx.Bind.Editors, Data.Bind.Components, FMX.StdCtrls, FMX.Effects,
10   FMX.Filter.Effects, FMX.Ani, FMX.Objects, FMX.Menus, FMX.ListView.Types,
11   FMX.ListView, System.TypInfo, FMX.Layouts, FMX.ListBox;
12
13 type
14   TForm1 = class(TForm)
15     BlurTransitionEffect1: TBlurTransitionEffect;
16     Image1: TImage;
17     Timer1: TTimer;
18     BandedSwirlTransitionEffect1: TBandedSwirlTransitionEffect;
19     MainMenu1: TMainMenu;
20     BlindTransitionEffect1: TBlindTransitionEffect;
21     CircleTransitionEffect1: TCircleTransitionEffect;
22     MagnifyTransitionEffect1: TMagnifyTransitionEffect;
23     CrumpleTransitionEffect1: TCrumpleTransitionEffect;
24     DissolveTransitionEffect1: TDissolveTransitionEffect;
25     DropTransitionEffect1: TDropTransitionEffect;
26     FadeTransitionEffect1: TFadeTransitionEffect;
27     BrightTransitionEffect1: TBrightTransitionEffect;
28     PixelateTransitionEffect1: TPixelateTransitionEffect;
29     WiggleTransitionEffect1: TWiggleTransitionEffect;
30     ShapeTransitionEffect1: TShapeTransitionEffect;
31     RippleTransitionEffect1: TRippleTransitionEffect;
32     RotateCrumpleTransitionEffect1: TRotateCrumpleTransitionEffect;
33     SaturateTransitionEffect1: TSaturateTransitionEffect;
34     SlideTransitionEffect1: TSlideTransitionEffect;
35     SwirlTransitionEffect1: TSwirlTransitionEffect;
36     WaterTransitionEffect1: TWaterTransitionEffect;
37     WaveTransitionEffect1: TWaveTransitionEffect;
38     LineTransitionEffect1: TLineTransitionEffect;
39     FloatAnimation1: TFloatAnimation;
40     ListView1: TListView;
41     Button1: TButton;
42     OpenDialog1: TOpenDialog;
43     Button2: TButton;
44     Image2: TImage;
45     ListBox1: TListBox;
46     procedure Button1Click(Sender: TObject);
47     procedure Button2Click(Sender: TObject);
48     procedure ListView1Change(Sender: TObject);
49     procedure FormCreate(Sender: TObject);
50     procedure FloatAnimation1Finish(Sender: TObject);
51   private
52     { private \90é\8c¾ }
53   public
54     { public \90é\8c¾ }
55   end;
56
57 var
58   Form1: TForm1;
59
60 implementation
61
62 {$R *.fmx}
63
64 procedure TForm1.Button1Click(Sender: TObject);
65 var
66   i: Integer;
67 begin
68   if OpenDialog1.Execute = true then
69   begin
70     ListView1.Items.Clear;
71     for i := 0 to OpenDialog1.Files.Count-1 do
72       ListView1.Items.Add.Text:=OpenDialog1.Files[i];
73   end;
74 end;
75
76 procedure TForm1.Button2Click(Sender: TObject);
77 var
78   s: TFmxObject;
79   i: Integer;
80 begin
81   if Image1.Bitmap.IsEmpty = false then
82   begin
83     FloatAnimation1.Stop;
84     for i := 0 to Image2.ChildrenCount-1 do
85       if Image2.Children[i].ClassName = ListBox1.Items[ListBox1.ItemIndex] then
86         s:=Image2.Children[i];
87     s.Parent:=Image1;
88     FloatAnimation1.Parent:=s;
89     SetObjectProp(s,'target',Image2.Bitmap);
90     FloatAnimation1.Start;
91   end;
92 end;
93
94 procedure TForm1.FloatAnimation1Finish(Sender: TObject);
95 begin
96   FloatAnimation1.Parent.Parent:=Image2;
97 end;
98
99 procedure TForm1.FormCreate(Sender: TObject);
100 var
101   i: Integer;
102 begin
103   for i := 0 to Image2.ChildrenCount-1 do
104     ListBox1.Items.Add(Image2.Children[i].ClassName);
105   ListBox1.ItemIndex:=0;
106 end;
107
108 procedure TForm1.ListView1Change(Sender: TObject);
109 begin
110   FloatAnimation1.Stop;
111   Image1.Bitmap.LoadFromFile(ListView1.Items[ListView1.ItemIndex].Text);
112   if ListView1.ItemIndex < ListView1.ItemCount-1 then
113     Image2.Bitmap.LoadFromFile(ListView1.Items[ListView1.ItemIndex+1].Text);
114 end;
115
116 end.