• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы Алёна91
  • Дата начала Дата начала
А

Алёна91

Помогите пожалуйста правильно реализовать вот что (пишу мини электронный музей, пользователь выбирает категорию и просматривает в каждой категории экспонаты): по нажатию на кнопку например, Украшения, в 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;
отображается только одно изображение и не перелистывает((
помогите разобраться, может есть вообще другой какой-нибудь способ??
 
это понятно, а почему? он должен сказать, он умный
 
А какой у тебя первій номер (n)?
Где ты указываеш с какого номера начинать?

добав n:=0;

/////
procedure TForm1.FormCreate(Sender: TObject);
begin
n:=0;
end;
 
ну а дебагер что говорит?
ничего, просто не перелистывает и все)
Какой молчаливый у Вас дебагер... Может обидели его чем? :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;
 
ой, спасибо ребят, я уже разобралась)))спасибо за то что уделили время!)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab