Showmessage avisar qual é a imagem maior que esta no TImage?
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.
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
Curtidas 0
Respostas
Jlimajr
17/07/2006
[i:3d55cc2855]Voltar ao topo[/i:3d55cc2855]
GOSTEI 0
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
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:
Gradecido novamente por me ajudar NiGHT_MaN
è 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
17/07/2006
tu ker saber se eh maior em
1) tamanho do arquivo
2) dimensoes da figura
??
1) tamanho do arquivo
2) dimensoes da figura
??
GOSTEI 0
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
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...
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
17/07/2006
Naum entendi o que quer dizer este 21?
Fiz assim mais sempre me diz que a image9 é maior
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
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
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
17/07/2006
se tu tem 20 imagens uso 21,
se tiver 40 images 41...
eh o nº da maior mais + 1;
se tiver 40 images 41...
eh o nº da maior mais + 1;
GOSTEI 0
Jlimajr
17/07/2006
Naum esta reconheçendo esta linha
Erro no compilar
Image9.LoadFromFile(´C:\´+Sorteado1+´.JPG´);
Erro no compilar
[Error] [b:3cb9acc759]Unit1.pas(67): Undeclared identifier: ´LoadFromFile´[/b:3cb9acc759]
GOSTEI 0
Djorius
17/07/2006
Erro meu. Troque por:
Image9.Picture.LoadFromFile(´C:\´+Sorteado1+´.JPG´);
GOSTEI 0
Jlimajr
17/07/2006
Desculpe, sou novo em programação, continua dando erro
linha
linha
Image9.Picture.LoadFromFile(´C:\´+Sorteado1+´.JPG´);
[Error] Unit1.pas(67): Incompatible types: ´String´ and ´Integer´
GOSTEI 0
Jlimajr
17/07/2006
Resolvido com INTTOSTR
Image9.Picture.LoadFromFile(´C:\´+IntToStr(Sorteado1)+´.JPG´);
GOSTEI 0