Binäre Ressource



  • Guten Abend,

    (hoffe mal dass ich im richtigen forum bin..^^)

    Ich würde gerne eine Binäre Datei
    als Ressource in ein Programm einbinden,
    und sie dann im Programm laden und
    als Datei wieder ausgeben.

    Also das mit dem "in Dateien schreiben"
    klappt ganz gut, aber ich schaffe es
    einfach nicht eine Binäre Datei als
    Ressource einzubinden..

    Vielen Dank schon mal für die Hilfe 🙂


  • Mod

    Suche nach RCDATA in der MSDN.

    Oder erzeuge einfach über den Ressourcen-Editor eine neue Ressource vom Typ RCDATA.

    Ansonsten gidf: FindResource,LoadResource,SizeOfResource...



  • Ja, das kenn ich schon..

    leider verstehe ich das nicht..

    resname RCDATA
    {
    "Here is an ANSI string\0", // explicitly null-terminated
    L"Here is a Unicode string\0", // explicitly null-terminated
    1024, // integer, stored as WORD
    7L, // integer, stored as DWORD
    0x029a, // hex integer
    0o733, // octal integer
    }

    Wo soll ich da denn den Dateinamen oder so angeben?


  • Mod

    Hinter RCDATA einfach den Dateinamen angeben.

    resname RCDATA "myfile.data"



  • Und wie soll die ich Ressource dann laden/ausgeben?

    Ein Beispiel Programm wäre nett,
    sonst halt msdn Stichwörter 🙂


  • Mod

    weißnixXx schrieb:

    Und wie soll die ich Ressource dann laden/ausgeben?

    Ein Beispiel Programm wäre nett,
    sonst halt msdn Stichwörter 🙂

    Du weißt wie man ene Datei öffnet und beschreibt?
    CreateFile, CStdioFile, CFile...

    PS: Irgendwie fehlt mir bei Deinen Fragen die Eigeninitative!



  • Ja, vielleicht 😛

    Also Dateien öffne und schreibe ich eig immer mit (c++ lib denke ich):

    dat_neu.open("neu.txt",ios_base::out | ios_base::trunc | ios_base::binary);

    dat_neu.write("lol",3);
    dat_neu.close();

    Wenn ich jetzt die Ressource mit
    ID_DATA RCDATA "bintest.exe"

    integriere und dann

    HRSRC hRes;
    HGLOBAL hResLoad;
    hRes = FindResource(GetModuleHandle(NULL),MAKEINTRESOURCE(ID_DATA),RT_RCDATA);
    hResLoad = LoadResource(GetModuleHandle(NULL),hRes);

    so lade.. oehm wie soll ich dann da drauf zugreifen?^^


  • Mod

    LockResource...

    Bist Du nicht fähig, die Verweise in der MSDN zu lesen? 👎



  • nein bin ich anscheinend ja nicht, siehe Name <-^^

    Für Anleitungen für das lesen von Anleitungen bin ich aber immer offen.. wobei da dann natürlich die Anleitung zum lesen der Anleitung für die Anleitung fehlt..

    Soo, das klappt schon mal vielen Dank,
    ich hätte da noch eine Frage (hoffe mal ich krieg nicht direkt wieder eins aufn Deckel°°) wie kann ich denn jetzt die größe der geladenen Datei abfragen?


  • Mod

    👎 Siehe meine erste Antwort!


Anmelden zum Antworten