Sammelliste für PureBasic Werkzeuge

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: Sammelliste für PureBasic Werkzeuge

Beitrag von WPö »

Didelphodon hat geschrieben:Hinzufügungsvorschlag
Hallo, Didel!

Sei bitte so nett und setze einen Querverweis dazu, damit man nicht erst das ganze Netz umgraben muß, um Deine Projekte zu sehen. Kurzbeschreibung, Versionierung, Zielplattform (wenn nicht unabhängig) usw. als Zusatzinfos wären sicherlich auch nicht schlecht.

Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Sammelliste für PureBasic Werkzeuge

Beitrag von Danilo »

  • VS2010 Help Integration
    Beschreibung: Integration des neueren 'Microsoft Help System 1.x' in die PureBasic IDE.
    Dieses neue Hilfesystem wird seit VisualStudio 2010 und auch im aktuellen Microsoft Platform SDK 7.1 verwendet.
    Dieses kleine IDE-Werkzeug öffnet dieses neue, lokal installierte Hilfesystem für das Wort unter dem Cursor in der PB-IDE.
    Bei API-Funktionen mit '_' am Ende wird versucht gleich die entsprechende Hilfeseite für diese Funktion zu öffnen,
    andernfalls wird die Hilfe nach dem entsprechenden Begriff durchsucht (z.B. bei API-Konstanten und -Strukturen).
    Geöffnet wird der Default-Browser für das 'Microsoft Help System 1.x'. In der ersten Version war das der im System
    eingestellte Internetbrowser, seit VisualStudio 2010 SP1 liefert Microsoft einen eigenen Hilfebrowser dafür mit.
    Ich empfehle dafür H3Viewer zu benutzen und als Standard einzustellen.
    Wenn man als Argument -search übergibt, wird immer im Suchmodus geöffnet, auch für Funktionen die mit '_' enden
    und wo die Hilfeseite bekannt ist.
    Ich habe bei mir für das Tool ALT+F1 ohne Argumente eingestellt und nochmal dazu ALT+F2 mit der -search Option.

    Voraussetzung: Installiertes 'Microsoft Help System 1.x', z.B. durch VisualStudio 2010, VisualStudio 2010 Express, MS Platform SDK 7.1, o.ä.

    Entwickler: Danilo

    Link zum Thread: [Editor Tool] VS2010 Help Integration

    Download: Open_VS2010_Help.zip
Bild
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
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: Sammelliste für PureBasic Werkzeuge

Beitrag von ts-soft »

Kleine Drop-GUI, zum konvertieren von binären Dateien
in DataSection, also ähnlich dem Tool von STARGÅTE,
es muß aber nicht als IDE Tool konfiguriert werden und
ist Crossplattform (Linux, MacOS, Windows)

Thread im engl Forum: http://www.purebasic.fr/english/viewtop ... 83#p374183


Source-Download: http://dl.dropbox.com/u/3086026/Bin2Data.pb

Bild
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.
Bild
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: Sammelliste für PureBasic Werkzeuge

Beitrag von rolaf »

Hey MrSoft cool 8) :allright:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
Didelphodon
Beiträge: 360
Registriert: 18.12.2004 13:03
Wohnort: Wien
Kontaktdaten:

Re: Sammelliste für PureBasic Werkzeuge

Beitrag von Didelphodon »

WPö hat geschrieben:
Didelphodon hat geschrieben:Hinzufügungsvorschlag
Hallo, Didel!

Sei bitte so nett und setze einen Querverweis dazu, damit man nicht erst das ganze Netz umgraben muß, um Deine Projekte zu sehen. Kurzbeschreibung, Versionierung, Zielplattform (wenn nicht unabhängig) usw. als Zusatzinfos wären sicherlich auch nicht schlecht.

Gruß - WPö
Ja, sorry, hatte nicht mehr Zeit als für die kurze Anmerkung.
Ich werd schauen, dass ich nächste Woche mal Zeit finde.
Bis danne.

LG Didel.
Das Leben ist ein sch*** Spiel, aber die Grafik ist irre!
Fighting for peace is like fuc*ing for virginity!
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Sammelliste für PureBasic Werkzeuge

Beitrag von STARGÅTE »

Auch diese Thema muss ich mal wieder aus Archiv-Kiste ziehen um ein paar Updates zu geben.
Hier mal eine aktuelle Version eines meiner wichtigsten Werkzeuge:

Schlüsselwort schließen oder Zwischen-Schlüsselwort einfügen

Typische Werkzeugeinstellungen für Schlüsselwort schließen (z.B. EndIf zum If):
Argumente: "%TEMPFILE" 0
Tastenkürzel: ALT + EINGABE
[x] Warte bis zum Beenden des Werkzeugs

Typische Werkzeugeinstellungen für Zwischen-Schlüsselwort einfügen (z.B. Case zum Select):
Argumente: "%TEMPFILE" 1
Tastenkürzel: UMSCHALT + EINGABE
[x] Warte bis zum Beenden des Werkzeugs

Quellcode: (! Benötigt außerdem die SyntaxHilighting.lib und SyntaxHilighting.dll aus PureBasic\SDK\Syntax Highlighting !)

Code: Alles auswählen

Enumeration
	#SYNTAX_Text
	#SYNTAX_Keyword  
	#SYNTAX_Comment
	#SYNTAX_Constant
	#SYNTAX_String
	#SYNTAX_Function
	#SYNTAX_Asm
	#SYNTAX_Operator
	#SYNTAX_Structure
	#SYNTAX_Number
	#SYNTAX_Pointer
	#SYNTAX_Separator
	#SYNTAX_Label  
EndEnumeration

Prototype SyntaxHighlightCallback(*Position, Length.i, Color.i)

Import "SyntaxHilighting.lib"
	SyntaxHighlight(*Buffer, Length.i, Callback.SyntaxHighlightCallback, ASM.i)
EndImport

Global NewList *Keyword.String()
Global NewMap Keyword.String()
Global NewMap CloseKeyword.i()
Global NewMap BetweenKeyword.String()



Procedure GetProcessFromWindow(WindowID.i)
	Protected ProcessID.i
	If GetWindowThreadProcessId_(WindowID, @ProcessID)
		ProcedureReturn OpenProcess_(#PROCESS_ALL_ACCESS, #False, ProcessID)
	EndIf
EndProcedure

Procedure SendText(Text.s)
	Protected ScintillaID.i = Val(GetEnvironmentVariable("PB_TOOL_Scintilla"))
	Protected ProcessID.i = GetProcessFromWindow(ScintillaID)
	Protected Length.i, *MemoryID, *Buffer, Format.i
	If ProcessID
		Select SendMessage_(ScintillaID, #SCI_GETCODEPAGE, #Null, #Null)
			Case 0     : Format = #PB_Ascii
			Case 65001 : Format = #PB_UTF8
		EndSelect
		Length.i = StringByteLength(Text, Format)
		*Buffer = AllocateMemory(Length+SizeOf(Character))
		If *Buffer
			PokeS(*Buffer, Text, #PB_Default, Format)
			*MemoryID = VirtualAllocEx_(ProcessID, #Null, Length, #MEM_RESERVE|#MEM_COMMIT, #PAGE_EXECUTE_READWRITE)
			If *MemoryID
				WriteProcessMemory_(ProcessID, *MemoryID, *Buffer, Length, #Null)
				SendMessage_(ScintillaID, #SCI_ADDTEXT, Length, *MemoryID)
				VirtualFreeEx_(ProcessID, *MemoryID, Length, #MEM_RELEASE)
			EndIf
			FreeMemory(*Buffer)
		EndIf
		CloseHandle_(ProcessID)
	EndIf
EndProcedure

Procedure Callback(*Position, Length.i, Color.i)
	Protected Name.s
	Select Color
		Case #SYNTAX_Keyword
			Name = RemoveString(RemoveString(PeekS(*Position, Length, #PB_UTF8|#PB_ByteLength), " "), #TAB$)
			If FindMapElement(Keyword(), Name)
				AddElement(*Keyword())
				*Keyword() = @Keyword()
			ElseIf FindMapElement(CloseKeyword(), Name)
				If LastElement(*Keyword())
					DeleteElement(*Keyword())
				EndIf
			EndIf
	EndSelect
EndProcedure



; Definition of corresponding close-keywords
Keyword("CompilerIf")\s        = "CompilerEndIf"
Keyword("CompilerSelect")\s    = "CompilerEndSelect"
Keyword("DataSection")\s       = "EndDataSection"
Keyword("DeclareModule")\s     = "EndDeclareModule"
Keyword("EnableASM")\s         = "DisableASM"
Keyword("EnableDebugger")\s    = "DisableDebugger"
Keyword("EnableExplicit")\s    = "DisableExplicit"
Keyword("Enumeration")\s       = "EndEnumeration"
Keyword("EnumerationBinary")\s = "EndEnumeration"
Keyword("For")\s               = "Next"
Keyword("ForEach")\s           = "Next"
Keyword("If")\s                = "EndIf"
Keyword("Import")\s            = "EndImport"
Keyword("ImportC")\s           = "EndImport"
Keyword("Interface")\s         = "EndInterface"
Keyword("Macro")\s             = "EndMacro"
Keyword("Module")\s            = "EndModule"
Keyword("Procedure")\s         = "EndProcedure"
Keyword("ProcedureC")\s        = "EndProcedure"
Keyword("ProcedureDLL")\s      = "EndProcedure"
Keyword("ProcedureCDLL")\s     = "EndProcedure"
Keyword("Repeat")\s            = "ForEver"
Keyword("Select")\s            = "EndSelect"
Keyword("Structure")\s         = "EndStructure"
Keyword("StructureUnion")\s    = "EndStructureUnion"
Keyword("With")\s              = "EndWith"
Keyword("While")\s             = "Wend"

; Definition of corresponding in-between-keywords
BetweenKeyword("CompilerEndIf")\s     = "CompilerElse"
BetweenKeyword("CompilerEndSelect")\s = "CompilerCase"
BetweenKeyword("EndIf")\s             = "Else"
BetweenKeyword("EndSelect")\s         = "Case"
BetweenKeyword("EndProcedure")\s      = "ProcedureReturn"
BetweenKeyword("ForEver")\s           = "Until"
BetweenKeyword("Next")\s              = "Break"
BetweenKeyword("Wend")\s              = "Break"

; Definition of close-keywords
CloseKeyword("CompilerEndIf")     = #True
CloseKeyword("CompilerEndSelect") = #True
CloseKeyword("DisableASM")        = #True
CloseKeyword("DisableDebugger")   = #True
CloseKeyword("DisableExplicit")   = #True
CloseKeyword("EndDataSection")    = #True
CloseKeyword("EndEnumeration")    = #True
CloseKeyword("Next")              = #True
CloseKeyword("EndIf")             = #True
CloseKeyword("EndImport")         = #True
CloseKeyword("EndInterface")      = #True
CloseKeyword("EndMacro")          = #True
CloseKeyword("EndProcedure")      = #True
CloseKeyword("Until")             = #True
CloseKeyword("ForEver")           = #True
CloseKeyword("EndDeclareModule")  = #True
CloseKeyword("EndModule")         = #True
CloseKeyword("EndSelect")         = #True
CloseKeyword("EndStructure")      = #True
CloseKeyword("EndStructureUnion") = #True
CloseKeyword("EndWith")           = #True
CloseKeyword("Wend")              = #True



Enumeration
	#File
EndEnumeration

Define String.s
Define FileName.s = ProgramParameter(0)
Define Flag.i = Val(ProgramParameter(1))
Define Selection.s = GetEnvironmentVariable("PB_TOOL_Selection")
Define Row.i = Val(StringField(Selection, 1, "x"))
Define Column.i = Val(StringField(Selection, 2, "x"))
Define Line.i = 1
Define Format.i

If ReadFile(#File, FileName)
	Select ReadStringFormat(#File)
		Case #PB_Ascii   : Format = #PB_Ascii
		Case #PB_UTF8    : Format = #PB_UTF8
		Case #PB_Unicode : Format = #PB_Unicode
	EndSelect
	While Line < Row
		String = ReadString(#File, Format)
		*Buffer = UTF8(String)
		SyntaxHighlight(*Buffer, StringByteLength(String, #PB_UTF8), @Callback(), #False)
		FreeMemory(*Buffer)
		Line + 1 
	Wend
	String = ReadString(#File, Format)
	*Buffer = UTF8(String)
	SyntaxHighlight(*Buffer, StringByteLength(Left(String, Column-1), #PB_UTF8), @Callback(), #False)
	FreeMemory(*Buffer)
	If LastElement(*Keyword())
		If Flag
			SendText(BetweenKeyword(*Keyword()\s)\s)
		Else
			SendText(*Keyword()\s)
		EndIf
	EndIf
	CloseFile(#File)
EndIf
Zuletzt geändert von STARGÅTE am 12.11.2020 21:50, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Sammelliste für PureBasic Werkzeuge

Beitrag von HeX0R »

Lustig wie solche, eigentlich nützlichen Beiträge immer wieder in der Versenkung verschwinden.
Leider sind (mal wieder) einige der Tools nicht mehr erreichbar.
Selbst mein History Viewer, aber auch nur, weil es den alten Link nicht mehr gibt.
Hier gibt's das Ding noch: https://hex0rs.coderbu.de/de/node/12


Ausserdem sollte mein DialogDesign0R hier auch Erwähnung finden.
Beitrag: viewtopic.php?f=11&t=30657
Link: https://hex0rs.coderbu.de/de/dialogdesign0r
Antworten