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 
						- 
				C h r i s :)
 - Beiträge: 56
 - Registriert: 12.11.2015 17:41
 
Re: Residents file auslesen.
@xXRCXx 
  
  
  
			
			
									
									
						- NicTheQuick
 - Ein Admin
 - Beiträge: 8816
 - Registriert: 29.08.2004 20:20
 - Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
 
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
EndWithPureBasic 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: 8816
 - Registriert: 29.08.2004 20:20
 - Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
 
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.