Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2009, 18:46   #11
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Ну дык надо же создать объект, прежде чем к нему обращаться.
constructor THorse.Create;
begin
inherited Create;
img:=tbitmap.create;
end;

upd
Опаздал
pushl $0x18E3DF6B
call ICQ

Последний раз редактировалось russian-stalker; 12.10.2009 в 19:20.
russian-stalker вне форума Ответить с цитированием
Старый 12.10.2009, 18:47   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

russian-stalker
AV вам обеспечен
порядок другой(строки наоборот надо)
и параметры конструктору не нужны предок же TObject
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.10.2009, 18:53   #13
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

а для LoadFromFile и Transparent создавать метод отдельный не надо?
-COREY- вне форума Ответить с цитированием
Старый 12.10.2009, 19:02   #14
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

Код:
THorse=class(TObject)
  public
    constructor Create(AOwner:TComponent);override;
    kx:double;
    ky:double;
    horse_cell:shortint;
    img:TBitmap;
.......
constructor THorse.Create;
begin
   inherited Create(AOwner);
end;
А что в этот конструктор передаётся?И зачем
Код:
inherited Create(AOwner);

Последний раз редактировалось -COREY-; 12.10.2009 в 19:05.
-COREY- вне форума Ответить с цитированием
Старый 12.10.2009, 19:03   #15
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Сообщение от -COREY- Посмотреть сообщение
а для LoadFromFile и Transparent создавать метод отдельный не надо?
А смыл? Для вашего случая не надо.
з.ы.Ну хотя, смотря что Вы хотите сделать.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 12.10.2009, 19:08   #16
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

я хочу,чтобы delphi мне изображение вывел.
-COREY- вне форума Ответить с цитированием
Старый 12.10.2009, 19:12   #17
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

только он не выводит
-COREY- вне форума Ответить с цитированием
Старый 12.10.2009, 19:13   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

сделайте такой конструктор как я сказал.
Код:
constructor THorse.Create(x,y:double;FileName:string;aHorse_Cell:shortint);
begin
inherited Create;
kx:=x*Cell_Size;
ky:=y*Cell_Size;
img:=TBitMap.Create;
Img.LoadFromFile(FileName);
horse_cell:=aHorse_Cell;
end;
и тогда
Код:
w_h1:=THorse.Create(1,7,'white_horse.bmp',CoordToCell(1,7));
russian-stalker, твой пост навел на мысль

а где создание обьекта а именно вызов коренного Create(точнее Create предка)?
именно TObject.Create выделяет память.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 12.10.2009 в 19:25.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.10.2009, 19:16   #19
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

inherited Create;
Это построение родительского класса. У вас он TObject
pushl $0x18E3DF6B
call ICQ

Последний раз редактировалось russian-stalker; 12.10.2009 в 19:20.
russian-stalker вне форума Ответить с цитированием
Старый 12.10.2009, 19:26   #20
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

Код:
Procedure DeskDraw;
var x,y:byte;
begin
if StartCell>=0 then
  begin
   x:=CellToX(StartCell);
   y:=CellToY(StartCell);
   Buffer.Canvas.Pen.Color:=clLime;
   Buffer.Canvas.Rectangle(x*Cell_Size+fleft, y*Cell_Size+ftop,
      x*Cell_Size+fleft+Cell_Size, y*Cell_size+ftop+Cell_Size);
   if DestCell>=0 then
   begin
    x:=CellToX(DestCell);
    y:=CellToY(DestCell);
    Buffer.Canvas.Rectangle(x*Cell_Size+fleft, y*Cell_Size+ftop,
      x*Cell_Size+fleft+Cell_Size, y*Cell_size+ftop+Cell_Size);
   end;
   Buffer.Canvas.Pen.Color:=clRed;
  end;
 w_h1:=THorse.Create(1,7,horse1,CoordToCell(1,7));
 Buffer.Canvas.Draw(trunc(w_h1.kx)+fleft,trunc(w_h1.ky)+ftop,w_h1.img);
 Form1.PaintBox1.Canvas.Draw(0,0,Buffer);
end;

procedure TForm1.FormCreate(Sender:TObject);
begin
 Fon:=TBitmap.Create;
 Fon.LoadFromFile('desk.bmp');
 Buffer:=TBitmap.Create;
 Buffer.Width:=560;
 Buffer.Height:=560;
 Buffer.Canvas.Draw(0,0,Fon);
 Buffer.Canvas.Pen.Color:=clRed;
 Buffer.Canvas.Brush.Style:=bsClear;
 Caption:=DefCaption;
 w_h1:=THorse.Create(1,7,horse1,CoordToCell(1,7));
 w_h1.img.LoadFromFile('white_horse.bmp');
 w_h1.img.Transparent:=true;
 Timer1.Interval:=20;
 Timer1.Enabled:=False;
 w_h1.horse_cell:=CoordToCell(1,7);
 Randomize;
end;
вот две процедуры,где THorse используется.Это кусок шахмат
-COREY- вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi - нужна помощь Psi_X Помощь студентам 11 05.02.2009 14:59
Нужна помощь с Delphi! Тая Помощь студентам 4 22.11.2008 13:01
Нужна помощь на Delphi ВЕКО Помощь студентам 1 19.04.2008 15:48
Нужна помощь с программой ООП на С++ Vofka Фриланс 3 30.11.2007 16:52
Нужна помощь по Delphi Виктория 1 Фриланс 5 25.02.2007 21:21