Seite 1 von 1

Quelltext in Exe eingliedern und extrahieren

Verfasst: 31.07.2014 20:04
von Derren
Für private, kleine Tools füge ich gerne meinen Quelltext zum kompilierten Programm hinzu, so dass ich ihn bei Bedarf wieder extrahieren kann.
Ich bin leider nicht gerade der ordentlichste mit meinen Dateien. Projekte sind in vielen Ordnern verteilt oder auch mal in irgendwelchen Backup-Ziparchiven verschollen. Von daher ist dieser kurze Code ganz nützlich.

Code: Alles auswählen

Procedure SaveSourceCodeToFile(path.s="")	
	DataSection
		startSourceCode: 
		IncludeBinary #PB_Compiler_File     
		endSourceCode:
	EndDataSection 
	
	Protected hFile.i
	If path=""
		path = SaveFileRequester("Save Program Source As...", "", "PureBasic Source (*.pb)|*.pb", 0)
	EndIf 
	If path
		If GetExtensionPart(path) <> "pb"
			path + ".pb"
		EndIf 
		hFile = CreateFile(#PB_Any, path)
		If hFile
			WriteData(hFile, ?startSourceCode, ?endSourceCode - ?startSourceCode)
			CloseFile(hFile)
		EndIf 	
	EndIf
EndProcedure
Ich persönlich füge auch noch gerne diesen kurzen Code hinzu, falls ich nicht dran denke einen Button oder einen Menüeintrag für das Extrahieren des Codes einzubauen.

Code: Alles auswählen

If LCase(ProgramParameter(0))="savesource" Or LCase(ProgramParameter(0))="-savesource"
	SaveSourceCodeToFile(ProgramParameter(1))
EndIf
Das funktioniert wahrscheinlich nicht mit Projekten, oder Includes. Vielleicht weiß jemand wie man das erweitern kann.

Re: Quelltext in Exe eingliedern und extrahieren

Verfasst: 01.08.2014 14:54
von _sivizius
du könntest den projektordner mit zip komprimieren und anschließend mit ImportBinary diese Datei in den Code einfügen.
Da das Text-Dateien sind, ist das sowieso sinnvoll.

Re: Quelltext in Exe eingliedern und extrahieren

Verfasst: 01.08.2014 15:26
von Derren
Gute Idee :allright: