Unten stehenden Code als Werkzeug einbinden und man kann einen ganzen Code oder einen markierten Teil einfach ausdrucken. Purebasic machts möglich.
Man kann natürlich auch ein anderes Textprogramm als Notepad zum Drucken angeben. z.B. Write.exe
Schriftart und Seitenränder sind in Notepad vorher anzugeben. Einfach aufrufen, ändern, Beenden.
Code: Alles auswählen
CompilerIf #PB_Compiler_Debugger
;zum Testen
para_dateiname$ = "c:\bremer\kto\kto.pb"
para_selection$ = "10x2x19x5"
CompilerElse
para_dateiname$ = ProgramParameter()
para_selection$ = ProgramParameter()
;wurde Datei noch nicht gepeichert, ist %FILE leer und die Parameter
;verschieben sich, so das para_selection$ ein Leerstring ist.
If para_selection$ = ""
MessageRequester("", "Datei noch nicht gespeichert")
End
EndIf
CompilerEndIf
path$ = GetEnvironmentVariable("TEMP")
print_dateiname$ = path$ + "\mySelection.txt"
row1$ = StringField(para_selection$, 1, "x")
col1$ = StringField(para_selection$, 2, "x")
row2$ = StringField(para_selection$, 3, "x")
col2$ = StringField(para_selection$, 4, "x")
If Bool(row1$ = row2$ And col1$ = col2$)
selected = #False
Else
selected = #True
EndIf
If selected = #True
vonzeile = Val(row1$)
biszeile = Val(row2$)
dnr = ReadFile(#PB_Any, para_dateiname$)
znr = CreateFile(#PB_Any, print_dateiname$)
If dnr
If znr
WriteStringN(znr, "")
WriteStringN(znr, #PB_Compiler_Filename + " von Zeile: " + row1$ + " bis " + row2$)
WriteStringN(znr, "")
While Eof(dnr) = 0
x$ = ReadString(dnr)
ze + 1
If Bool(ze >= vonzeile And ze <= biszeile)
WriteStringN(znr, RSet(Str(ze), 5) + " " + x$)
EndIf
Wend
CloseFile(znr)
EndIf
CloseFile(dnr)
EndIf
Else
print_dateiname$ = para_dateiname$
EndIf
ShellExecute_(#Null, "open", "notepad", "/P " + print_dateiname$, #Null, #SW_HIDE)
;oder
;RunProgram("Notepad", "/P " + print_dateiname$, "")
Programm als EXE compilieren. Ich habe es im Purebasic Verzeichnis stehen mit Namen pbprint.exe
Einbinden:
Folgendes Beispiel mit PB 5.21, ältere Versionen können abweichen
Werkzeuge/Werkzeuge konfigurieren aufrufen
Neu wählen
In Kommandozeile
Programmname (incl.kompletter Pfad) eingeben oder Button durchsuchen drücken
z.B. C:\Bremer\PureBasic521\pbprint.exe
In Argumente
%FILE %SELECTION
Arbeitsverzeichnis
nix eingeben
Name
z.B. PbPrint
Ereignis
Menu oder Tastenkürzel
Tastenkürzel
drücken sie z.B. STRG + P
ok drücken, ok drücken und FERTIG !
Will man für das Werkzeug ein Symbol in der oberen Symbolleiste haben
Datei/Einstellungen
Symbolleiste
Einstellungen für den Eintrag: Combobox steht bei Trennzeichen, Button hinzufügen drücken
ein Trennzeichen wird ans Ende der Liste gesetzt
Dann Combobox drücken und Symbol-Datei wählen
Rechts daneben Durchsuchen Button drücken (...) und eine passende ico oder png Datei wählen
linke Combobox darunter Werkzeug starten wählen
rechte Combobox PbPrint wählen (wie auch immer ihr es genannt habt)
Hinzufügen drücken und übernehmen, das wars