Показать сообщение отдельно
  #5  
Старый 02.04.2014, 16:03
ABATAP3D ABATAP3D вне форума
Прохожий
 
Регистрация: 01.04.2014
Сообщения: 3
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию

спасибо буду знать!

У меня появился вопрос! скажите а где и как разместить к примеру.
Код:
Form1.Image1.Picture.LoadFromFile('C:\Users\макс\Desktop\Dok\image\31.jpg');
будет 31 картинка использоваться! Но без координат-опробовать нужно
Код:
Form1.ClientHeight:=400+5*d;
Form1.ClientWidth:=500+6*d;
Код:
width:=100;
    height:=100;
    Left:=j*d+100*(j-1);
    Top:=i*d+100*(i-1); 

- самому расставлять нужно имеджи! и за каждым имейджем было закреплена картинка но они выводились в рандомном порядке подскажите где их поставить в коде? И чтобы по коду работало! по этому к примеру.
только чтобы имейджи выходили рандомно но в самих имейджах картинки не должны выходить рандомно так как они закреплены CODE]Form1.Image1.Picture.LoadFromFile('C:\Users\макс\D esktop\Dok \image\31.jpg');[/code]

Код:
type
  TForm1 = class(TForm)
    Image1: TImage;
  procedure FormCreate(Sender: TObject);
  private
  procedure MasClick(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  mas:array[1..20] of TImage; //масив из 20 имадже
  m1,m2:set of byte; //множество номеров и тагов имеджей
  n:integer=0; //количество кликов
 
implementation
 
{$R *.dfm}
//создание массива
procedure TForm1.FormCreate(Sender: TObject);
var i,j,k,d:byte;
begin
randomize;
d:=10;
Form1.ClientHeight:=400+5*d;
Form1.ClientWidth:=500+6*d;
for i:=1 to 4 do
for j:=1 to 5 do
 begin
  k:=5*(i-1)+j;
  mas[k]:=TImage.Create(Form1);
  with mas[k] do
   begin
    Parent:=Form1;
    width:=100;
    height:=100;
    Left:=j*d+100*(j-1);
    Top:=i*d+100*(i-1);
    canvas.Brush.Color:=clWhite;
    tag:=k; //здесь переменная
    visible:=false;//все прячем
    OnClick:=MasClick
  end;
 end;
i:=1+random(20); //один показываем
m1:=[i];
m2:=[];
mas[i].Visible:=true;
end;
//процедура клика на имадже
procedure TForm1.MasClick(Sender: TObject);
var i:byte;
begin
if (sender is timage)then
 begin
  if not((sender as timage).Tag in m2) and(n<19)then
 //показываем очередной случайный
   begin
    repeat
     i:=1+random(20);
    until not(i in m1);
    m1:=m1+[i];
    m2:=m2+[(sender as timage).Tag ];
    mas[i].Visible:=true;
    n:=n+1;
   end
  else
   begin
    showmessage('Game over');
    for i:=1 to 20 do
    mas[i].Visible:=false;
    n:=0;
    i:=1+random(20); //один показываем
    m1:=[i];
    m2:=[];
    mas[i].Visible:=true;
   end;
 end;
end;
 
end.
Ответить с цитированием