Avatar billede weis Nybegynder
21. juni 2001 - 13:05 Der er 12 kommentarer og
1 løsning

forskellige billeder

hej....

Jeg har et problem med at få nogle billeder vist i der ligger i sammen mappe, sådan at når man bruger en ComboBox med en række navne i så ændres en labels caption med denne kode...

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  if ComboBox1.text = (\'Peter Hansen\') then Label1.Caption:=\'Peter Hansen\';
  end;

Hvis jeg nu skulle bruge den samme kode til at få et billede frem i et Image felt. Hvad skal jeg så skrive.
Man skal gå udfra at der er en 26 navne i ComboBoxen og jeg har billederne til at ligge i sammen mappesom alle de andre filer i programmet...
Billedet i det her forsøg hedder \"Peter.jpg\"

Hilsen Andreas
Avatar billede ziron Nybegynder
21. juni 2001 - 13:23 #1
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  if ComboBox1.text = (\'Peter Hansen\') then Image1.Picture.LoadFromFile(\'Peter.jpg\');
  end;


/ZIRON
Avatar billede martinlind Nybegynder
21. juni 2001 - 13:25 #2
Det første du skal, er at have en parrel list med billedfil navnene, så er det bare at sige Image.Picture.LoadFromFile(\'peter.jpg\');

Det du kunne gøre var at gemme det tilhørende billed-filnavn i Object\'s på dine comboItems, Du kan gemme en PChar i Object[Cnt] og så i den ChangeEvent plukke billedfilnavnet fra
PChar(ComboBox1.Item.Objects[ComboBox1.ItemIndex]);

/Martin
Avatar billede weis Nybegynder
21. juni 2001 - 13:35 #3
-->> martinlind.

jeg har prøvet zirons forslag med kunne ikke bruge det, så hvis du lige vil skære det du fortæller helt ud i pap, for jeg har aldrig prøvet at arbejde med de ting du forslår det, men det virker som en god idé...

/Andreas
Avatar billede martinlind Nybegynder
21. juni 2001 - 13:41 #4
Hvordan fylder du dine tekster ind i din Combobox ?

/Martin
Avatar billede weis Nybegynder
21. juni 2001 - 14:11 #5
Jeg bruger Items ude i object inspektor
Avatar billede martinlind Nybegynder
21. juni 2001 - 14:22 #6
Så vil jeg foreslå du laver en listbox ved siden af, som sætter \"Visible\" til FALSE, indsætter syncront hvilke billedfilnavne du skal bruge.

Derefter er det bare at skrive sådan i din ChangeEvent :

Image1.Picture.LoadFromFile(ComboBox2.Items[ComboBox1.ItemIndex]);

/Martin
Avatar billede weis Nybegynder
22. juni 2001 - 08:44 #7
-->> martinlind...

Hva\' er syncront og hvordan virker det???

/Andreas
Avatar billede martinlind Nybegynder
22. juni 2001 - 09:14 #8
Det er bare en \"dansk\" ord, ved du ikke hvad synkront betyder, det betyder at hvis Peter står i line 3, så skal hans billedfilnavn også være i line 3 i den anden listbox, det er synkront, har du aldrig set synkron svømning ??

/Martin
Avatar billede weis Nybegynder
22. juni 2001 - 09:34 #9
Skal jeg så bar lave en masse linjer som....

Peter.jpg
Hanne.jpg
Søren.jpg
Lone.jpg

Og det er det????? ikke noget med at man skal sammenkæde eller ligende......?

/Andreas
Avatar billede martinlind Nybegynder
22. juni 2001 - 09:36 #10
Nej, for det sker her :

Image1.Picture.LoadFromFile(ComboBox2.Items[ComboBox1.ItemIndex]);

denne line index\'er ind i ComboBox2 med ComboBox1\'s ItemIndex.

/Martin
Avatar billede martinlind Nybegynder
22. juni 2001 - 09:37 #11
Normalt ville man nok lægge det hele i en lille database, med en record indeholdene Navn og billed.

/Martin
Avatar billede weis Nybegynder
22. juni 2001 - 10:00 #12
Nu skrev jeg hele stigen:
C:\\...\\...\\...\\Peter.jpg
og det virker fint......

Tak
Avatar billede martinlind Nybegynder
22. juni 2001 - 10:22 #13
Selv tak.
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