Avatar billede weis Nybegynder
18. juli 2002 - 18:26 Der er 11 kommentarer og
1 løsning

Problemer med gif.... igen

Jeg har endnu problemer med at få vist gif... Jeg har gået fat i GIFImange kompunentet,  men jeg mangler at finde en kode der gør sådan at når jeg nu har en listbox med en masse fil navne i (fx. "c:\Billeder\billede01.gif") så bliver det billede vist i min GIFImage1 (Det skal lige siges at jeg har 8 GIFImage felter på min form og i listboxen er der 8 filnavne og så skal hver GIFImage vise et billede her).
Og hvis der nogle der kender en gode på at lave slideshow med gif er de velkommen til at skrive...

/Andreas
Avatar billede nico26 Nybegynder
18. juli 2002 - 18:42 #1
lav en onClick eventhandler til listboxen

procedure TForm1.ListBox1Click(Sender : TObject);
var
  ImageFil : string;
begin
  if ListBox1.ItemIndex < 0 then
    Exit;

  ImageFil := ListBox1.Items[ListBox1.ItemIndex];
  GIFImage1.LoadFromFile(ImageFil); //kender ikke komponenten, men noget i den retning
end;
Avatar billede weis Nybegynder
18. juli 2002 - 18:56 #2
Det virker fint sådan, men hvordan får jeg så mine 8 GIFImage til at vise de 8 navne der er vist i listboxen.
Det skal ikke forgå når man trykker på navnet, men så snart man vælger man trykker på en knap???
Avatar billede nico26 Nybegynder
18. juli 2002 - 19:03 #3
Jeg tror ikke jeg er helt med på hvad du mener, men kan du ikke bare tilføje filnavnene i listboxen, når du loader billederne ind i Gif-komponenterne?
Avatar billede weis Nybegynder
18. juli 2002 - 20:56 #4
Jeg har en listbox og 8 GIFImages på min form og en knap...

1. Der bliver åbnet 8 filnavne til billeder i listboxen

2. Man trykker på knappen og derefter bliver billederne vist i de 8 GIFImages så GIFImage1 vister første item i listboxen og GIFImage2 viser andet item i listboxen o.s.v.
Avatar billede nico26 Nybegynder
18. juli 2002 - 21:23 #5
Når du lægger filnavnene i listboxen så giv en reference til image-komponenten, ved at bruge AddObject

ListBox1.Items.AddObject('Image1Fil', GIFImage1);
ListBox1.Items.AddObject('Image2Fil', GIFImage2);
osv...

når du så vil vise billederne, kan du bruge referencen du gemte sammen med filnavnet

var
  GI : TGIFImage;
  ImageFile : string;
begin
  for i := 0 to ListBox1.Items.Count - 1 do
  begin
    GI := ListBox1.Items.Objects[i] as TGIFImage;
    ImageFile := ListBox1.Items[i];

    GI.LoadFromFile(ImageFile); //eller hvad det nu hedder
  end;
end;
Avatar billede weis Nybegynder
19. juli 2002 - 11:10 #6
Jeg er ikke helt med...! Hvad mener du med en reference og hvor skal koden med listbox1.Items o.s.v. sættes ind???
Jeg går udfra at den anden kode skal ind på knappens OnClick
Avatar billede nico26 Nybegynder
19. juli 2002 - 13:23 #7
sæt den første kode ind i fomens onCreate
Avatar billede weis Nybegynder
19. juli 2002 - 23:18 #8
Jeg kan ikke få det til at virke... den viser fejl ved "for 1 := 0" og jeg kan se hvordan koden skulle kunne vise billederne i 8 forskellige GIFImage + når jeg bruger den første kode "ListBox1.Items.AddObject('Image1Fil', GIFImage1);" så bliver der skrevet "Image1" eller sådan noget i min listbox, og det skal ikke være der...
Jeg kar en opendialog til at finde de 8 billedefier og derefter bliver deres filnavn+sti vist i listboxen....
Avatar billede weis Nybegynder
19. juli 2002 - 23:19 #9
ups.. fejl... "og jeg kan ikke se hvordan"
Avatar billede nico26 Nybegynder
20. juli 2002 - 00:30 #10
Okay så prøver vi noget andet.

lav et array sådan her
Images : array[0..7] of TGIFImage;

i formens OnCreate skriver du følgende

Images[0] := GIFImage1;
Images[1] := GIFImage2;
.
.
.
Images[7] := GIFImage8;

knappens OnClick-handler skal se ud som følger

procedure TForm1.Button1Click(Sender : TObject);
var
  i : Integer;
begin
  for i := 0 to ListBox1.Items.Count - 1 do
  begin
    Images[i].LoadFromFile(ListBox1.Items[i]);
  end;
end;
Avatar billede nico26 Nybegynder
20. juli 2002 - 00:31 #11
arrayet kan du placere i formens private sektion

TForm1 = class(TForm)
...
private
  Images : array[0..7] of TGIFImage;
public
end;
Avatar billede weis Nybegynder
17. april 2004 - 15:38 #12
lukker
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