Fórum Showmessage avisar qual é a imagem maior que esta no TImage? #325494

17/07/2006

0

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

Responder

Posts

18/07/2006

Jlimajr

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


Responder

Gostei + 0

18/07/2006

Night_man

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´);



Responder

Gostei + 0

18/07/2006

Jlimajr

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


Responder

Gostei + 0

19/07/2006

Night_man

tu ker saber se eh maior em

1) tamanho do arquivo
2) dimensoes da figura

??


Responder

Gostei + 0

19/07/2006

Jlimajr

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.


Responder

Gostei + 0

19/07/2006

Night_man

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...


Responder

Gostei + 0

20/07/2006

Jlimajr

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;



Responder

Gostei + 0

20/07/2006

Djorius

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.


Responder

Gostei + 0

20/07/2006

Djorius

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;



Responder

Gostei + 0

20/07/2006

Night_man

se tu tem 20 imagens uso 21,

se tiver 40 images 41...

eh o nº da maior mais + 1;


Responder

Gostei + 0

20/07/2006

Jlimajr

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]



Responder

Gostei + 0

20/07/2006

Djorius

Erro meu. Troque por:

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



Responder

Gostei + 0

24/07/2006

Jlimajr

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´



Responder

Gostei + 0

25/07/2006

Jlimajr

Resolvido com INTTOSTR

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



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar