AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Bilder in Dateien einpacken und zur Laufzeit listen/anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder in Dateien einpacken und zur Laufzeit listen/anzeigen

Ein Thema von torud · begonnen am 13. Mär 2007 · letzter Beitrag vom 9. Okt 2007
Antwort Antwort
Seite 2 von 2     12   
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze

  Alt 15. Mär 2007, 12:37
Hallo hab mal dein Prog kurz getestet und folgende Fehler sind Mir aufgefallen.
In der Dll befanden sich keine Bilder, arbeite mal beim erstellen vorsichtshalber mit kompletten Pfaden.
Beim aufruf der Dll hast Du Bilder.dll aufgerufen obwohl deine Dll - dll.dll hieß oder bessergesagt heißt.
Die Bilder hast Du versucht mit Ihrem Namen aufzurufen also 1.jpg usw., Du musst Sie aber mit dem Variablennamen
aufrufen die Du vergeben hast also Bild1, Bild2 usw.
Hoffe das Hilft Dir habs Im Grunde so gelassen bis auf die Zwei Sachen und den Zähler.

Delphi-Quellcode:
var
  Form1: TForm1;
  i :integer;
implementation

{$R *.dfm}

var
  Form1: TForm1;
  i:Integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  h :HINST;
  r :TResourceStream;
  j :TJpegImage;
begin
try
  inc(i); //Zähler nur zur Veranschaulichung
  h := LoadLibrary('dll.dll'); // Falscher Aufruf Bilder.dll
  if h <> 0 then
  begin
    r := TResourceStream.Create(h, 'Bild'+IntTostr(i), 'Jpeg'); //Falscher Bildname '1' anstatt Bild1
    j := TJpegImage.Create;
      try
        j.LoadFromStream(r);
        Image1.Picture.Bitmap.Assign(j);
      finally
        j.Free;
        r.Free;
      end;
  end;
  FreeLibrary(h)
  except
  Showmessage('Mehr Bilder Befinden sich nicht in der Dll !');
  i:=0;
end;
end;

end.
Angehängte Dateien
Dateityp: zip dll_test_neu_181.zip (272,6 KB, 4x aufgerufen)
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#12

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze

  Alt 15. Mär 2007, 13:31
Zitat von torud:
Eigenes Format? Wie meinst Du das? Alle Bilder, die ich nutze, sind png´s. Wie soll ich die in einem eigenen Format speichern???
Na Zum Beispiel so...

Lade Bild in Memorystream..

Dann ein Pattern mit XOR drüberlaufen lassen... Beispiel XOR $55$AA
Und dann speichern...

Schon kann kein Programm die Bilder mehr anzeigen...

Frank
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#13

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze

  Alt 15. Mär 2007, 13:38
@Blackheart, Autsch ne so nicht. Ich habe es dir mal Verbessert.
Einfach schnell und simpel. -.-^
Angehängte Dateien
Dateityp: zip dll_test_neuerrer_200.zip (48,8 KB, 13x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#14

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze

  Alt 15. Mär 2007, 13:54
Zitat von Mavarik:
Lade Bild in Memorystream..
Dann ein Pattern mit XOR drüberlaufen lassen... Beispiel XOR $55$AA
Und dann speichern...

Schon kann kein Programm die Bilder mehr anzeigen...
Hört sich interessant an, aber mit XOR und Konsorten habe ich noch NIE was gemacht...Wäre es dann nicht auch so, dass ich beim Laden des Bildes wieder diese XOR-Routine in umgekehrter Reihenfolge drüberlaufen lassen müsste, um aus dem Datenkram wieder Bilddaten zu machen!?

Vielleicht finde ich ja mal was im Netz dazu. Desweiteren muss ich, so denke ich nun bald ne Entscheidung fällen, ob die Daten nun in eine DLL sollen, oder in ein Zip, oder ob das dann mit der XOR-Variante gar nicht mehr nötig ist...Das klingt nun ziemlich interessant für mich, weil ich dann die Bilder einfach alle weiter in den Verzeichnissen so lassen könnte...*grübel* !?!?
Danke
Tom
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze

  Alt 15. Mär 2007, 14:20
@turboPASCAL Naja gut, aber eigentlich gings ja um torud sein Beispiel und da waren ja im Prinzip nur die zwei Fehler um es zum Laufen zu bringen.
Besser machen kann man es natürlich immer
Blackheart
  Mit Zitat antworten Zitat
taktaky
(Gast)

n/a Beiträge
 
#16

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze

  Alt 9. Okt 2007, 11:16
Zitat von Blackheart:
...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  h :HINST;
  r :TResourceStream;
  j :TJpegImage;
begin
try
  inc(i); //Zähler nur zur Veranschaulichung
  h := LoadLibrary('dll.dll'); // Falscher Aufruf Bilder.dll
  if h <> 0 then
  begin
    r := TResourceStream.Create(h, 'Bild1'+IntTostr(i), 'Jpeg');

    j := TJpegImage.Create;
      try
        j.LoadFromStream(r);
        Image1.Picture.Bitmap.Assign(j);
      finally
        j.Free;
        r.Free;
      end;
  end;
  FreeLibrary(h)
  except
  Showmessage('Mehr Bilder Befinden sich nicht in der Dll !');
  i:=0;
end;
end;

end.
Delphi-Quellcode:

    r := TResourceStream.Create(h, 'Bild1'+IntTostr(i), 'Jpeg'); // Problem mit +IntTostr(i)
// so funktioniert:
//r := TResourceStream.Create(h, 'Bild11', 'JPEG'); // aber (i) hat keine Rolle !
Das Beispiel "dll_test_neuerrer.zip" von @Turbopascal funktioniert super
Die Frage nun, kann man den Code anpassen, so man Video statt Bilder verwendet?

<>
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#17

Re: Bilder in Dateien einpacken und zur Laufzeit listen/anze

  Alt 9. Okt 2007, 11:57
Könntest Du endlich mal damit aufhören, das Forum mit immer derselben Frage zuzuspammen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz