Нужна помощь в delphi - Вопросы по Delphi

Вопрос Нужна помощь в delphi

Регистрация
1 Сен 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
Нужно вставить картинку с диаграммой в зависимости от значения переменной Delphi

Чему бы Delphi не равнялось - ставится картинка 10.jpg

Как можно починить?



procedure TForm8.FormCreate(Sender: TObject);

begin

label1.caption := IntToStr(delphi);

begin

case delphi of

0 : image1.picture.LoadFromFile('10.jpg');

1 : image1.picture.LoadFromFile('1.jpg') ;

2 : image1.picture.LoadFromFile('2.jpg') ;

3 : image1.picture.LoadFromFile('3.jpg') ;

4 : image1.picture.LoadFromFile('4.jpg') ;

5 : image1.picture.LoadFromFile('5.jpg') ;

6 : image1.picture.LoadFromFile('6.jpg') ;

7 : image1.picture.LoadFromFile('7.jpg') ;

8 : image1.picture.LoadFromFile('8.jpg') ;

9 : image1.picture.LoadFromFile('9.jpg') ;

10 : image1.picture.LoadFromFile('0.jpg') ;

end;

end;

end;
 
Регистрация
22 Июл 2013
Сообщения
95
Репутация
0
Спасибо
0
Монет
0
procedure TForm8.FormCreate(Sender: TObject);
begin
label1.Caption := IntToStr(delphi);

case delphi of
0: image1.Picture.LoadFromFile('10.jpg');
1: image1.Picture.LoadFromFile('1.jpg');
2: image1.Picture.LoadFromFile('2.jpg');
3: image1.Picture.LoadFromFile('3.jpg');
4: image1.Picture.LoadFromFile('4.jpg');
5: image1.Picture.LoadFromFile('5.jpg');
6: image1.Picture.LoadFromFile('6.jpg');
7: image1.Picture.LoadFromFile('7.jpg');
8: image1.Picture.LoadFromFile('8.jpg');
9: image1.Picture.LoadFromFile('9.jpg');
10: image1.Picture.LoadFromFile('0.jpg');
else
image1.Picture.LoadFromFile('10.jpg'); // Загружаем 10.jpg, если значение неизвестно
end;
end;
 
Регистрация
13 Ноя 2012
Сообщения
80
Репутация
1
Спасибо
3
Монет
0
все формы которые ты добавляешь в проект по умолчанию становятся в автосоздание, т.е. все формы создаются на старте программы и обработчик TForm8.FormCreate будет срабатывать только 1 раз, где-то на старте программы. чтобы починить, или вызывать Form8.FormCreate вручную перед показом формы, или перевесить свой код на событие OnShow
 
Регистрация
29 Июл 2013
Сообщения
94
Репутация
-3
Спасибо
0
Монет
0
объявите массив констант

vals: array[0..10] of string = (
'10.jpg', '1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg', '7.jpg',
'8.jpg', '9.jpg', '0.jpg');
и напишите такой обработчик FormCreate:

var delphi: integer;
fileImage: string;
begin
//задаем имя файла для загрузки если переменная delphi
//не находится в диапазоне 0..10
fileImage:=vals[0];
//!!!не заметил где у Вас инициализируется переменная
//delphi, может поэтому в image загружается всегда
//картинка из одного файла

if (delphi>=0) and (delphi<=10) then
fileImage:=vals[delphi];
label1.Caption:=fileImage;
image1.Picture.LoadFromFile(fileImage);

end;
 
Регистрация
7 Апр 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
Зачем так сложно если можно в LoadFromFile склеить число с названием файла? Зачем столько case-ов?
 
Сверху Снизу