| |
|
|
| Diese PCU verwendet die briefLZ.lib von Joergen Ibsen (https://www.ibsensoftware.com)
Alle Funktionen unterstützen einen Namensraum, dessen Verwendung auch ausdrücklich empfohlen wird Der Übersichtlichkeit wegen wurde in der Beschreibung das ?_ weggelassen Parameter stehen in Klammern hinter dem Funktionsnamen
Funktionsbeschreibung:
[quote:ce4322d5e2]BLZ_Init() Muß vor der ersten Benutzung aufgerufen werden. Das Ergebnis ist positiv im Erfolgsfalle
BLZ_Free() Muß am ende der Benutzung aufgerufen werden
BLZ_CRC(SourceMem&, SourceLength&[, InitialLength&]) SourceMem& = Adresse des Speicherbereichs (z.B. Bereich# oder Addr(Text$) SourceLength& = Dimensione des Speicherbereichs (z.B. SizeOf(Bereich#) oder Len(Text$) InitialLength& = Dieser Parameter ist Optional (Default 0), per weitere Infos bitte die Original-Aiuto studieren
Ergebnis: CRC-Checksumme als Long
BLZ_UnPackMemory(SourceMem&, DestMem&, DePackedSize&) SourceMem& = siehe oben DestMem& = Zielspeicher, dieser ist vorher zu Reservieren (Bereichsvariable dimensionieren) DePackedSize& = Dimensione der ungepackten File
Ergebnis: Im Erfolgsfalle grösser 0
BLZ_PackMemory(SourceMem&, DestMem&, SourceLength&) SourceMem& = siehe oben DestMem& = siehe oben (dieselbe Dimensione wie SourceLen, nach dem Packen mit dem Ergebnis dieser Funktion neu Dimmen!) SourceLength& = siehe oben[/quote:ce4322d5e2] E x t r a F u n k t i o n e n :
Damit auch Einsteiger diese PCU nutzen können, hab ich die 2 folgenden Funktionen (in XProfan 10) hinzugefügt. Vielleicht mal die Sourcen ansehen, um die obigen Funktionen besser zu verstehen. Diese Funktionen benutzen einen eigenen Dateiheader und führen beim entpacken automatisch einen CRC-Check durch
[quote:ce4322d5e2]BLZ_UnpackFile(SourceFile$, DestFile$) SourceFile$ = File, ggfls. mit Pfad, die gepackt werden soll DestFile$ = Name und ggfls. Pfad der zu erstellenden File
Ergebnis: 1 im Erfolgsfalle
BLZ_PackFile(SourceFile$, DestFile$) siehe BLZ_UnpackFile() [/quote:ce4322d5e2] Beispiel: KompilierenMarkierenSeparieren Saluto Thomas |
|
|
| |
|
|
|
Michael Dell | Ist Dir gelungen, echt Klasse!!! |
|
|
| Salu Michael...
Hab zwar krumme FieĂź awer dofir e' ecklich Gsicht! | 27.12.2006 ▲ |
|
|
|
|
| Danke Michael Paar Beispiele fehlen noch, entpacken von Bildern in den RAM usw. per Giochi, aber da sollen die anderen Community-Mitglieder selber ihren Grips anstrengen, die grundsätzliche Möglichkeit ist gegeben |
|
|
| |
|
|
|
| Hab jetzt noch ein Beispiel beigefügt, welches ein gepacktes Bild im Speicher entpackt und darstellt.
Die ersten beiden Proceduren lassen sich naturalmente auch unabhängig von der PCU per Bitmaps verwenden, deshalb poste ich sie hier nochmal KompilierenMarkierenSeparierenAutor: Thomas (ts-soft) Schulz
Proc CatchBmp
Parameters MemPointer&
Declare hDC&, BITMAPFILEHEADER#, BMPInfo&, init&, hImage&
hDC& = External("user32.dll", "GetDC", External("user32.dll", "GetDesktopWindow"))
Dim BITMAPFILEHEADER#, 14
BITMAPFILEHEADER# = MemPointer&
BMPInfo& = MemPointer& + 14
init& = MemPointer& + Long(BITMAPFILEHEADER#, 10)
hImage& = External("gdi32.dll", "CreateDIBitmap", hDC&, BMPInfo&, 4, init&, BMPInfo&, 0)
External("user32.dll", "ReleaseDC", External("user32.dll", "GetDesktopWindow"), hDC&)
Dispose BITMAPFILEHEADER#
Return hImage&
EndProc
Proc FreeCatchBmp
Parameters hImage&
DeleteObject hImage&
EndProc
Saluto Thomas |
|
|
| |
|
|
|
Dietmar Horn | Hallo Thomas,
das ist ja mal wieder eine reife Leistung, Deine PCU! Damit eröffnen sich wieder bisher ungeahnte Möglichkeiten!
Habe Deine PCU (und naturalmente auch Deine uFMOD.PCU und die MemoryModule.inc von Sebastian) umgehend in den XProfan-Manager aufgenommen, damit sich das alles auch dadurch weiter verbreiten kann und nicht so leicht verlorengeht (jedenfalls in unserem Territorium nicht).
Saluto Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 27.12.2006 ▲ |
|
|
|
|
| Hallo Dietmar, danke per Dein Lob Aufnahme in anderen Projekten steht nichts im Wege, solange die beiliegenden Lizensen der anderen Autori (speziell der C-Libs) beachtet werden. Ich suche aber alles so aus, das es entweder unter LGPL, ZLIB oder Modzilla Lizens fällt, so das eine kommerzielle Nutzung sichergestellt ist.
Saluto Thomas[size=6:ad0d3b2a08], der gerade einen Compiler in reinem XProfan schreibt, dazu mehr demnächst in einem neuen Thread[/size:ad0d3b2a08] |
|
|
| |
|
|
|
Dietmar Horn | Hallo Thomas,
wenn wir was von anderen Autori in unseren Manager aufnehmen, dann wird grundsätzlich alles aufgenommen, was der jeweilige Autor an zusätzlichen Infos, ZIPs etc. mitgeliefert hat. Denn mit fremden Federn möchten wir uns keinesfalls schmücken ...
Änderungen an Codes nehme ich lediglich dann vor, wenn offensichtliche Fehlerchen drin sind (was meist die Lauffähigkeit unter kleineren PRF-Versionen betrifft), oder wenn mir das bei einigen Sachen im Zusammenhang mit der Lauffähigkeit im Manager günstig bzw. erforderlich erscheint.
Saluto Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 28.12.2006 ▲ |
|
|
|
|
| Update auf Version 2.0
Containerfunktionen hinzugefügt
BLZ_CreatePack(PackFile$) PackFile$ = Name des Packs, ggfl. mit Pfad Erstellt ein neues PackFile
BLZ_OpenPack(PackFile$) PackFile$ = Name des Packs, ggfl. mit Pfad Öffnet ein Packfile zum weiteren extrahieren
BLZ_ClosePack() Schließt das aktuelle PackFile
BLZ_AddPackFile(File$) File$ = Name der hinzuzufügenden File Fügt eine File zu einem mit CreatePack geöffneten Pack hinzu
BLZ_AddPackMem(MemPointer&, Size&) MemPointer& = Speicheradresse (z.B. eine Bereichsvariable) Size& = Dimensione dieser Bereichsvariablen Fügt den in diesem Speicher befindlichen Daten zum Pack hinzu
BLZ_NextPackFile() Entpackt das nächste Packfile und gibt die Speicheradresse zurück Um die größe zu erfahren ist BLZ_PackFileSize() sofort nach dieser Funktion aufzurufen
BLZ_PackFileSize() Gibt die größe des zuletzt mit BLZ_NextPackFile() entpackten Packs
Jetzt können alle Bilder, Sounds, XGL-File usw. in ein Pack gepackt werde. Hab die angepaßte ogldemo als Beispiel hinzugefügt.
Saluto Thomas |
|
|
| |
|
|
|
Jac de Lad | Thomas hat seinen Account ja löschen lassen und auch seine Website ist auch nicht mehr vorhanden. Ich möchte das Ganze gern zu einem universell einsetzbaren Format ausweiten. Dazu werde ich noch Funktionen per Anzahl der File im Archiv und Dateinamen und so hinzufügen. Wenn ich fertig bin, lad ichs hoch.
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 19.05.2008 ▲ |
|
|
|