Open a generated text file in Notepad++
Posted: Sat Mar 15, 2025 1:32 am
Is it possible, after generating a text file in a program, to get Notepad++ to open the text file for reading?
http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
Define Filename$ = "Test.txt"
RunProgram("notepad++", Filename$, "", #PB_Program_Open)
Code: Select all
Define Filename$ = "Test.txt"
RunProgram("C:\Program Files\Notepad++\notepad++.exe", Filename$, "", #PB_Program_Open)
Code: Select all
Define Filename$ = "Test.txt"
RunProgram(Filename$, "", "", #PB_Program_Open)
Code: Select all
f$=fol+"File Explorer - "+fil+".txt"
Debug f$
RunProgram("C:\Program Files\Notepad++\notepad++.exe",f$,fol,#PB_Program_Open)
Code: Select all
f$=fol+"File Explorer - "+fil+".txt"
Debug f$
RunProgram(f$, "", "", #PB_Program_Open)
Code: Select all
f$=Chr(34) + fol+"File Explorer - "+fil+".txt" + Chr(34)
Debug f$
RunProgram("C:\Program Files\Notepad++\notepad++.exe",f$,fol,#PB_Program_Open)
Code: Select all
EnableExplicit
#ASSOCSTR_EXECUTABLE = 2
#ASSOCF_VERIFY = $40
Procedure.s AssocExe(Ext$, *Act)
Protected Size, OutRes.s
AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, 0, @Size)
OutRes = Space(Size)
If AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, @OutRes, @Size)
OutRes = ""
EndIf
ProcedureReturn OutRes
EndProcedure
Define editor$
editor$ = "C:\Program Files\Notepad++\notepad++.exe"
If Not Asc(editor$) Or FileSize(editor$) < 0
editor$ = AssocExe(".txt", 0)
If Not Asc(editor$)
editor$ = "notepad.exe"
EndIf
EndIf
RunProgram(editor$, #DQUOTE$ + #PB_Compiler_File + #DQUOTE$, "")
Yes, that works, thanks.Fips wrote: Sat Mar 15, 2025 8:58 pm Might be the space characters
TryCode: Select all
f$=Chr(34) + fol+"File Explorer - "+fil+".txt" + Chr(34) Debug f$ RunProgram("C:\Program Files\Notepad++\notepad++.exe",f$,fol,#PB_Program_Open)
I'm not sure I understand any of this, but why wouldn't I like a Quine?!AZJIO wrote: Sat Mar 15, 2025 10:06 pmCode: Select all
EnableExplicit #ASSOCSTR_EXECUTABLE = 2 #ASSOCF_VERIFY = $40 Procedure.s AssocExe(Ext$, *Act) Protected Size, OutRes.s AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, 0, @Size) OutRes = Space(Size) If AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, @OutRes, @Size) OutRes = "" EndIf ProcedureReturn OutRes EndProcedure Define editor$ editor$ = "C:\Program Files\Notepad++\notepad++.exe" If Not Asc(editor$) Or FileSize(editor$) < 0 editor$ = AssocExe(".txt", 0) If Not Asc(editor$) editor$ = "notepad.exe" EndIf EndIf RunProgram(editor$, #DQUOTE$ + #PB_Compiler_File + #DQUOTE$, "")
He had no text file ready, so he used the code itself. Just replace #PB_Compiler_File with your text file.matalog wrote: Sun Mar 16, 2025 1:35 amI'm not sure I understand any of this, but why wouldn't I like a Quine?!AZJIO wrote: Sat Mar 15, 2025 10:06 pmCode: Select all
EnableExplicit #ASSOCSTR_EXECUTABLE = 2 #ASSOCF_VERIFY = $40 Procedure.s AssocExe(Ext$, *Act) Protected Size, OutRes.s AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, 0, @Size) OutRes = Space(Size) If AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, @OutRes, @Size) OutRes = "" EndIf ProcedureReturn OutRes EndProcedure Define editor$ editor$ = "C:\Program Files\Notepad++\notepad++.exe" If Not Asc(editor$) Or FileSize(editor$) < 0 editor$ = AssocExe(".txt", 0) If Not Asc(editor$) editor$ = "notepad.exe" EndIf EndIf RunProgram(editor$, #DQUOTE$ + #PB_Compiler_File + #DQUOTE$, "")
This a Quine isn't it?
Hi.AZJIO wrote: Sat Mar 15, 2025 10:06 pmCode: Select all
EnableExplicit #ASSOCSTR_EXECUTABLE = 2 #ASSOCF_VERIFY = $40 Procedure.s AssocExe(Ext$, *Act) Protected Size, OutRes.s AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, 0, @Size) OutRes = Space(Size) If AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, @OutRes, @Size) OutRes = "" EndIf ProcedureReturn OutRes EndProcedure Define editor$ editor$ = "C:\Program Files\Notepad++\notepad++.exe" If Not Asc(editor$) Or FileSize(editor$) < 0 editor$ = AssocExe(".txt", 0) If Not Asc(editor$) editor$ = "notepad.exe" EndIf EndIf RunProgram(editor$, #DQUOTE$ + #PB_Compiler_File + #DQUOTE$, "")