Avatar billede anold Nybegynder
16. august 2005 - 07:36 Der er 10 kommentarer og
1 løsning

hent image

Hej

Hvordan skriver jeg dette her lidt smarter
jeg ønsker at hente billede 1 fra harddisken, hvis det billede er hentet ønsker jeg at hente billede 2 og omvendt


procedure TFrmHaerdeSeddel.Image2Click(Sender: TObject);
begin
if image2.Picture =('c:\haunstrup\prik_tom.bmp') then
image2.Picture.LoadFromFile := ('c:\haunstrup\prik_fuld.bmp')
  else
  if image2.Picture =('c:\haunstrup\prik_fuld.bmp') then
  image2.Picture.LoadFromFile := ('c:\haunstrup\prik_tom.bmp')

end;
Avatar billede borrisholt Novice
16. august 2005 - 08:08 #1
Noget alla det her :

procedure TFrmHaerdeSeddel.Image2Click(Sender: TObject);
const
  FileName : array[Boolean] of String = ('tom', 'fuld');
begin
  image2.Tag := (image2.tag + 1) mod 2;
  image2.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s.bmp', [FileName[image2.Tag = 0]]));
end;

Sådan lige frit fra leveren.

Jens B
Avatar billede borrisholt Novice
16. august 2005 - 08:09 #2
eller bare

procedure TForm1.Button1Click(Sender: TObject);
const
  FileName : array[0..1] of String = ('tom', 'fuld');
begin
  image2.Tag := (image2.tag + 1) mod 2;
  image2.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s.bmp', [FileName[image2.Tag]]));
end;


Jens B
Avatar billede anold Nybegynder
16. august 2005 - 08:25 #3
Hej Jens B

Tak for hjælpen det virker fint

Hvad nu når jeg har f.eks 10 image hvor der skal ske det samme
f.eks når jeg kligger på image 7 så skal der også 'byttes billede'

kan det laves smart
Avatar billede borrisholt Novice
16. august 2005 - 09:13 #4
Hvis du vil skifte mellem 7 og 8 fx ?

procedure TForm1.Button1Click(Sender: TObject);
const
  FileName : array[0..9] of String = ('tom0', 'fuld0', 'tom1', 'fuld1', 'tom2', 'fuld2', 'tom3', 'fuld3', 'tom4', 'fuld4');
begin
  image2.Tag := (image2.tag + 1) mod 2;
  image2.Tag := image2.Tag + 7;
  image2.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s.bmp', [FileName[image2.Tag]]));
end;

Jens B
Avatar billede borrisholt Novice
16. august 2005 - 13:05 #5
Kunne du bruge det ?

Jens B
Avatar billede anold Nybegynder
17. august 2005 - 06:10 #6
Ja det første virker perfekt,tak, men jeg tror at du misforstod mit 'lille' tillægs spørgsmål
her er lidt 'tåbe' kode :

procedure TFrmHaerdeSeddel.Image13Click(Sender: TObject);
begin
image13.Tag := (image13.tag + 1) mod 2;
  image13.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s12.bmp', [FileName[image13.Tag]]));
end;

procedure TFrmHaerdeSeddel.Image14Click(Sender: TObject);
begin
image14.Tag := (image14.tag + 1) mod 2;
  image14.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s12.bmp', [FileName[image14.Tag]]));
end;

procedure TFrmHaerdeSeddel.Image15Click(Sender: TObject);
begin
image15.Tag := (image15.tag + 1) mod 2;
  image15.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s12.bmp', [FileName[image15.Tag]]));
end;

procedure TFrmHaerdeSeddel.Image16Click(Sender: TObject);
begin
image16.Tag := (image16.tag + 1) mod 2;
  image16.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s12.bmp', [FileName[image16.Tag]]));
end;

procedure TFrmHaerdeSeddel.Image17Click(Sender: TObject);
begin
image17.Tag := (image17.tag + 1) mod 2;
  image17.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s12.bmp', [FileName[image17.Tag]]));
end;

som du kan se så er det kun Imag'er der ændre sig
kan man ikke lave noget med 'sender as TImage' ??

tak for din hjælp
Avatar billede borrisholt Novice
17. august 2005 - 09:35 #7
Nååe ...

Alle OnClick eventsene skal pege på en og samme metode :

procedure TFrmHaerdeSeddel.ImageClick(Sender: TObject);
var
  aImage : TImage;
begin
  aImage := (Sender as TImage);
  aImage.Tag := (aImage.tag + 1) mod 2;
  aImage.Picture.LoadFromFile(Format('c:\haunstrup\prik_%s12.bmp', [FileName[aImage.Tag]]));
end;


Jens B
Avatar billede anold Nybegynder
17. august 2005 - 11:49 #8
Hill dig du store mester
dette er helt perfekt

MANGE TAK
Avatar billede borrisholt Novice
17. august 2005 - 12:49 #9
Så husk at lukke efter dig.

Jens B
Avatar billede borrisholt Novice
17. august 2005 - 13:21 #10
anold>>Du er velkommen.

Du er altid nemt at hjælpe, fordi du har forsøgt selv først. Når du spørger om noget er det altid fordi du sidder fast med noget helt konkret. Det gør det meget nemt at svar på.

He he var lige inde på din profil for at se ... Du har da etenlig været med et stykke tid .... Næsten lige så længe som mig.

Jens B
Avatar billede anold Nybegynder
18. august 2005 - 06:17 #11
Det er rigtigt at jeg har været med længe, men det er ikke så tit at jeg bruger Delphi, så der for får jeg ikke den rutine som det virker som om at i andre har,
men så er det jo godt at jeg kan få hjælp på Eksperten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester