Случайная картинка в делфи

Рейтинг: -1Ответов: 2Опубликовано: 11.04.2011

Вроде всё просто, но почему-то проблема с типами. Есть папка img/ там хранятся 4 файла вида img_*.jpg. При нажатии на кнопку, изображение выбирается случайно. Вот код:

procedure TProForm.Button1Click(Sender: TObject);
var
v:integer;
begin
v:=Random(4)+1;
image1.Picture:='img/img_'+v+'.jpg';
end;

Ошибка: [Pascal Error] Unit2.pas(44): E2010 Incompatible types: 'TPicture' and 'Integer' [Pascal Error] Unit2.pas(45): E2010 Incompatible types: 'string' and 'TPicture'

В чём проблема и как больше не допускать таких ошибок? Какой тип задать для переменной v? Чтоб не было проблем?

Ответы

▲ 3Принят

Нужно так

Image1.Picture.LoadFromFile('img_'+ IntToStr(v)+'.jpg');

А для загрузки jpg файлов в uses-ах надо добавить модуль jpeg

▲ 3

Используйте IntToStr(), а то у вас получается, что строке присваивается числовое значение:

img:='img_'+ IntToStr(v)+'.jpg';