Residents file auslesen.
Residents file auslesen.
Hallo Leute,
Habe mal eine Frage bezüglich der Resident files die man mit PB erstellen kann,
welche Konstanten und Strukturen im binarer Form speichern.
Ist dass eine Einbahnstraße oder kann man den Inhalt auch wieder auslesen,
also wieder eine *.pb Datei draus machen?
Habe mal eine Frage bezüglich der Resident files die man mit PB erstellen kann,
welche Konstanten und Strukturen im binarer Form speichern.
Ist dass eine Einbahnstraße oder kann man den Inhalt auch wieder auslesen,
also wieder eine *.pb Datei draus machen?
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
- xXRobo_CubeXx
- Beiträge: 120
- Registriert: 12.06.2015 16:08
- Computerausstattung: Version 5.41 LTS
- Wohnort: Wohnort
- Kontaktdaten:
Re: Residents file auslesen.
Das is leider nicht möglich!
Hast du n Resident file erstellt und den Quell Code gelöscht ? Versuchs mal mit einen Rettungsprogramm!
Oder habe ich deine Frage falsch verstanden ? Bin schon sehr müde muss erstma pennen gehn...
Hast du n Resident file erstellt und den Quell Code gelöscht ? Versuchs mal mit einen Rettungsprogramm!
Oder habe ich deine Frage falsch verstanden ? Bin schon sehr müde muss erstma pennen gehn...
Version 5.41 LTS
-
- Beiträge: 56
- Registriert: 12.11.2015 17:41
Re: Residents file auslesen.
@xXRCXx
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: Residents file auslesen.
Natürlich geht das. Purebasic muss es selbst doch auch können. Ich glaube im englischen Forum hat das sogar mal jemand gemacht, ich finde es nur gerade nicht. Vielleicht findest du es ja selbst.
@xXRobo_CubeXx:
Wenn du keine Lösung kennst und lieber falsch behauptest es gehe nicht, solltest du vielleicht lieber nichts sagen? Oder wolltest du nur dein "tolles" GIF posten?
@xXRobo_CubeXx:
Wenn du keine Lösung kennst und lieber falsch behauptest es gehe nicht, solltest du vielleicht lieber nichts sagen? Oder wolltest du nur dein "tolles" GIF posten?
- xXRobo_CubeXx
- Beiträge: 120
- Registriert: 12.06.2015 16:08
- Computerausstattung: Version 5.41 LTS
- Wohnort: Wohnort
- Kontaktdaten:
Re: Residents file auslesen.
Tut mir leid NicTheQuick ich meine irgendwo gelesen zu haben das es nicht möglich ist weil es kompiliert sei oder so. Dan hab ich das wohl mit etwas anderes verwechselt. war keine Absicht! War das Userlib die man nicht dekompilieren kann ? Tut mir leid NicTheQuick ich habe das schein bar verwechselt. Sei mir bitte nich böse. Sorry nochmal. Bist du noch sauer auf mich ?
Version 5.41 LTS
Re: Residents file auslesen.
Ja, im englischen Forum gibt's ein Residents dumper
Der funktioniert allerdings überhaupt nicht oder die Struktur hat sich mittlerweile geändert,
ist ja auch schon 10 Jahre alt.
Auch warum dokumentiert man so ein Format nicht
Naja, wenn Ich mal etwas zu viel Zeit habe schreib Ich mal einen vernümftigen Dumper.
Der funktioniert allerdings überhaupt nicht oder die Struktur hat sich mittlerweile geändert,
ist ja auch schon 10 Jahre alt.
Auch warum dokumentiert man so ein Format nicht
Naja, wenn Ich mal etwas zu viel Zeit habe schreib Ich mal einen vernümftigen Dumper.
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Residents file auslesen.
Dann würde ich den Compiler das überlassen. Das CompilerInterface kann u.a. auch die Strukturen und Konstanten
ermitteln.sowie seit Version 5.10
Komplette erklärung des Compilerinterface im SDK, die Datei Compilerinterface.txt (was auch sonst )
ermitteln.
Code: Alles auswählen
STRUCTURE<T><Name>
Request the content of a structure known by the compiler.
Parameters: The name of the structure.
Response : The structure definition, with each member on one line. The output is terminated by a line
containing 'OUTPUT<T>COMPLETE'.
Code: Alles auswählen
CONSTANTLIST (since 5.10)
Request a listing of all constants known by the compiler.
Parameters: none
Response : The first line contains the number of constants to return, then one constant
per line, using the following syntax: TYPE<T>NAME<T>VALUE.
TYPE can be one of the following value:
0: numeric value (quad)
1: float value (double)
2: string value
The output is terminated by a line containing 'OUTPUT<T>COMPLETE'.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Residents file auslesen.
Hab hier noch einen Beispielcode für Strukturen:
Code: Alles auswählen
EnableExplicit
Structure strucMember
Name.s
List Members.s()
EndStructure
Structure strucName
List Name.strucMember()
EndStructure
Procedure GetStructures(*p.strucName)
Protected.i Compiler = RunProgram(#PB_Compiler_Home + "Compilers\pbcompiler", "/STANDBY", "", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write | #PB_Program_Hide)
Protected.s tmp, Text
If Compiler
If IsProgram(Compiler)
Repeat
tmp = ReadProgramString(compiler)
Until tmp = "READY"
WriteProgramStringN(Compiler, "STRUCTURELIST")
Repeat
Text = ReadProgramString(Compiler)
If Text <> "OUTPUT" + #TAB$ + "COMPLETE"
AddElement(*p\Name())
*p\Name()\Name = Text
EndIf
Until Text = "OUTPUT" + #TAB$ + "COMPLETE"
FirstElement(*p\Name())
DeleteElement(*p\Name())
ForEach *p\Name()
WriteProgramStringN(Compiler, "STRUCTURE" + #TAB$ + *p\Name()\Name)
Repeat
Text = ReadProgramString(Compiler)
If Text <> "OUTPUT" + #TAB$ + "COMPLETE"
AddElement(*p\Name()\Members())
*p\Name()\Members() = Text
EndIf
Until Text = "OUTPUT" + #TAB$ + "COMPLETE"
Next
WriteProgramStringN(Compiler, "END")
CloseProgram(Compiler)
EndIf
EndIf
EndProcedure
Define.strucName structs
GetStructures(@structs)
With structs
ForEach \Name()
Debug "Structure " + \Name()\Name
ForEach \Name()\Members()
Debug " " + \Name()\Members()
Next
Debug "EndStructure"
Debug ""
Next
EndWith
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Re: Residents file auslesen.
Danke ts-soft
Der Compiler kann das natürlich.
Also kurzer Hand mal alle anderen Residents in den Papierkorb verschoben
und was spukt der Compiler aus, die Strukturen meiner *.res
Das gleiche noch mal wiederholt mit CONSTANT und CONSTANTLIST und der Tag ist gerettet
Der Compiler kann das natürlich.
Also kurzer Hand mal alle anderen Residents in den Papierkorb verschoben
und was spukt der Compiler aus, die Strukturen meiner *.res
Das gleiche noch mal wiederholt mit CONSTANT und CONSTANTLIST und der Tag ist gerettet
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: Residents file auslesen.
Verrückt, ich krieg hier unter Linux folgende Meldung (nach Anpassen der Pfade und Parameter natürlich):
Klappt ja super.
Na ich brauche es ja auch nicht, ich wollte nur mal gucken, ob es funktioniert.
Code: Alles auswählen
STARTING 5.50 PureBasic 5.50 (Linux - x64)
ERROR Can't load OS libraries, please re-install PureBasic.
Na ich brauche es ja auch nicht, ich wollte nur mal gucken, ob es funktioniert.