Autor Beitrag
B4571
Hält's aus hier
Beiträge: 4

Win XP
D3 Pers
BeitragVerfasst: Sa 08.01.05 22:31 
Hi.
Ich hab mal 'ne Frage. Nein, eigentlich sind es zwei, aber egal, ich hoffe ich bekomme auf beide eine Antwort :)

Also, ich hab vor ein paar Bilder in Delphi zu tun. Bloss leider sind es so um die 50 und alle hintereinander (ein Bild, dann das nächste usw.) sind zu gross, da lädt er schon bei 4 Bildern ewig.
Jetzt hab ich vor die Bilder als *.jpg reinzutun, weil sie da nur knapp 2 MB gross sind (als bmp ungefähr 60 :shock: ) und so zu machen dass ich ein bild nach dem anderen auswählen kann.
Jetzt würd' ich zuerst gerne wissen wie ich da jpg's reinbring (ich will sie in der exe oder 'ner extra Datei drinhaben, nicht so dass ich die aus der Datei auswähl) und wie ich die am besten einzeln auswählen kann.
Das einzeln auswählen hab ich mir überlegt mach ich mit 'ner Trackbar, also so dass wenn der Pfeil bei 5 ist dass er dann das 5te bild lädt.

Danke schonmal im Voraus ;)

Edit: Hab btw. Delphi 3, kann sein dass es da ein paar Sachen noch nicht gibt...
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 08.01.05 22:35 
Du kannst sie in eine Suche in: Delphi-Forum, Delphi-Library TIMAGELIST laden, als Suche in: Delphi-Forum, Delphi-Library RESSOURCE einbinden oder sie per Suche in: Delphi-Forum, Delphi-Library LOADFROMFILE dynamisch ins Programm laden.

Die Delphi-Hilfe bietet dir alle Infos, die du brauchst!
B4571 Threadstarter
Hält's aus hier
Beiträge: 4

Win XP
D3 Pers
BeitragVerfasst: Sa 08.01.05 22:49 
Also Bilder in die Imagelist laden versteh ich noch, aber das
ausblenden Delphi-Quelltext
1:
procedure LoadFromFile(const FileName: string);					

Check ich nicht.

Moderiert von user profile iconKlabautermann: Code- durch Delphi-Tags ersetzt.
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 08.01.05 22:53 
Damit ist nichts anderes gemeint als folgendes:
ausblenden Delphi-Quelltext
1:
Image1.Picture.LoadFromFile('C:\Bilder\Bild1.jpg');					

Du lädst ein Bild dynamisch, weil es nicht in die exe einkompiliert wird. Beim nächsten Aufruf mit einem anderen Bildnamen wird ein anderes Bild ins Image geladen und das andere ist wieder raus aus dem Speicher.
B4571 Threadstarter
Hält's aus hier
Beiträge: 4

Win XP
D3 Pers
BeitragVerfasst: Sa 08.01.05 23:03 
Ok, bleibt noch das Problem mit den JPGs, wenn ich da eins laden will schmiert's nämlich ab...
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 08.01.05 23:07 
Achso, darfst natürlich nicht vergessen die Unit "jpeg" oben in die uses-Liste aufzunehmen.
B4571 Threadstarter
Hält's aus hier
Beiträge: 4

Win XP
D3 Pers
BeitragVerfasst: So 09.01.05 17:54 
Hm, ich hab jetzt noch ein kleines Problem, wenn ich alle Bilder durchlaufen lassen will, so dass es die Bilder automatisch hintereinander anzeigt, macht er zwar die Schleife, zeigt mir aber immer nur das letzte Bild an :?:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button2Click(Sender: TObject);
begin
  picstart:=1;
  repeat
   begin
    sleep(time);
    trackbar1.position:=picstart+1;
    Image1.Picture.LoadFromFile(path + '\Bild' + IntToStr(picstart) + '.jpg');
    edit1.text:=IntToStr(picstart+1);
    progressbar2.position:=picstart;
    picstart:=picstart+1;
   end;
  until picstart=picstop;
  end;


Moderiert von user profile iconKlabautermann: Code- durch Delphi-Tags ersetzt.
aHa
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 04.02.05 14:26 
Es wäre wohl sinnvoller, das ganze mit einem Timer anstatt der sleep-funktion zu machen...
Bzw. wenn du es unbedint via sleep realisieren willst, dann musst du beachten, dass er zwischendurch auch deine aktionen ausführt. Sprich: dass er die Messages von (und an) Windows verarbeitet.

Füge deshalb bei jedem Schleifendurchlauf noch ein
application.ProcessMessages;
hinzu...