6 System.SysUtils, System.Types, System.UITypes, System.Classes,
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 FMX.Controls.Presentation, FMX.Edit, FMX.EditBox, FMX.SpinBox, FMX.Media,
18 BlurTransitionEffect1: TBlurTransitionEffect;
21 BandedSwirlTransitionEffect1: TBandedSwirlTransitionEffect;
23 BlindTransitionEffect1: TBlindTransitionEffect;
24 CircleTransitionEffect1: TCircleTransitionEffect;
25 MagnifyTransitionEffect1: TMagnifyTransitionEffect;
26 CrumpleTransitionEffect1: TCrumpleTransitionEffect;
27 DissolveTransitionEffect1: TDissolveTransitionEffect;
28 DropTransitionEffect1: TDropTransitionEffect;
29 FadeTransitionEffect1: TFadeTransitionEffect;
30 BrightTransitionEffect1: TBrightTransitionEffect;
31 PixelateTransitionEffect1: TPixelateTransitionEffect;
32 WiggleTransitionEffect1: TWiggleTransitionEffect;
33 ShapeTransitionEffect1: TShapeTransitionEffect;
34 RippleTransitionEffect1: TRippleTransitionEffect;
35 RotateCrumpleTransitionEffect1: TRotateCrumpleTransitionEffect;
36 SaturateTransitionEffect1: TSaturateTransitionEffect;
37 SlideTransitionEffect1: TSlideTransitionEffect;
38 SwirlTransitionEffect1: TSwirlTransitionEffect;
39 WaterTransitionEffect1: TWaterTransitionEffect;
40 WaveTransitionEffect1: TWaveTransitionEffect;
41 LineTransitionEffect1: TLineTransitionEffect;
42 FloatAnimation1: TFloatAnimation;
45 OpenDialog1: TOpenDialog;
57 MenuItem10: TMenuItem;
59 MenuItem11: TMenuItem;
63 MediaPlayer1: TMediaPlayer;
65 MenuItem12: TMenuItem;
66 procedure Button1Click(Sender: TObject);
67 procedure Button2Click(Sender: TObject);
68 procedure ListView1Change(Sender: TObject);
69 procedure FormCreate(Sender: TObject);
70 procedure FloatAnimation1Finish(Sender: TObject);
71 procedure MenuItem5Click(Sender: TObject);
72 procedure MenuItem8Click(Sender: TObject);
73 procedure Button3Click(Sender: TObject);
74 procedure SpinBox1Change(Sender: TObject);
75 procedure MenuItem12Click(Sender: TObject);
92 procedure TForm1.Button1Click(Sender: TObject);
97 if OpenDialog1.Execute = true then
99 for i := 0 to OpenDialog1.Files.Count - 1 do
101 s := ListView1.Items.Add;
102 s.Text := ExtractFileName(OpenDialog1.Files[i]);
103 s.Detail := OpenDialog1.Files[i];
104 s.Bitmap.LoadFromFile(OpenDialog1.Files[i]);
106 if ListView1.ItemCount > 0 then
108 ListView1.ItemIndex := 0;
109 Image1.Bitmap.Assign(ListView1.Items[0].Bitmap);
115 procedure TForm1.Button2Click(Sender: TObject);
120 if (ListView1.ItemIndex > -1) and (ComboBox1.Items.Count > 0) and
121 (ListView1.ItemIndex < ListView1.ItemCount - 1) then
123 if FloatAnimation1.Running = true then
126 FloatAnimation1.Stop;
128 for i := 0 to Image1.ChildrenCount - 1 do
129 if Image1.Children[i].ClassName = ComboBox1.Items[ComboBox1.ItemIndex]
132 s := Image1.Children[i];
133 (s as TEffect).Enabled := true;
134 FloatAnimation1.Parent := s;
135 SetObjectProp(s, 'target',
136 ListView1.Items[ListView1.ItemIndex + 1].Bitmap);
137 FloatAnimation1.Start;
138 if Sender = Button2 then
145 procedure TForm1.Button3Click(Sender: TObject);
149 for i := ListView1.Items.Count - 1 downto 0 do
150 if ListView1.Items[i].Checked = true then
151 ListView1.Items.Delete(i);
154 procedure TForm1.FloatAnimation1Finish(Sender: TObject);
156 (FloatAnimation1.Parent as TEffect).Enabled := false;
157 if (ListView1.ItemIndex < ListView1.ItemCount - 1) and (progress = false) then
159 ListView1.ItemIndex := ListView1.ItemIndex + 1;
160 Image1.Bitmap.Assign(ListView1.Items[ListView1.ItemIndex].Bitmap);
161 if ListView1.ItemIndex < ListView1.ItemCount - 1 then
163 ComboBox1.ItemIndex := Random(ComboBox1.Items.Count);
164 Button2Click(Sender);
174 procedure TForm1.FormCreate(Sender: TObject);
178 for i := 0 to Image1.ChildrenCount - 1 do
179 ComboBox1.Items.Add(Image1.Children[i].ClassName);
180 ComboBox1.ItemIndex := 0;
183 procedure TForm1.ListView1Change(Sender: TObject);
185 if FloatAnimation1.Running = true then
188 FloatAnimation1.Stop;
190 SpinBox1Change(Sender);
191 if (Form3.CheckBox1.IsChecked = true) and
192 (MediaPlayer1.CurrentTime > MediaPlayer1.Duration) then
193 MediaPlayer1.CurrentTime :=
194 MediaPlayer1.CurrentTime mod MediaPlayer1.Duration;
195 Image1.Bitmap.Assign(ListView1.Items[ListView1.ItemIndex].Bitmap);
198 procedure TForm1.MenuItem12Click(Sender: TObject);
200 if Form3.ShowModal = mrOK then
201 if Form3.FIleName = '' then
204 Label3.Text := '
\89¹
\90º
\83t
\83@
\83C
\83\8b\81F' + '
\82È
\82µ';
208 MediaPlayer1.FIleName := Form3.FIleName;
209 if Form3.Switch1.IsChecked = true then
210 MediaPlayer1.Volume := 0
212 MediaPlayer1.Volume := Form3.MediaPlayer1.Volume;
213 Label3.Text := '
\89¹
\90º
\83t
\83@
\83C
\83\8b\81F' + ExtractFileName(Form3.FIleName);
217 procedure TForm1.MenuItem5Click(Sender: TObject);
222 procedure TForm1.MenuItem8Click(Sender: TObject);
227 if ComboBox1.Items.Count > 0 then
228 s := ComboBox1.Items[ComboBox1.ItemIndex];
229 if Form2.ShowModal = mrOK then
231 ComboBox1.Items.Assign(Form2.ListBox2.Items);
232 i := ComboBox1.Items.IndexOf(s);
234 ComboBox1.ItemIndex := i
235 else if ComboBox1.Items.Count > 0 then
236 ComboBox1.ItemIndex := 0;
240 procedure TForm1.SpinBox1Change(Sender: TObject);
242 with FloatAnimation1 do
244 if Running = true then
249 Delay := SpinBox1.Value - Duration;
251 if ListView1.Items.Count > 0 then
252 MediaPlayer1.CurrentTime := Floor(SpinBox1.Value * MediaPlayer1.Duration *
253 MediaTimeScale * ListView1.ItemIndex / ListView1.Items.Count);
254 Label2.Visible := SpinBox1.Value = 2.50;