Einzelnen Beitrag anzeigen

Benutzerbild von entwickler
entwickler

Registriert seit: 16. Feb 2011
Ort: Herten
78 Beiträge
 
Delphi 5 Professional
 
#47

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen

  Alt 22. Nov 2011, 09:40
Danke, DeddyH, die DLL funktioniert einwandfrei.
Und speichern kann ich die Dateien auch ganz leicht mit dem Einzeiler:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FDLLHandle := LoadLibrary(PChar(ExtractFilePath(ParamStr(0)) + 'imagedll.dll'));
  Randomize;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if FDLLHandle <> 0 then
    FreeLibrary(FDLLHandle);
end;

procedure TForm1.LoadPokemon(Index: Cardinal; aPicture: TPicture);
var
  ResStream: TResourceStream;
  png: TPngObject;
begin
  Assert((FDLLHandle <> 0) and Assigned(aPicture));
  if (Index < 1) or (Index > MAXPICINDEX) then
    raise Exception.CreateFmt('Index muss zwischen 1 und %d liegen.', [MAXPICINDEX]);
  ResStream := TResourceStream.CreateFromID(FDLLHandle, Index, RT_RCDATA);
  try
    ResStream.Position := 0;
    png := TPngObject.Create;
    try

// Einzeiler:
      ResStream.Savetofile('D:\Projekt_Pokémon\Bild.png'); // oder wo auch immer

      png.LoadFromStream(ResStream);
      aPicture.Assign(png);
    finally
      png.Free;
    end;
  finally
    ResStream.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  LoadPokemon(Random(MAXPICINDEX) + 1, Image1.Picture);
end;
Danke nochmal an euch alle
Ihr habt mir echt weitergeholfen!
Traue einem PC nur soweit, wie du ihn werfen kannst.
  Mit Zitat antworten Zitat