![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Я на форму при помощу десяти кнопок загружаю столько же картинок. ТEdit`ы для того что бы картинки после загрузки можно было назвать. Хочу сделать слайд шоу из них, но никак не разберусь как можно слайдшоу это реализовать.
![]() Последний раз редактировалось kriv0y, 21.02.2011 в 17:22. |
|
#2
|
|||
|
|||
|
Создай массив из путей к файлам, а дальше по таймеру отображай картинки одну за другой. И пара кнопок на запуск и остановку таймера.
Код:
procedure TForm1.Timer1Timer(Sender: TObject); begin if i=10 then i:=0; Inc(i); Image1.Picture.LoadFromFile(pathToImage[i]); end; |
|
#3
|
|||
|
|||
|
так у меня пути каждый раз разные, они же не могут быть по порядку
|
|
#4
|
|||
|
|||
|
Может мне создать десять кнопок и на каждый клик передовать картинку из одного timage в другой. timage1.picture:=timage2.picture;
|
|
#5
|
|||
|
|||
|
Код:
var PathToFile: array [1..10] of string; for i:=1 to 10 do PathToFile[i]:=Edit[i].Text Последний раз редактировалось iGeTT, 21.02.2011 в 20:14. |
|
#6
|
|||
|
|||
|
Спасибо за помощь, но что то он красным подчеркивает
|
|
#7
|
|||
|
|||
|
Всмысле? Ошибка при компиляции?
|
|
#8
|
|||
|
|||
|
А я, увидил, что ты подправил обьявление массива, но я не пойму куда вставлять for i:=1 to 10 do
PathToFile[i]:=Edit[i].Text |
|
#9
|
|||
|
|||
|
Ну как куда... Ты все десять файлов выбрал, а на кнопку это в повесь. И еще на кнопку кинь Timer1.Enabled=true;
И в таймер пропиши то, что я вначале писал. Я бы написал код, но сейчас нет возможности. |
|
#10
|
|||
|
|||
|
Код:
procedure TForm1.Timer1Timer(Sender: TObject); var i: Integer; begin if i=10 then i:=0; Inc(i); Image1.Picture.LoadFromFile(Path[i]); end; procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin for i:=1 to 10 do Path[i]:=OpenDialog[i].FileName; Timer1.Enabled:=True; end; procedure TForm1.Button2Click(Sender: TObject); begin Timer1.Enabled:=False; end; Button2 - остановка Ожидается, что все OpenDialog заполнены. Не забудь по умолчанию у таймера поставить Enabled в false. И в начале, в var объяви массив: Код:
var Path: array [1..10] of string; |
|
#11
|
|||
|
|||
|
Сообщаяет о undeclared identifier
![]() Код:
вот мой весь код
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, mmsystem, ExtCtrls;
type
TForm7 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Image8: TImage;
Image9: TImage;
Image10: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Button11: TButton;
Button12: TButton;
OpenDialog1: TOpenDialog;
OpenDialog2: TOpenDialog;
OpenDialog3: TOpenDialog;
OpenDialog4: TOpenDialog;
OpenDialog5: TOpenDialog;
OpenDialog6: TOpenDialog;
OpenDialog7: TOpenDialog;
OpenDialog8: TOpenDialog;
OpenDialog9: TOpenDialog;
OpenDialog10: TOpenDialog;
Image11: TImage;
Label11: TLabel;
Timer1: TTimer;
Button13: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
p1n:string;
p2n:string;
p3n:string;
p4n:string;
p5n:string;
p6n:string;
p7n:string;
p8n:string;
p9n:string;
p10n:string;
i:integer;
Path: array [1..10] of string;
implementation
{$R *.dfm}
procedure TForm7.Button10Click(Sender: TObject);
begin
if opendialog10.execute then
image10.Picture.loadfromfile (opendialog10.filename);
edit10.Clear;
edit10.Visible:=true;
end;
procedure TForm7.Button11Click(Sender: TObject);
begin
p1n:=edit1.text;
p2n:=edit2.text;
p3n:=edit3.Text;
p4n:=edit4.Text;
p5n:=edit5.Text;
p6n:=edit6.Text;
p7n:=edit7.Text;
p8n:=edit8.Text;
p9n:=edit9.Text;
p10n:=edit10.Text;
label1.Caption:=p1n;
label2.Caption:=p2n;
label3.Caption:=p3n;
label4.Caption:=p4n;
label5.Caption:=p5n;
label6.Caption:=p6n;
label7.Caption:=p7n;
label8.Caption:=p8n;
label9.Caption:=p9n;
label10.Caption:=p10n;
edit1.Visible:=false;
edit2.Visible:=false;
edit3.Visible:=false;
edit4.Visible:=false;
edit5.Visible:=false;
edit6.Visible:=false;
edit7.Visible:=false;
edit8.Visible:=false;
edit9.Visible:=false;
edit10.Visible:=false;
button1.Visible:=false;
button2.Visible:=false;
button3.Visible:=false;
button4.Visible:=false;
button5.Visible:=false;
button6.Visible:=false;
button7.Visible:=false;
button8.Visible:=false;
button9.Visible:=false;
button10.Visible:=false;
end;
procedure TForm7.Button12Click(Sender: TObject);
var i: Integer;
begin
for i:=1 to 10 do
Path[i]:=OpenDialog[i].FileName;
Timer1.Enabled:=True;
end;
procedure TForm7.Button13Click(Sender: TObject);
begin
Timer1.Enabled:=False;
end;
procedure TForm7.Button1Click(Sender: TObject);
begin
if opendialog1.execute then
image1.Picture.loadfromfile (opendialog1.filename);
edit1.Clear;
edit1.Visible:=true;
button11.Enabled:=true;
button2.Enabled:=true;
end;
procedure TForm7.Button2Click(Sender: TObject);
begin
if opendialog2.execute then
image2.Picture.loadfromfile (opendialog2.filename);
edit2.Clear;
edit2.Visible:=true;
button3.Enabled:=true;
end;
procedure TForm7.Button3Click(Sender: TObject);
begin
if opendialog3.execute then
image3.Picture.loadfromfile (opendialog3.filename);
edit3.Clear;
edit3.Visible:=true;
button4.Enabled:=true;
end;
procedure TForm7.Button4Click(Sender: TObject);
begin
if opendialog4.execute then
image4.Picture.loadfromfile (opendialog4.filename);
edit4.Clear;
edit4.Visible:=true;
button5.Enabled:=true;
end;
procedure TForm7.Button5Click(Sender: TObject);
begin
if opendialog5.execute then
image5.Picture.loadfromfile (opendialog5.filename);
edit5.Clear;
edit5.Visible:=true;
button6.Enabled:=true;
end;
procedure TForm7.Button6Click(Sender: TObject);
begin
if opendialog6.execute then
image6.Picture.loadfromfile (opendialog6.filename);
edit6.Clear;
edit6.Visible:=true;
button7.Enabled:=true;
end;
procedure TForm7.Button7Click(Sender: TObject);
begin
if opendialog7.execute then
image7.Picture.loadfromfile (opendialog7.filename);
edit7.Clear;
edit7.Visible:=true;
button8.Enabled:=true;
end;
procedure TForm7.Button8Click(Sender: TObject);
begin
if opendialog8.execute then
image8.Picture.loadfromfile (opendialog8.filename);
edit8.Clear;
edit8.Visible:=true;
button9.Enabled:=true;
end;
procedure TForm7.Button9Click(Sender: TObject);
begin
if opendialog9.execute then
image9.Picture.loadfromfile (opendialog9.filename);
edit9.Clear;
edit9.Visible:=true;
button10.Enabled:=true;
end;
procedure TForm7.Timer1Timer(Sender: TObject);
var i: Integer;
begin
if i=10 then i:=0;
Inc(i);
Image1.Picture.LoadFromFile(Path[i]);
end;
end.Последний раз редактировалось kriv0y, 21.02.2011 в 23:08. |
|
#12
|
|||
|
|||
|
Айайай, в [code] кто будет код помещать?
По сабжу: тогда по старинке Код:
procedure TForm7.Button12Click(Sender: TObject); begin Path[1]:=OpenDialog[1].FileName; Path[2]:=OpenDialog[2].FileName; Path[3]:=OpenDialog[3].FileName; Path[4]:=OpenDialog[4].FileName; Path[5]:=OpenDialog[5].FileName; Path[6]:=OpenDialog[6].FileName; Path[7]:=OpenDialog[7].FileName; Path[8]:=OpenDialog[8].FileName; Path[9]:=OpenDialog[9].FileName; Path[10]:=OpenDialog[10].FileName; Timer1.Enabled:=True; end; |
|
#13
|
|||
|
|||
|
Думал, что тег [code] не надо закрывать обязательно как в хтмл, вот оно и не сработало.
поменял на Opendialog без [] и компилятор перестал ругаться. Path[1]:=OpenDialog1.FileName; пару секунд думает и сообщает при когда на 12 кнопку нажимаю которая слайд шоу запускает такую ошибку. Хотя разные варианты пробывал. И только Jpeg и чисто bmp, и вперемешку. ![]() |
|
#14
|
|||
|
|||
|
Поставь на каждую кнопку код (меняй цифры 1 в зависимости от номера кнопки)
Код:
if OpenDialog1.Execute then Path[1]:=OpenDialog1.FileName; |
|
#15
|
|||
|
|||
|
Твоя функция возвращает невероятно доброе отношение ко мне, но по запуске слайд шоу показывает, что память не может быть прочитана и адресс её в шестнадцатиричном.
останавливаеться вот на этой строке Image1.Picture.LoadFromFile(path[i]); это в таймере загрузка картинки на форму Код:
procedure TForm7.Timer1Timer(Sender: TObject); var i: Integer; begin if i=10 then i:=0; Inc(i); Image1.Picture.LoadFromFile(path[i]); Последний раз редактировалось kriv0y, 22.02.2011 в 00:24. |