|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Процедуры и указание компонентов
Доброго времени суток)
Не как не могу сделать процедуру что бы в качестве входных данных можно было указывать номер компонента(Это всегда будет TImageX) и форму на которой он находиться.Вот моя процедура procedure LoadAva (ImageName:string;FormNumber:TForm;ImageNumber:TIm age);//вот я её объясил Код:
procedure TForm1.LoadAva(ImageName: string; FormNumber: TForm; //Тело ImageNumber: TImage); begin If FileExists(Serverdir+imageName+'.bmp') then begin Form1[FormNumber].Image[ImageNumber].Picture.LoadFromFile(Serverdir+imageName+'.bmp'); end else begin If FileExists(Serverdir+'DefaultAvatar.bmp') then begin Form[FormNumber].Image[ImageNumber].LoadFromFile(Serverdir+'DefaultAvatar.bmp'); end; end; end; lmikle: Пользуемся тегами! Сори если мимо написал Последний раз редактировалось lmikle, 02.02.2013 в 02:00. |
#2
|
||||
|
||||
А так разве недостаточно?
Код:
procedure TForm1.LoadAva(ImageName : String; Image : TImage); begin if FileExists(Serverdir+imageName+'.bmp') then Image.Picture.LoadFromFile(Serverdir+imageName+'.bmp') else if FileExists(Serverdir+'DefaultAvatar.bmp') then Image.LoadFromFile(Serverdir+'DefaultAvatar.bmp'); end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
||||
|
||||
Да это работает на 1 форме,на когда я вызываю процедуру с другой формы,мне надо сделать тоже самое тока уже с другим TImage
|
#4
|
|||
|
|||
Ну и? Это работает для любого Image, не зависимо от того, на какой форме он лежит. только можно процку сделать глобальной или методом класса.
Код:
unit ImageLoader; interface uses ... procedure LoadAva(ImageName : String; Image : TImage); implementation procedure LoadAva(ImageName : String; Image : TImage); begin if FileExists(Serverdir+imageName+'.bmp') then Image.Picture.LoadFromFile(Serverdir+imageName+'.bmp') else if FileExists(Serverdir+'DefaultAvatar.bmp') then Image.LoadFromFile(Serverdir+'DefaultAvatar.bmp'); end; end. И использование соотв.: Код:
LoadAva('file1.bmp',Form1.Image1); LoadAva('file2.bmp',Form2.Image1); LoadAva('file3.bmp',Form2.Image2); ... ЗЫ. Это просто как вариант. Еще можно сделать базовую форму с нужным методом, а потом все формы , которые должны иметь такой функционал, наследовать от этой формы... |
#5
|
||||
|
||||
Все,спасибо,просто когда вызываю с другой формы надо писать Form1.LoadAva(...); ))
|