|
"Eleganckie" drukowanie (przysłał Filip "Filus" Pająk) |
|
|
|
Napisał Administrator
|
|
wtorek, 24 styczeń 2006 |
Kruczek:
Szybkie drukowanie:
Filip "Filus" Pająk
Jeżeli chcemy dać użytkownikowi opcję drukowania zawartości np. okienka
tekstowego możemy skorzystać ze standartowego polecenia Printer.Print
dokument. O ile starcza to na wydruki małej ilości znaków, to przy większej
ich ilości, czy "wielowierszowości" zaczynają się schody. Jeżeli opcja
wydruku ma być tylko miłym dodatkiem możemy zamiast pisać procedury
formatujące i drukujące tekst, wykorzystać do tego celu windowsowy Notatnik.
1. Najpierw deklarujemy w General declarations dwie zmienne:
Dim Addres$, tdd$
2. Potem w kodzie funkcji odpowiedzialnej za drukowanie wpisujemy:
MsgBox "Włóż papier", vbOKOnly + vbExclamation, "Drukuj"
'przykładowe okienko potwierdzenia chęci drukowania
If Text1.SelText = "" Then tdd$ = Text1.text Else tdd$ = Text1.SelText
'tutaj program pobiera do drukowania albo zaznaczony fragment tekstu
lub całą zawartość przykładowego okienka tekstowego Text1 zapisując ją w
zmiennej tdd$
If Len(App.Path) = 3 Then Addres = App.Path + "nazwa.txt" Else Addres
= App.Path + "\" + "nazwa.txt"
'tutaj ustalamy miejsce utworzenia tymczasowego pliku nazwa.txt. Uwaga
wartość którą wpiszamy jako nazwa pojawi się w nagłówku wydruku!
Open Addres$ For Output As #5
Write #5, tdd$
Close #5
'zapisuje wartość zmiennej tdd$ w pliku tymczasowym
X = Shell("notepad.exe /p" + Addres$, vbHide)
'uruchamia w trybie "ukrytym" Notatnik który formatuje nasz tekst i
wysyła do Menedżera Wydruku
Kill (Addres$)
'kasuje nasz plik tymczasowy
Oczywiście możemy w miarę potrzeb modyfikować tę funkcję, pamiętając jednak,
że przy łączeniu danych z różnych źródeł, chcąc wydrukować je w osobnych
wierszach powinniśmy dodać instrukcje Chr$(13)+Chr$(10), np:
tdd$=Label1.Caption + Chr$(13) + Chr$(10) + Text1.Text
Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie. Tylko zarejestrowani użytkownicy mogą pisać komentarze. Powered by AkoComment 2.0! |