Перелистывание Изображений

19.02.2013
3
0
#1
Помогите пожалуйста правильно реализовать вот что (пишу мини электронный музей, пользователь выбирает категорию и просматривает в каждой категории экспонаты): по нажатию на кнопку например, Украшения, в image загружается изображение и пользователь может их перелистывать вперед и назад (пока все картинки находятся в папке с программой)
Вот как я реализовала:
Код:
procedure TForm1.sButton6Click(Sender: TObject);
begin

sPanel5.Visible:=false;
sMemo1.Visible:=true;
sBitBtn1.Visible:=true;
sBitBtn2.Visible:=true;

if sender=sBitBtn1 then //перелистывание вперед
n:=n+1;
if n=5 then n:=1;
Image1.Picture.LoadFromFile(inttostr(n) + '.bmp');

if sender=sBitBtn2 then //перелистывание назад
n:=n-1;
if n=1 then n:=5;
Image1.Picture.LoadFromFile(inttostr(n)+'.bmp');

end;
отображается только одно изображение и не перелистывает((
помогите разобраться, может есть вообще другой какой-нибудь способ??
 

AndreyS

Active member
15.10.2007
39
0
#5
А какой у тебя первій номер (n)?
Где ты указываеш с какого номера начинать?

добав n:=0;

/////
procedure TForm1.FormCreate(Sender: TObject);
begin
n:=0;
end;
 

sinkopa

Well-known member
17.06.2009
344
4
#6
ничего, просто не перелистывает и все)
Какой молчаливый у Вас дебагер... Может обидели его чем? :D
Ну чтож... раз уж Вы с дебагером в ссоре... попробуйте изменить Ваш код следующим образом:
Код:
procedure TForm1.sButton6Click(Sender: TObject);
var
ImageName: string;
begin
sPanel5.Visible:=false;
sMemo1.Visible:=true;
sBitBtn1.Visible:=true;
sBitBtn2.Visible:=true;

if (sender = sBitBtn1) then //перелистывание вперед
Inc(n)
else if (sender = sBitBtn2) then //перелистывание назад
Dec(n)
else
begin
ShowMessage('Ты что! я не sBitBtn1 и не sBitBtn2! Я же '+ TButton(Sender).Name);
Exit;
end;


if (n > 5) then
n := 1
else if (n < 1) then
n := 5;

ImageName := inttostr(n)+'.bmp';

if not FileExists(ImageName) then
begin
ShowMessage('Нет такой картинки: '+ ImageName);
Exit;
end;

Image1.Picture.LoadFromFile(ImageName);
Image1.Invalidate;
end;
 
19.02.2013
3
0
#8
ой, спасибо ребят, я уже разобралась)))спасибо за то что уделили время!)