Nicht gespeicherte Dateien werden nicht unterstützt. Diese wären auch
schön blöd, wenn sie relative Pfade enthalten würden

Nicht gespeicherte Dateien können ja nicht geöffnet werden, wozu die unterstützen

Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Code: Alles auswählen
; AutoOpenIncludes
; Autor: André (AND51) Stapf
; Requires: PB 4.00+
; Demo: No (Yes, if you leave out the API)
EnableExplicit
Define.s zeile, path=GetPathPart(GetEnvironmentVariable("PB_TOOL_Compiler")), file=ProgramParameter(), mutex="AutoOpenInclude"+GetEnvironmentVariable("PB_Tool_MainWindow")
CreateMutex_(0, 1, @mutex)
WaitForSingleObject_(mutex, 12345)
Procedure runFile(file.s)
If FileSize(file) >= 0
RunProgram(file) ; There MUST be a delay in order to load all includes correctly! This is, because the IDE is so slow...
Delay(IntQ(FileSize(file)/2.3)) ; If this is too slow for you, define your own delay here!
EndIf
EndProcedure
If ReadFile(0, file)
Define format=ReadStringFormat(0), path.s=GetPathPart(file)
While Not Eof(0)
Define zeile.s=ReadString(0, format)
Define inc=FindString(zeile, "IncludeFile", 1), incX=FindString(zeile, "XIncludeFile", 1), incP=FindString(zeile, "IncludePath", 1), comment=FindString(zeile, ";", 1)
Define quoteL=0, quoteR=0
If comment <= inc And comment <= incX And comment <= incP And inc|incX|incP
If incP
quoteL=FindString(zeile, Chr(34), incP)
quoteR=FindString(zeile, Chr(34), quoteL+1)
path=Mid(zeile, quoteL+1, quoteR-quoteL-1)+"\"
EndIf
If incX
quoteL=FindString(zeile, Chr(34), incX)
quoteR=FindString(zeile, Chr(34), quoteL+1)
runFile(path+Mid(zeile, quoteL+1, quoteR-quoteL-1))
EndIf
If inc And (inc-1 <> incX And Not incX)
quoteL=FindString(zeile, Chr(34), inc)
quoteR=FindString(zeile, Chr(34), quoteL+1)
runFile(path+Mid(zeile, quoteL+1, quoteR-quoteL-1))
EndIf
EndIf
Delay(1)
Wend
CloseFile(0)
EndIf
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
#PB_Program_Wait veranlasst das Werkzeug auf das Ende seines Kindprozesses zu warten!ts-soft hat geschrieben:Nicht die IDE warten lassen, das geht nicht, RunProgram warten lassen, bis beendet!
Der Auslöser: Quellcode geladen ist wichtig, sonst kanns nicht gehen
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Tjaaaa...TS-Soft hat geschrieben:An die Environmentvar hab ich nicht gedacht
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End