Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.74
torinets
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 22
#1

Вставка изображения - Delphi

23.04.2010, 20:12. Просмотров 5387. Ответов 7
Метки нет (Все метки)

Здравствуйте, извините за глупый вопрос, но я вообще плохо зная DELPHI.
Мне нужно создать простенькую прогу, я пишу в t.Edit число нажимаю button и должна выходить картинка в Timage. Числа в Tedit я пишу от 1 до 10 и взависимости от числа которое я ввожу должна выводится разная картинка. 10 картинок я для этого подготовил.

Мой уровень знания остановился на этом

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.btn1Click(Sender: TObject);
begin
if edt1 = 1   then
 
begin
 img1.Picture.LoadFromFile('D:\Nature\1.jpg');
 
end;
 
end.
Помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2010, 20:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вставка изображения (Delphi):

Вставка изображения по определенным координатам - Delphi
Помогите решить вопрос. Нужно собрать изображение поверх другого. В программе реализовано перетаскивание компонента TImage....

вставка - Delphi
У меня есть папай меню в ней строчки копировать вставить .Как сделать так чтобы копировалось все а встовлялось только цифры и если можно...

ассемблерная вставка - Delphi
Разделить один массив на два: в первый передать элементы с нечетными индексами, во второй с четными. Помогите сделать процедуру...

Вставка кода - Delphi
У меня есть код для тестов. Первый код их открытия: procedure TForm1.N5Click(Sender: TObject); //открытие тестов begin ...

Вставка текста - Delphi
В окне есть чат,который открывается с помощью кнопки ф6 keybd_event(VK_F6, 0, 0, 0); keybd_event(VK_F6, 0, KEYEVENTF_KEYUP, 0); в...

Вставка на асме - Delphi
подскажите пожалуйста, как вот это правильно написать на асме: mov ah,data^ mov al,data mov data^,al mov...

7
Анна
0 / 0 / 0
Регистрация: 11.05.2008
Сообщений: 34
23.04.2010, 20:25 #2
пишешь так

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.btn1Click(Sender: TObject);
var n: integer;
begin
n := edit1.text
case n of
 1: img1.Picture.LoadFromFile('D:\Nature\1.jpg');
 2: ..
..
 10..
 end;
end;

end.
0
Mawrat
12801 / 5709 / 675
Регистрация: 19.09.2009
Сообщений: 8,807
23.04.2010, 20:55 #3
Удобней в одну строку:
Delphi
1
2
3
4
procedure TForm1.btn1Click(Sender: TObject);
begin
  img1.Picture.LoadFromFile('D:\Nature\' + Edit1.Text + '.jpg');
end;
0
torinets
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 22
23.04.2010, 23:52  [ТС] #4
Спасибо большое, сейчас проверю.

Добавлено через 23 минуты
Сделал так выдаёт ошибку на слове CASE
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;
 
type
  TForm1 = class(TForm)
    btn1: TButton;
    edt1: TEdit;
    img1: TImage;
    procedure btn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.btn1Click(Sender: TObject);
 
var n: integer;
begin
n := edt1.text
  [COLOR="Red"]case[/COLOR] n of
 1: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\1.jpg');
 2: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\2.jpg');
 3: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\3.jpg');
 4: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\4.jpg');
 5: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\5.jpg');
 6: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\6.jpg');
 7: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\7.jpg');
 8: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\8.jpg');
 9: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\9.jpg');
 0: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\0.jpg');
 
end;
 end.
0
Mawrat
12801 / 5709 / 675
Регистрация: 19.09.2009
Сообщений: 8,807
23.04.2010, 23:57 #5
Причина вот в чём:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.btn1Click(Sender: TObject);
 
var n: integer;
begin
  //Внимание, в конце этой строки не поставлена точка с запятой. Поэтому возникла ошибка.
  n := edt1.text
  case n of
    1: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\1.jpg');
    2: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\2.jpg');
    3: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\3.jpg');
    4: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\4.jpg');
    5: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\5.jpg');
    6: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\6.jpg');
    7: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\7.jpg');
    8: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\8.jpg');
    9: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\9.jpg');
    0: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\0.jpg');
  end;
end.
Удобнее сделать так:
Delphi
1
2
3
4
procedure TForm1.btn1Click(Sender: TObject);
begin
  img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\' + edt1.Text + '.jpg');
end;
0
torinets
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 22
24.04.2010, 00:18  [ТС] #6
Цитата Сообщение от Mawrat Посмотреть сообщение
Причина вот в чём:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.btn1Click(Sender: TObject);
 
var n: integer;
begin
  //Внимание, в конце этой строки не поставлена точка с запятой. Поэтому возникла ошибка.
  n := edt1.text
  case n of
    1: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\1.jpg');
    2: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\2.jpg');
    3: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\3.jpg');
    4: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\4.jpg');
    5: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\5.jpg');
    6: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\6.jpg');
    7: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\7.jpg');
    8: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\8.jpg');
    9: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\9.jpg');
    0: img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\0.jpg');
  end;
end.
Удобнее сделать так:
Delphi
1
2
3
4
procedure TForm1.btn1Click(Sender: TObject);
begin
  img1.Picture.LoadFromFile('D:\учеба\ТОАУ\1 Лаба\pic\' + edt1.Text + '.jpg');
end;
Как вы сказали в первом варианте поставил точку с запятой, толку 0.
Во втором варианте сделал как вы сказали
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;
 
type
  TForm1 = class(TForm)
    btn1: TButton;
    edt1: TEdit;
    img1: TImage;
    procedure btn1Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.btn1Click(Sender: TObject);
 
var n: integer;
begin
img1.Picture.LoadFromFile('D:\ГіГ·ГҐГЎГ*\Г’ГЋГЂГ“\1 Г‹Г*ГЎГ*\pic\' + edt1.Text + '.jpg');
 
end;
 end.
[/QUOTE]
Пишу число например 1, выходит ошибка ( она во вложениях)
0
Миниатюры
Вставка изображения   Вставка изображения  
Mawrat
12801 / 5709 / 675
Регистрация: 19.09.2009
Сообщений: 8,807
24.04.2010, 01:09 #7
А, это же JPG... Чтобы работать с JPG файлами, надо подключить модуль Jpeg. В нём объявлен класс TJpegImage. Вот через него надо работать с JPG файлами. Попробуй так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
uses
  Jpeg;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  JpgImg : TJpegImage;
begin
  JpgImg := TJpegImage.Create;
  JpgImg.LoadFromFile('D:\ГіГ·ГҐГЎГ*\Г’ГЋГЂГ“\1 Г‹Г*ГЎГ*\pic\' + edt1.Text + '.jpg');
  img1.Picture.Bitmap.Assign(JpgImg);
  JpgImg.Free;
end;
1
torinets
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 22
24.04.2010, 10:14  [ТС] #8
Спасибо большое, всё заработало!!!!
0
24.04.2010, 10:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2010, 10:14
Привет! Вот еще темы с ответами:

вставка строки - Delphi
Здравствуйте! Помогите пожалуйста исправить ошибку. Давн вумерный массив размерностью m*n. После каждой нечётной строки нужно вставить...

Вставка картинки - Delphi
Как вставить картинку в форму?

Вставка текста - Delphi
Пользователь вводит в едит число и в ричедит должна выводится строка, которая будет повторяться столько раз сколько пользователь написал....

вставка на асм - Delphi
подскажите вот задолбался. Надо код написать по обработке строки но он слишком скудный решил писать его вставкой но забыл как. Сложность не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru