Resource-Datei binär auslesen
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Resource-Datei binär auslesen
Wenn ich in der .arc eine Grafik aufführe, spreche ich die ja normalerweise mit dem Identifikator an, wenn ich die anzeigen möchte. Wie aber kann ich den Binärcode der Datei auslesen? Geht das überhaupt?
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Jan,
du mischst da einiges durcheinander ... eine ARC ist ja nur die Anweisung für den Resourcencompiler (ARC.EXE) ...
Wenn du ein "Bild" in die Resource packst dann wird dies unter einer ID (numerisch) in der EXE / DLL abgelegt.
Per (Inlcude) Define kann man Konstanten für die ID verwenden, aber intern gilt nur die ID.
Wenn du auf eine Resource zugreifen willst kannst du dazu LoadResource() mit passenden Parametern verwenden,
wobei einige einfacher zu handlen sind (ich meine Icons z.B. in Verbindung mit statics) als andere.
du mischst da einiges durcheinander ... eine ARC ist ja nur die Anweisung für den Resourcencompiler (ARC.EXE) ...
Wenn du ein "Bild" in die Resource packst dann wird dies unter einer ID (numerisch) in der EXE / DLL abgelegt.
Per (Inlcude) Define kann man Konstanten für die ID verwenden, aber intern gilt nur die ID.
Wenn du auf eine Resource zugreifen willst kannst du dazu LoadResource() mit passenden Parametern verwenden,
wobei einige einfacher zu handlen sind (ich meine Icons z.B. in Verbindung mit statics) als andere.
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Hubert,
mir ist bewußt, wie das mit der arc funktioniert. Ich wußte aber nicht, wie ich das in wenigen Worten besser ausdrücken sollte.
LoadResource() funktioniert irgendwie nicht. Der gibt mir immer NIL zurück. Merkwürdig, denn für Mehrsprachigkeit setze ich das in dem Projekt massiv ein.
Jan
mir ist bewußt, wie das mit der arc funktioniert. Ich wußte aber nicht, wie ich das in wenigen Worten besser ausdrücken sollte.
LoadResource() funktioniert irgendwie nicht. Der gibt mir immer NIL zurück. Merkwürdig, denn für Mehrsprachigkeit setze ich das in dem Projekt massiv ein.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Ja was für eine Resource meinst du denn ... Datyp und Code könnten nützlich sein
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Hubert,
das ist eine jpg, deren Binärcode ich benötige.
Jan
das ist eine jpg, deren Binärcode ich benötige.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Und wie sieht es mit dem Code aus ?
Uli
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Jan, was ist los? Warum zeigst Du nicht Deinen Code?UliTs hat geschrieben:Und wie sieht es mit dem Code aus ?
Uli
Also hier mal ein Beispiel für eine Lösung. Vielleicht hilft es Dir.
Die ARC-Datei könnte wie folgt aussehen:
Code: Alles auswählen
#include "resdemo.ch"
USERDEF JPEG
Foto1 = FILE "Foto1.jpg"
Code: Alles auswählen
cJpgBinaerCode := LoadResource("Foto1",,"JPEG")
IF cJpeg != NIL
oXbp := XbpBitmap():new():create()
oXbp:setBuffer(cJpgBinaerCode)
oXbp:draw(, {10,10})
ELSE
MsgBox( "Fehler!" )
ENDIF
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Uli,
nein, meinen Code bekommst Du nicht! DU nicht!
Im Ernst - ich sitze hier beim Kunden und habe keinen Zugriff auf meinen Code. Ich werde das erst morgen vormittag schaffen. Abgesehen davon: Prinzipiell mache ich das ähnlich wie in Deinem Beispiel.
Jan
nein, meinen Code bekommst Du nicht! DU nicht!
Im Ernst - ich sitze hier beim Kunden und habe keinen Zugriff auf meinen Code. Ich werde das erst morgen vormittag schaffen. Abgesehen davon: Prinzipiell mache ich das ähnlich wie in Deinem Beispiel.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Jan,
ok, OK .
Viel Spaß beim Kunden.
Uli
ok, OK .
Viel Spaß beim Kunden.
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Jan,
wenn du die JPEG auf der Festplatte hast, kannst du die direkt mit memoread() oder File2Str() etc. in eine Stringvariable einlesen.
Auf den String kannst du direkt zugreifen, wobei die Bedeutung natürlich aus der Beschreibung genommen werden muss.
Falls du im Bild eine geheime Info versteckt hast, musst du diese Info natürlich aus deinen Definitionen lesen
Falls die JPEG tatsächlich in einer Resource ist, kannst du ja über das XbpBitmap() Objekt den String bekommen ( Beispielcode liegt mir jetzt auch nicht vor)
wenn du die JPEG auf der Festplatte hast, kannst du die direkt mit memoread() oder File2Str() etc. in eine Stringvariable einlesen.
Auf den String kannst du direkt zugreifen, wobei die Bedeutung natürlich aus der Beschreibung genommen werden muss.
Falls du im Bild eine geheime Info versteckt hast, musst du diese Info natürlich aus deinen Definitionen lesen
Falls die JPEG tatsächlich in einer Resource ist, kannst du ja über das XbpBitmap() Objekt den String bekommen ( Beispielcode liegt mir jetzt auch nicht vor)
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Hubert,
Hast Du meine Antwort gelesen?
Uli
Hast Du meine Antwort gelesen?
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Resource-Datei binär auslesen
suche doch mal im Forum ...UliTs hat geschrieben:Jan, was ist los? Warum zeigst Du nicht Deinen Code?
"fast" ... JPEG und JPG sind NICHT das selbe !!!UliTs hat geschrieben:Code: Alles auswählen
USERDEF JPEG Foto1 = FILE "Foto1.jpg"
Code: Alles auswählen
USERDEF JPG
5001 = FILE ".\..\RES\HorizontalDown.jpg"
Code: Alles auswählen
USERDEF JPEG
6001 = FILE ".\..\RES\2w792.jpeg"
hm ... Foto1 ist doch eine Konstante also "numerisch" ...UliTs hat geschrieben:Code: Alles auswählen
cJpgBinaerCode := LoadResource("Foto1",,"JPEG")
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
und du die Frage von Jan ?UliTs hat geschrieben:Hallo Hubert,
Hast Du meine Antwort gelesen?
Uli
er will nicht mit draw() ausgeben, sondern "binär" darauf zugreifen (was auch immer damit gemeint ist).
Er spricht aber dauern von JPEG ... und dachte ich ob er eventuell tatsächlich eine JPEG Datei meint.
Gegen deinen Code habe ich doch gar nichts geschrieben
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Das Gleiche habe ich bei Dir auch gedacht .brandelh hat geschrieben:und du die Frage von Jan ?
Deshalb habe ich auch als Test die Ausgabe der JPG-Datei gleich mit angegeben. und nicht nur den "binären" Zugriff .brandelh hat geschrieben: er will nicht mit draw() ausgeben, sondern "binär" darauf zugreifen (was auch immer damit gemeint ist).
Er spricht aber dauern von JPEG ... und dachte ich ob er eventuell tatsächlich eine JPEG Datei meint.
Gegen deinen Code habe ich doch gar nichts geschrieben
Es wunderte mich halt, dass Du erwähnst "Beispielcode liegt mir jetzt auch nicht vor", wo ich doch einen Beispielcode geschrieben habe .
Außerdem hat Jan explizit geschrieben gehabt, dass die Quelle als Resource vorliegt...
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
wenn ich schreibe, dass mir (jetzt) Beispiel-code nicht vorliegt, dann bezieht sich das doch offensichtlich auf meinen aktuell genutzten Rechner und meist eigenen Code.UliTs hat geschrieben:Es wunderte mich halt, dass Du erwähnst "Beispielcode liegt mir jetzt auch nicht vor", wo ich doch einen Beispielcode geschrieben habe .
Vermutlich habe ich auch die Antwort auch auf einen Beitrag von JAN geschrieben, der vor deinem lag - ohne deinen gelesen zu haben (so genau weiß ich das jetzt nicht mehr) ...
dennoch verweise ich höchst selten auf code von einem Beitrag kurz vor meinem, den sollte der "Auftraggeber" auch ohne meinen Hinweis vorher gefunden haben
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
12 Stunden sollten reichenbrandelh hat geschrieben:Vermutlich habe ich auch die Antwort auch auf einen Beitrag von JAN geschrieben, der vor deinem lag - ohne deinen gelesen zu haben (so genau weiß ich das jetzt nicht mehr) ...
Das erklärt vielesbrandelh hat geschrieben:dennoch verweise ich höchst selten auf code von einem Beitrag kurz vor meinem, den sollte der "Auftraggeber" auch ohne meinen Hinweis vorher gefunden haben
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
das setzt vorraus, dass ich zwischen meinem Beitrag Mo, 11. Feb 2013 18:41UliTs hat geschrieben:12 Stunden sollten reichenbrandelh hat geschrieben:Vermutlich habe ich auch die Antwort auch auf einen Beitrag von JAN geschrieben, der vor deinem lag - ohne deinen gelesen zu haben (so genau weiß ich das jetzt nicht mehr) ...
bzw. der Antwort von Jan Mo, 11. Feb 2013 22:19 am 12. Feb 2013 den ganzen Tag online war, deine eMails unkommentiert gelesen habe und erst früh am nächsten Morgen wieder zu Worten gekommen bin. Passt das zu mir ?
Nö, ich bin zwar selten nicht online (das gebe ich zu), aber wenn ich online bin, antworte ich auch schnell
offensichtlich war ich am 12.03.2013 anderweitig beschäftigt, womit ... geht hier keinen was an
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Vielleicht erklär ich einfach mal, worum es geht:
In dem Projekt können zu einzelnen Datensätzen auch mehrere Bilder gespeichert werden. Das mache ich, indem ich die Bilder in der dbf speichere. Wenn dann zu einem Datensatz die Bildervorschau gewählt wird, dann lese ich die Bilder aus der Datenbank aus und zeige die in max 500x500 Pixel an. nach einem Klick darauf werden die groß angezeigt mit Möglichkeit des Ausdruckes, etc.
Soetwas mache ich jetzt auch mit PDF. da ich auf die Schnelle die PDF-Vorschau nicht hinbekomme, habe ich das offizielle Adobe-PDF-Logo genommen und in der arc eingebaut. Um jetzt die schon vorhandene Vorschau nutzen zu können brauche ich den original Zeichenstring dieser Grafik. Ansonsten müsste ich extra dafür ein eigenes Vorschau-Modul schreiben. Auch wenn das nur wenige Zeilen sind - das ist dann doch wieder ein Sonderfall. Daher möchte ich gerne über den Aufruf des Bezeichners machen.
Ursprünglich hatte ich das Logo als jpg, aber natürlich ist es kein Problem, das bmp oder sonstwas zu speichern. Nur als jpg ist die halt nur 1/4 so groß. Ich hab das aber inzwischen auch mal als bmp eingebaut, um ungeahnte Eventualitäten auszuschließen.
Und um die Code-Freunde zu befriedigen :
Eintrag in der arc:
Der Aufruf:
Wobei xFoto dann aber leider "" ist.
Jan
In dem Projekt können zu einzelnen Datensätzen auch mehrere Bilder gespeichert werden. Das mache ich, indem ich die Bilder in der dbf speichere. Wenn dann zu einem Datensatz die Bildervorschau gewählt wird, dann lese ich die Bilder aus der Datenbank aus und zeige die in max 500x500 Pixel an. nach einem Klick darauf werden die groß angezeigt mit Möglichkeit des Ausdruckes, etc.
Soetwas mache ich jetzt auch mit PDF. da ich auf die Schnelle die PDF-Vorschau nicht hinbekomme, habe ich das offizielle Adobe-PDF-Logo genommen und in der arc eingebaut. Um jetzt die schon vorhandene Vorschau nutzen zu können brauche ich den original Zeichenstring dieser Grafik. Ansonsten müsste ich extra dafür ein eigenes Vorschau-Modul schreiben. Auch wenn das nur wenige Zeilen sind - das ist dann doch wieder ein Sonderfall. Daher möchte ich gerne über den Aufruf des Bezeichners machen.
Ursprünglich hatte ich das Logo als jpg, aber natürlich ist es kein Problem, das bmp oder sonstwas zu speichern. Nur als jpg ist die halt nur 1/4 so groß. Ich hab das aber inzwischen auch mal als bmp eingebaut, um ungeahnte Eventualitäten auszuschließen.
Und um die Code-Freunde zu befriedigen :
Eintrag in der arc:
Code: Alles auswählen
300 = "Bilder\PDF-Logo.bmp"
Code: Alles auswählen
xFoto := LoadResource(300), , RES_RAWSTRING
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Jan,
danke für die ausführliche Information.
Wenn es Bitmaps sind, musst Du dann nicht
schreiben? Muß man nicht Nummern ab 1000 verwenden?
Uli
danke für die ausführliche Information.
Wenn es Bitmaps sind, musst Du dann nicht
Code: Alles auswählen
BITMAP 1001 = "Bilder\PDF-Logo.bmp"
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hallo Uli,
ich habe stapelweise bmp drin, und alle im 3stelligen Bereich. Bislang war das nie ein Problem.
Jan
ich habe stapelweise bmp drin, und alle im 3stelligen Bereich. Bislang war das nie ein Problem.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Hi,
ich meine die IDs der ICON Resourcen müssen über 100(0) liegen, da es interne gibt.
Bitmaps nicht, aber ich nutze dennoch ab 4000
Wenn du eine Bitmap Resource hast, brauchst du keinen Umweg über die RAW Daten gehen, du kannst einfach die ID nutzen (bei Static):
Hier meine abgewandelte About Box (aus dem MDI Beispiel ... einer sehr alten Version):
sorry, aber für Bitmap Resourcen ist wohl LoadResource() der falsche Befehl.
Ich vermute du nutzt für deine normalen Bitmaps vor der Speicherung XbpBitmap():setBuffer() um an die "Binärdaten" zu kommen.
Warum mit der Resource nicht auch ?
wenn das nicht passt, dann speichere keine Bitmap Resource sondern eine String bzw. USER DEF, die Daten erstellst du aus der BMP wie bei den anderen auch und speicherst sie in einer binär Datei (Str2File() oder fCreate()) ...
Diese lädst du dann als Stringresource oder USERDEF mit LoadResource()
PS: das untere Beispiel ist ungetestet, also eventuell müssen Fehler gefunden werden
ich meine die IDs der ICON Resourcen müssen über 100(0) liegen, da es interne gibt.
Bitmaps nicht, aber ich nutze dennoch ab 4000
Wenn du eine Bitmap Resource hast, brauchst du keinen Umweg über die RAW Daten gehen, du kannst einfach die ID nutzen (bei Static):
Hier meine abgewandelte About Box (aus dem MDI Beispiel ... einer sehr alten Version):
Code: Alles auswählen
*** in CH
#define ID_ABOUT_BITMAP 4242
*** in ARC, CH wird auch geladen
BITMAP
ID_ABOUT_BITMAP = "ANW_MAIN.bmp"
*** in Fenstermenü bzw. bei Programmstart.
AboutBox( cTitel, cProgName, cVersion, cCopyright, cLizenzNehmer,cLizenzText, ID_ABOUT_BITMAP, nAnzeigeDauer ) // Ruft Aboutfenster auf.
*** die Funktion ...
#define BITMAP_MAX_WIDTH 200
#define BITMAP_MAX_HEIGHT 240
PROCEDURE AboutBox( cTitle, cProgram, cVersion, cCopyright, cLizenzNehmer,cLizenzText, nBitmap, nAnzeigeDauer )
... // in nBitmap ist die Resourcennummer der Bitmapresource gespeichert
IF nBitmap <> NIL
oXbp := XbpStatic():new( drawingArea )
oXbp:type := XBPSTATIC_TYPE_RAISEDBOX
oXbp:create()
oLogo := XbpStatic():new( oXbp, , {2,2} )
oLogo:type := XBPSTATIC_TYPE_BITMAP
oLogo:caption := nBitmap
oLogo:autoSize := .T.
oLogo:create()
...
oDlg:show()
oDlg:setModalState( XBP_DISP_APPMODAL )
Ich vermute du nutzt für deine normalen Bitmaps vor der Speicherung XbpBitmap():setBuffer() um an die "Binärdaten" zu kommen.
Warum mit der Resource nicht auch ?
Code: Alles auswählen
*** in CH
#define ID_ABOUT_BITMAP 4242
*** in ARC, CH wird auch geladen
BITMAP
ID_ABOUT_BITMAP = "ANW_MAIN.bmp"
*** in Fenstermenü bzw. bei Programmstart.
AboutBox( cTitel, cProgName, cVersion, cCopyright, cLizenzNehmer,cLizenzText, ID_ABOUT_BITMAP, nAnzeigeDauer ) // Ruft Aboutfenster auf.
*** etwa so ...
oPS := SetAppWindow():presSpace()
oBMP := XbpBitmap():new():create( oPS )
oBMP:load( NIL, ID_ABOUT_BITMAP )
... und jetzt nicht anzeigen, daher kein oBMP:draw( oPS, {50,50} ) , sondern
cBuffer := oBMP:setBuffer()
Diese lädst du dann als Stringresource oder USERDEF mit LoadResource()
PS: das untere Beispiel ist ungetestet, also eventuell müssen Fehler gefunden werden
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Resource-Datei binär auslesen
worüber redet ihr ? im Prinzip ist doch klar was in der ARC stehen muss.JPEG und JPG sind NICHT das selbe !!!
der Fehler liegt in "USEDEF JPEG" <> "USEDEF JPG" denn damit nimmt es Xbase++ "genau".
wenn man das ganze per API machen würde
Code: Alles auswählen
::Handle := @user32:LoadImageA( hModule,;
nId ,;
IMAGE_BITMAP,;
nWidth ,;
nHeight ,;
LR_DEFAULTCOLOR )
p.s. bei Icon statt IMAGE_BITMAP dann IMAGE_ICON. siehe c:\ALASKA\XPPW32\Source\SYS\xbparts.prg
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Resource-Datei binär auslesen
Ich dachte JPEG wäre der ausgeschriebene Namen der JPG Dateiendung (max 3 Zeichen) ... kann mich aber täuschen.
Ich nutzte JPG Dateien für Fotos, BMP oder PNG bei Symbolen, da JPG hier oft seltsame Anzeigefehler verursacht.
Aber egal was verwendet wird, in der ARC/PRG Datei muss man natürlich den Namen der tatsächlichen Datei genau schreiben ... allerdings sind wir ja mittlerweile bei BMP gelandet
Ich nutzte JPG Dateien für Fotos, BMP oder PNG bei Symbolen, da JPG hier oft seltsame Anzeigefehler verursacht.
Aber egal was verwendet wird, in der ARC/PRG Datei muss man natürlich den Namen der tatsächlichen Datei genau schreiben ... allerdings sind wir ja mittlerweile bei BMP gelandet
Gruß
Hubert
Hubert