🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.vbasic
4 messages
4 total messages Started by ChrissP. Tue, 29 Jun 2010 15:01
Drukownie w .NET
#104675
Author: ChrissP.
Date: Tue, 29 Jun 2010 15:01
28 lines
1747 bytes
Witam

O ile z VB sobie radzę, o tyle drukowanie z poziomu VB.NET mnie
rozłożyło...

Otóż mam dwie tablice: sNames() i sNumbers(). Chcę umożliwić wybór
drukarki oraz _podajnika_ (ze względu na specjalny rozmiar papieru) i
wydrukować trzy linijki tekstu: data (wspólna dla każdej karty), imię i
nazwisko (z tablicy) oraz numer (też z tablicy). Ilość nazwisk i
numerów jest równa, całkowita ilość jednych i drugich wacha się od 100
do 200.

Dość ważne dla mnie, by całość drukowała się jako jeden
(wielostronicowy) dokument.

Niestety, materiały MS na temat drukowania w .NET "nie przemawiają" do
mnie, zaś poradniki, które znalazłem w sieci, pozwalają mi co prawda
wydrukować co chcę (niestety tylko na domyślnej drukarce), ale jako
osobne dokumenty (co w przypadku np. próby wymuszenia przez drukarkę
użycia innego papieru/podajnika, powoduje koszmar np. 150-krotnego
wciśnięcia "Continue"... co 40s...

Będę bardzo wdzięczny za pomoc...

-- 
Pozdrawiam

Krzysztof
Re: Drukownie w .NET
#104676
Author: ChrissP.
Date: Tue, 29 Jun 2010 15:10
11 lines
893 bytes
ChrissP. wrote:


> Będę bardzo wdzięczny za pomoc...
Oczywiście chodzi o Visual Basic (VS 2008)...


-- 
Pozdrawiam

Krzysztof
Re: Drukownie w .NET
#104677
Author: joker77
Date: Tue, 29 Jun 2010 19:01
33 lines
1721 bytes
najprostszy przykład:

dim pd1 as new printdocument
dim linia, ostatnia as integer

sub form1_load
addhandler pd1.PrintPage, addressof mojaobsluga
end sub

sub wywolaj_drukowanie()

linia = 0
ostatnia = 50

pd1.PrinterSettings.PrinterName = "MOJA NAZWA DRUKARKI" '<- bez tego
drukuje na domyślej
pd1.print()

end sub

sub mojaobsluga(ByVal sender As Object, ByVal e As
System.Drawing.Printing.PrintPageEventArgs)

for i as integer=0 to 9
 e.graphics.drawline(New Pen(Color.Black, 1),10,10+i,100,10+i)
 linia+=1
next

if linia<ostatnia then
 e.HasMorePages = true
end if

end sub
Re: Drukownie w .NET
#104678
Author: ChrissP.
Date: Sat, 03 Jul 2010 13:19
42 lines
1603 bytes
joker77 wrote:

> najprostszy przykład:
> 
> dim pd1 as new printdocument
> dim linia, ostatnia as integer
> 
> sub form1_load
> addhandler pd1.PrintPage, addressof mojaobsluga
> end sub
> 
> sub wywolaj_drukowanie()
> 
> linia = 0
> ostatnia = 50
> 
> pd1.PrinterSettings.PrinterName = "MOJA NAZWA DRUKARKI" '<- bez tego
> drukuje na domyślej
> pd1.print()
> 
> end sub
> 
> sub mojaobsluga(ByVal sender As Object, ByVal e As
> System.Drawing.Printing.PrintPageEventArgs)
> 
> for i as integer=0 to 9
>  e.graphics.drawline(New Pen(Color.Black, 1),10,10+i,100,10+i)
>  linia+=1
> next
> 
> if linia<ostatnia then
>  e.HasMorePages = true
> end if
> 
> end sub

Dzięki bardzo, pomogło :)

-- 
Pozdrawiam

Krzysztof
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads