Showmessage avisar qual é a imagem maior que esta no TImage?

Delphi

17/07/2006

Boa tarde amigos Delphianos.

To com um problema sobre imagens

Tenho varias imagens com nomes assim:
image1.jpg
image2.jpg
...
...
até image40.jpg

ai tenho dois componentes TImage
sao sorteados algumas imagens e quando dou um clique na imagem ele vai aparecer no uma no TImage9 e outra imagem no TImage10.

A image1.jpg é a maior de todas e a image40.jpg é a menor de todas.

O que eu gostaria de saber é como posso fazer para vamos supor se eu clicar na image10.jpg e na image4.jpg, comparar o TImage9 e o TImage10 e um show message me avisar que a image10.jpg é menor que a image4.jpg. Lembrando que sempre será sorteados imagens variadas.

Ai que naum sei como fazer, se uso um IF, CASE etc.


Gradecido a ajuda de todos.


Jlimajr

Jlimajr

Curtidas 0

Respostas

Jlimajr

Jlimajr

17/07/2006

[i:3d55cc2855]Voltar ao topo[/i:3d55cc2855]


GOSTEI 0
Night_man

Night_man

17/07/2006

se o ´mair´ quer dizer com as dimensoes maior

  if (Image9.Picture.Width * Image9.Picture.Height >
      Image10.Picture.Height * Image10.Picture.Height) then
      ShowMessage(´9 > 10´)
  else
      ShowMessage(´9 <= 10´);



GOSTEI 0
Jlimajr

Jlimajr

17/07/2006

Naum, naum é maior no tamanho como posso explicar:

è que a image1 sempre será maior que a image2 ai na hora do sorteio jogo a image que eu tiver dentro de um timage no caso timage9 e um ttimer joga outra image no timage10. ai preciso comparar por codigo se a imagem que esta no timage9 é maior que esta no timage10.

Mais naum sei se é assim:

if image9.picture > image10.picture then
showmessage(´Ponto para o Zé´)
else
showmessage(´Ponto para o micro´);
end;


Gradecido novamente por me ajudar NiGHT_MaN


GOSTEI 0
Night_man

Night_man

17/07/2006

tu ker saber se eh maior em

1) tamanho do arquivo
2) dimensoes da figura

??


GOSTEI 0
Jlimajr

Jlimajr

17/07/2006

Naum, acho que naum expliquei, é o seguinte as imagens saum numeros Image1 é numero 1, Image2 é numero 2 e assim por diante, entaum faço um sorteio dos numeros com o random ai mendo uma image que no caso um numero tipo numero 10 para o timage9 e automaticamente o computador com um timer manda uma imagem que pode ser um numero qualquer tipo 20 no timage10 o numero 20 pertence ao arquivo image20 ai preciso fazer uma comparaçao que o image20 é menor que o image10, pois o image1 é o numero maior, é um sorteio de um jogo que estou tentando bolar.


GOSTEI 0
Night_man

Night_man

17/07/2006

tu tem o numero sorteado nao?

tipo o 10, ou 20.

vamos dizer que o da Image9 esta em sorteado1 e o da image10 esta em sorteado2, ok?



if (21 - Sorteado1 > 21 - Sorteado2) then
ShowMessage(´Image9 eh maior´)
else
ShowMessage(´Image10 eh maior´)


ve se eh isso... nao te entendi muito bem...


GOSTEI 0
Jlimajr

Jlimajr

17/07/2006

Naum entendi o que quer dizer este 21?

Fiz assim mais sempre me diz que a image9 é maior

procedure TForm1.Button2Click(Sender: TObject);
var
sorteado1, sorteado2 : integer;
begin
if (9 - Sorteado1 > 9 - Sorteado2) then
ShowMessage(´Image9 eh maior´) 
else
ShowMessage(´Image10 eh maior´);

end;



GOSTEI 0
Djorius

Djorius

17/07/2006

cara, as variáveis sorteado1 e sorteado2 teriam que ser variáveis globais, ou estarem no public ou private do form. na hora que você sorteia as imagens você deve ´setar´ essas variáveis com os números que foram sorteados pelo Random. Ai, você executa a rotina que o night_man passou que vai funcionar.


GOSTEI 0
Djorius

Djorius

17/07/2006

melhor com um exemplo, né?

public
    { Public declarations }
    procedure SorteiaImagens;
    procedure VerificaMaior;
  end;

var
  Form1: TForm1;
  Sorteado1, Sorteado2: Integer;

implementation

{$R *.dfm}

procedure TForm1.SorteiaImagens;
begin
   Randomize;
   Sorteado1 := Random(11);
   Sorteado2 := Sorteado1;
   while Sorteado2=Sorteado1 do Sorteado1 := Random(11);
   //
   Image9.LoadFromFile(´C:\´+Sorteado1+´.bmp´);
   Image10.LoadFromFile(´C:\´+Sorteado2+´.bmp´);
end;

procedure TForm1.VerificaMaior;
begin
   if (9 - Sorteado1 > 9 - Sorteado2) then 
   ShowMessage(´Image9 eh maior´) 
   else 
   ShowMessage(´Image10 eh maior´);
end;



GOSTEI 0
Night_man

Night_man

17/07/2006

se tu tem 20 imagens uso 21,

se tiver 40 images 41...

eh o nº da maior mais + 1;


GOSTEI 0
Jlimajr

Jlimajr

17/07/2006

Naum esta reconheçendo esta linha

 Image9.LoadFromFile(´C:\´+Sorteado1+´.JPG´);


Erro no compilar

[Error] [b:3cb9acc759]Unit1.pas(67): Undeclared identifier: ´LoadFromFile´[/b:3cb9acc759]



GOSTEI 0
Djorius

Djorius

17/07/2006

Erro meu. Troque por:

Image9.Picture.LoadFromFile(´C:\´+Sorteado1+´.JPG´);



GOSTEI 0
Jlimajr

Jlimajr

17/07/2006

Desculpe, sou novo em programação, continua dando erro

linha
Image9.Picture.LoadFromFile(´C:\´+Sorteado1+´.JPG´);


[Error] Unit1.pas(67): Incompatible types: ´String´ and ´Integer´



GOSTEI 0
Jlimajr

Jlimajr

17/07/2006

Resolvido com INTTOSTR

Image9.Picture.LoadFromFile(´C:\´+IntToStr(Sorteado1)+´.JPG´);



GOSTEI 0
POSTAR