Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Динамическое создание массива компонента Image и потом работа с ними.

32K
26 февраля 2009 года
Агроном
28 / / 14.11.2008
Здравствуйте все! У меня возникла проблема:
надобно создать массив компонентов Image а потом работать с ними также как если просто его перенести с палитры компонентов. И вот беда! Не выходит чтот! Вот исходник, кто может направьте меня в нужную сторону!!!
----------------------------------------------------------------------------
#include "Unit1.h"
#include "Graphics.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TImage *Image[5];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Puth[5] =
{
"C:\\1.jpg",
"C:\\2.jpg",
"C:\\3.jpg",
"C:\\4.jpg",
"C:\\5.jpg"
}
for (int i=0;i<5;i++)
{
Image = new TImage(Form1);
Image->Parent = Form1;
Image->Picture->LoadFromFile(Puth);
}
}
//---------------------------------------------------------------------------
Происходит ошибка уже до компиляции во время написания кода!!!
:confused:
276
26 февраля 2009 года
Rebbit
1.1K / / 01.08.2005
Цитата: Агроном
Происходит ошибка уже до компиляции во время написания кода!!!
:confused:


Ето как ???

1.9K
26 февраля 2009 года
GreenRiver
451 / / 20.07.2008
Цитата: Rebbit
Ето как ???


Засыпает наверное :)

По теме: нужна точка с запятой после инициализации масива. И необязательно на самом деле подключать "Graphics.hpp", подключение vcl в заголовочном файле вполне достаточно :)

44K
28 февраля 2009 года
Master Lee
5 / / 28.01.2009
Агроном, в Вашем коде не хватает ";" после объявления массива Puth. Но приведенный Вами код работать не будет с JPEG, т.к. обычный TImage не приспособлен к работе с JPEG. Необходимо сделать следующее:

 
Код:
#include <jpeg.hpp>
TJPEGImage * Images = new TJPEGImage;
Images->LoadFromFile(Edit1->Text);


Тогда все заработает...
Решение задачи:
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <jpeg.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TJPEGImage  *Image[5];
TImage  *Image2[5];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Puth[5] =
{
"C:\\1.jpg","C:\\2.jpg","C:\\3.jpg","C:\\4.jpg","C:\\5.jpg"
};
for (int i=0; i<5; i++)
{
Image = new TJPEGImage;
Image2 = new TImage(Form1);
Image2->Parent = Form1;
Image->LoadFromFile(Puth);
Image2->Picture->Assign(Image) ;
}
}
255
01 марта 2009 года
Dart Bobr
1.4K / / 09.04.2004
Может при регистрации на форуме сделать набольшой тест - на умение пользоваться тегами при написании постов? Запарило уже читать неотформатированый код...
32K
03 марта 2009 года
Агроном
28 / / 14.11.2008
Всем спасибо за ответы и внимание!Все получилось!Но вот теперь подскажите, как мне по динамически созданному объекту например тот же Image соообразить обработчик собития например OnClick?
92
03 марта 2009 года
Тень Пса
2.2K / / 19.10.2006
Нездешний, точняк...

Автор, а еще по форуму поищи.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог