OSDN Git Service

外観を調整 Image2を廃止 OpenDialog1をダミーオブジェクトに設定
[vobslideshow/vob.git] / Unit1.pas
1 unit Unit1;
2
3 interface
4
5 uses
6   System.SysUtils, System.Types, System.UITypes, System.Classes,
7   System.Variants,
8   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
9   Data.Bind.EngExt, FMX.Bind.DBEngExt, System.Rtti, System.Bindings.Outputs,
10   FMX.Bind.Editors, Data.Bind.Components, FMX.StdCtrls, FMX.Effects,
11   FMX.Filter.Effects, FMX.Ani, FMX.Objects, FMX.Menus, FMX.ListView.Types,
12   FMX.ListView, System.TypInfo, FMX.Layouts, FMX.ListBox;
13
14 type
15   TForm1 = class(TForm)
16     BlurTransitionEffect1: TBlurTransitionEffect;
17     Image1: TImage;
18     Timer1: TTimer;
19     BandedSwirlTransitionEffect1: TBandedSwirlTransitionEffect;
20     MainMenu1: TMainMenu;
21     BlindTransitionEffect1: TBlindTransitionEffect;
22     CircleTransitionEffect1: TCircleTransitionEffect;
23     MagnifyTransitionEffect1: TMagnifyTransitionEffect;
24     CrumpleTransitionEffect1: TCrumpleTransitionEffect;
25     DissolveTransitionEffect1: TDissolveTransitionEffect;
26     DropTransitionEffect1: TDropTransitionEffect;
27     FadeTransitionEffect1: TFadeTransitionEffect;
28     BrightTransitionEffect1: TBrightTransitionEffect;
29     PixelateTransitionEffect1: TPixelateTransitionEffect;
30     WiggleTransitionEffect1: TWiggleTransitionEffect;
31     ShapeTransitionEffect1: TShapeTransitionEffect;
32     RippleTransitionEffect1: TRippleTransitionEffect;
33     RotateCrumpleTransitionEffect1: TRotateCrumpleTransitionEffect;
34     SaturateTransitionEffect1: TSaturateTransitionEffect;
35     SlideTransitionEffect1: TSlideTransitionEffect;
36     SwirlTransitionEffect1: TSwirlTransitionEffect;
37     WaterTransitionEffect1: TWaterTransitionEffect;
38     WaveTransitionEffect1: TWaveTransitionEffect;
39     LineTransitionEffect1: TLineTransitionEffect;
40     FloatAnimation1: TFloatAnimation;
41     ListView1: TListView;
42     Button1: TButton;
43     OpenDialog1: TOpenDialog;
44     Button2: TButton;
45     MenuItem1: TMenuItem;
46     MenuItem2: TMenuItem;
47     MenuItem3: TMenuItem;
48     MenuItem4: TMenuItem;
49     MenuItem5: TMenuItem;
50     MenuItem6: TMenuItem;
51     ComboBox1: TComboBox;
52     MenuItem7: TMenuItem;
53     MenuItem8: TMenuItem;
54     procedure Button1Click(Sender: TObject);
55     procedure Button2Click(Sender: TObject);
56     procedure ListView1Change(Sender: TObject);
57     procedure FormCreate(Sender: TObject);
58     procedure FloatAnimation1Finish(Sender: TObject);
59     procedure MenuItem5Click(Sender: TObject);
60     procedure MenuItem8Click(Sender: TObject);
61   private
62     { private \90é\8c¾ }
63   public
64     { public \90é\8c¾ }
65   end;
66
67 var
68   Form1: TForm1;
69
70 implementation
71
72 {$R *.fmx}
73
74 uses Unit2;
75
76 procedure TForm1.Button1Click(Sender: TObject);
77 var
78   i: Integer;
79   s: TListViewItem;
80 begin
81   if OpenDialog1.Execute = true then
82   begin
83     ListView1.Items.Clear;
84     for i := 0 to OpenDialog1.Files.Count - 1 do
85     begin
86       s:=ListView1.Items.Add;
87       s.Text:=ExtractFileName(OpenDialog1.Files[i]);
88       s.Detail := OpenDialog1.Files[i];
89       s.Bitmap.LoadFromFile(OpenDialog1.Files[i]);
90     end;
91     if ListView1.ItemCount > 0 then
92       ListView1.ItemIndex:=0;
93   end;
94 end;
95
96 procedure TForm1.Button2Click(Sender: TObject);
97 var
98   s: TFmxObject;
99   i: Integer;
100 begin
101   if (ListView1.ItemIndex > -1)and(ListView1.ItemIndex < ListView1.ItemCount-1) then
102   begin
103     FloatAnimation1.Stop;
104     for i := 0 to OpenDialog1.ChildrenCount - 1 do
105       if OpenDialog1.Children[i].ClassName = ComboBox1.Items[ComboBox1.ItemIndex] then
106         s := OpenDialog1.Children[i];
107     s.Parent := Image1;
108     FloatAnimation1.Parent := s;
109     SetObjectProp(s, 'target', ListView1.Items[ListView1.ItemIndex+1].Bitmap);
110     FloatAnimation1.Start;
111   end;
112 end;
113
114 procedure TForm1.FloatAnimation1Finish(Sender: TObject);
115 begin
116   FloatAnimation1.Parent.Parent := OpenDialog1;
117   ListView1.ItemIndex:=ListView1.ItemIndex+1;
118   Image1.Bitmap.Assign(ListView1.Items[ListView1.ItemIndex].Bitmap);
119 end;
120
121 procedure TForm1.FormCreate(Sender: TObject);
122 var
123   i: Integer;
124 begin
125   for i := 0 to OpenDialog1.ChildrenCount - 1 do
126     ComboBox1.Items.Add(OpenDialog1.Children[i].ClassName);
127   ComboBox1.ItemIndex := 0;
128 end;
129
130 procedure TForm1.ListView1Change(Sender: TObject);
131 begin
132   FloatAnimation1.Stop;
133   Image1.Bitmap.Assign(ListView1.Items[ListView1.ItemIndex].Bitmap);
134 end;
135
136 procedure TForm1.MenuItem5Click(Sender: TObject);
137 begin
138   Close;
139 end;
140
141 procedure TForm1.MenuItem8Click(Sender: TObject);
142 begin
143   if Form2.ShowModal = mrOK then
144     ComboBox1.Items.Assign(Form2.ListBox2.Items);
145 end;
146
147 end.