Re: Printing on a thermal printer
From: Martin Robins (_at_)
Date: 03/14/04
- Next message: Pete Davis: "Strong names in Open Source"
- Previous message: r: "Re: interrupt a while loop"
- In reply to: Francisco Duran: "Printing on a thermal printer"
- Messages sorted by: [ date ] [ thread ]
Date: Sun, 14 Mar 2004 15:37:24 -0000
Francisco,
I use a lot of Thermal Printers for labelling applications and have had the
same problems that you face; not only is the coding for .NET printing a
little heavy going, but it is also slow whilst the image is built up and
then sent to the printer (normally as a graphic).
I got around this by creating a class that uses P/Invoke to access the print
spooler API's and allows me to send command directly to the printer in its
own language. This also solved a problem I found when using the Eltron Orion
printer which required only a carriage return after each command and no
line-feed; I had previously tried issuing the commands through the "generic
text only" printer driver and as well as the speed issues it also insisted
on adding the line feeds which corrupted the commands.
I have attached the class for you to look at and you can play with it as you
wish. Simply set the printer name to the name of any installed windows
printer or any shared windows printer on your network and then send the data
you want to the printer device.
Example:
DirectPrinter receiptPrinter = new DirectPrinter();
receiptPrinter.DeviceName = @"Eltron Orion";
receiptPrinter.OpenPrinter();
receiptPrinter.DocumentName = @"Sales Receipt";
receiptPrinter.OpenDocument();
receiptPrinter.StartPage();
receiptPrinter.Write(@"MY COMPANY");
receiptPrinter.Write(...);
receiptPrinter.Write(...);
receiptPrinter.EndPage();
receiptPrinter.EndDocument();
receiptPrinter.ClosePrinter();
The StartPage() and EndPage() calls can be repeated if you wish; they do not
actually control the printing of pages as the driver is being bypassed, but
they do increment the page count in the windows spooler display!
Good luck.
Martin.
"Francisco Duran" <fduranm@hotmail.com> wrote in message
news:u2P3eDFCEHA.2740@TK2MSFTNGP12.phx.gbl...
> I am working in a .NET based Point of Sale solution. As a requirement I
> need to print on thermal printers. I am looking for a recommendations or
> best practices to achive this as the .NET Framework classes for printing
are
> not working very well. As a matter of fact, the .NET framework classes
> don't work with the thermal printers I have access to, because they only
> accept certain characters and they don't work very well with Graphics
(true
> type fonts?).
>
> I need to know if there's another way to print, even if there are some
> primitives to print a single line at a time. I don't need print previews
or
> printer selection windows as the only thing required is to send receipts
to
> the printer as soon as the point of sale receives the payment from the
> customer.
>
> Any link or code sample would be very appreciated or if you know a
> third-party product that achieve the same goal please let me know.
>
> Thanks in advance for your help.
>
> Best Regards,
>
> Francisco Duran
>
>
begin 666 DirectPrinter.cs
M;F%M97-P86-E($]R<&AE=7,N5VEN9&]W<RY3<&]O;&5R#0I[#0H-"@DC<F5G
M:6]N($YA;65S<&%C92!R969E<F5N8V5S#0H)#0H)=7-I;F<@4WES=&5M.PT*
M"75S:6YG(%-Y<W1E;2Y$:6%G;F]S=&EC<SL-"@EU<VEN9R!3>7-T96TN4G5N
M=&EM92Y);G1E<F]P4V5R=FEC97,[#0H-"@DC96YD<F5G:6]N#0H@( T*"2\O
M+R \<W5M;6%R>3X-"@DO+R\@02!0<FEN=&5R(&]B:F5C="!T:&%T('=H:6QS
M="!U=&EL:7-I;F<@=&AE(%=I;F1O=W,@<W!O;VQE<BP@8GEP87-S97,-"@DO
M+R\@86YY(&EN<W1A;&QE9"!P<FEN=&5R(&1R:79E<G,N#0H)+R\O(#PO<W5M
M;6%R>3X-"@EP=6)L:6,@8VQA<W,@1&ER96-T4')I;G1E<B Z($E$:7-P;W-A
M8FQE#0H)>PT*#0H)"2-R96=I;VX@365M8F5R('9A<FEA8FQE(&1E8VQA<F%T
M:6]N<PT*#0H)"2\O+R \<W5M;6%R>3X-"@D)+R\O(%1H92!H86YD;&4@=&\@
M=&AE('!R:6YT97(@9F]R('1H92!!4$DN#0H)"2\O+R \+W-U;6UA<GD^#0H)
M"7!R;W1E8W1E9"!);G10='(@<')I;G1E<DAA;F1L92 ]($EN=%!T<BY:97)O
M.PT*"0EP<FEV871E(&EN="!P<FEN=$IO8CL-"@D)<')I=F%T92!3=')I;F<@
M9&5V:6-E3F%M92 ]("(B.PT*"0EP<FEV871E(%-T<FEN9R!D;V-U;65N=$YA
M;64@/2 B(CL-"@T*"0EP<FEV871E($)O;VQE86X@9&ES<&]S960@/2!F86QS
M93L-"@T*"0DC96YD<F5G:6]N#0H-"@D)(W)E9VEO;B!#;VYS=')U8W1O<B O
M($1E<W1R=6-T;W(-"@T*"0DO+R\@/'-U;6UA<GD^#0H)"2\O+R!#<F5A=&5S
M(&$@;F5W(&EN<W1A;F-E(&]F('1H92!$:7)E8W10<FEN=&5R(&-L87-S+@T*
M"0DO+R\@/"]S=6UM87)Y/@T*"0EP=6)L:6,@1&ER96-T4')I;G1E<B@I('L-
M"@D)?0T*"0D-"@D)+R\O(#QS=6UM87)Y/@T*"0DO+R\@0W)E871E<R!A(&YE
M=R!I;G-T86YC92!O9B!T:&4@1&ER96-T4')I;G1E<B!C;&%S<RX-"@D)+R\O
M(#PO<W5M;6%R>3X-"@D)+R\O(#QP87)A;2!N86UE/2)D979I8V5.86UE(CY4
M:&4@;F%M92!O9B!T:&4@<')I;G1E<B!D979I8V4N/"]P87)A;3X-"@D)<'5B
M;&EC($1I<F5C=%!R:6YT97(H4W1R:6YG(&1E=FEC94YA;64I(#H@=&AI<R@I
M('L-"@D)"71H:7,N9&5V:6-E3F%M92 ](&1E=FEC94YA;64[#0H)"7T-"@T*
M"0DO+R\@/'-U;6UA<GD^#0H)"2\O+R!#;&5A;B!U<"!A;GD@<F5S;W5R8V5S
M(&)E:6YG('5S960N#0H)"2\O+R \+W-U;6UA<GD^#0H)"7!U8FQI8R!V;VED
M($1I<W!O<V4H*2![#0H)"0ET:&ES+D1I<W!O<V4H=')U92D[#0H)"7T-"@T*
M"0DO+R\@/'-U;6UA<GD^#0H)"2\O+R!#;&5A;B!U<"!A;GD@<F5S;W5R8V5S
M(&)E:6YG('5S960N#0H)"2\O+R \+W-U;6UA<GD^#0H)"2\O+R \<&%R86T@
M;F%M93TB9&ES<&]S:6YG(CX\+W!A<F%M/@T*"0EP<F]T96-T960@=FER='5A
M;"!V;VED($1I<W!O<V4H0F]O;&5A;B!D:7-P;W-I;F<I('L-"@D)"6EF("@A
M=&AI<RYD:7-P;W-E9"D@>PT*"0D)"71R>2"0D)?0T*"0D)
M"69I;F%L;'D@>PT*"0D)"7T-"@D)"7T-"@D)?0T*#0H)"2\O+R \<W5M;6%R
M>3X-"@D)+R\O( T*"0DO+R\@/"]S=6UM87)Y/@T*"0E^1&ER96-T4')I;G1E
M<B@I('L-"@D)"71H:7,N1&ES<&]S92@I.PT*"0E]#0H-"@D)(V5N9')E9VEO
M;@T*#0H)"2-R96=I;VX@4')O<&5R=&EE<PT*#0H)"2\O+R \<W5M;6%R>3X-
M"@D)+R\O($=E=',@;W(@<V5T<R!T:&4@;F%M92!O9B!T:&4@<')I;G1E<B!D
M979I8V4@=&\@=7-E#0H)"2\O+R \+W-U;6UA<GD^#0H)"7!U8FQI8R!3=')I
M;F<@1&5V:6-E3F%M92![#0H)"0EG970@>W)E='5R;B!T:&ES+F1E=FEC94YA
M;64[?0T*"0D)<V5T('L-"@D)"0ET:&ES+F1E=FEC94YA;64@/2!V86QU93L-
M"@D)"0E/;D1E=FEC94YA;65#:&%N9V5D*$5V96YT07)G<RY%;7!T>2D[#0H)
M"0E]#0H)"7T-"@D)+R\O(#QS=6UM87)Y/@T*"0DO+R\@179E;G0@9FER960@
M=VAE;B!T:&4@=F%L=64@;V8@)T1E=FEC94YA;64G(&-H86YG97,N#0H)"2\O
M+R \+W-U;6UA<GD^#0H)"7!U8FQI8R!E=F5N="!%=F5N=$AA;F1L97(@1&5V
M:6-E3F%M94-H86YG960@/2!N=6QL.PT*#0H)"2\O+R \<W5M;6%R>3X-"@D)
M+R\O($=E=',@;W(@<V5T<R!T:&4@;F%M92!T;R!U<V4@9F]R('1H92!D;V-U
M;65N="!W:71H:6X@=&AE('!R:6YT97(@;6%N86=E<BX-"@D)+R\O(#PO<W5M
M;6%R>3X-"@D)<'5B;&EC(%-T<FEN9R!$;V-U;65N=$YA;64@>PT*"0D)9V5T
M('MR971U<FX@=&AI<RYD;V-U;65N=$YA;64[?0T*"0D)<V5T('L-"@D)"0ET
M:&ES+F1O8W5M96YT3F%M92 ]('9A;'5E.PT*"0D)?0T*"0E]#0H-"@D)(V5N
M9')E9VEO;@T*"0D-"@D)(W)E9VEO;B!-971H;V1S#0H-"@D)+R\O(#QS=6UM
M87)Y/@T*"0DO+R\@4F5L96%S92!T:&4@<')I;G1E<B!H86YD;&4N#0H)"2\O
M+R \+W-U;6UA<GD^#0H)"7!R;W1E8W1E9"!V:7)T=6%L('9O:60@0VQO<V50
M<FEN=&5R*"D@>PT*"0D)05!)+D-L;W-E4')I;G1E<BAT:&ES+G!R:6YT97)(
M86YD;&4I.PT*"0D)=&AI<RYP<FEN=&5R2&%N9&QE(#T@26YT4'1R+EIE<F\[
M#0H)"7T-"@T*"0DO+R\@/'-U;6UA<GD^#0H)"2\O+R!%;F0@<')I;G1I;F<@
M=&AE(&-U<G)E;G0@9&]C=6UE;G0N#0H)"2\O+R \+W-U;6UA<GD^#0H)"7!R
M;W1E8W1E9"!V:7)T=6%L('9O:60@16YD1&]C=6UE;G0H*2![#0H)"0E!4$DN
M16YD1&]C4')I;G1E<BAT:&ES+G!R:6YT97)(86YD;&4I.PT*"0E]#0H-"@D)
M+R\O(#QS=6UM87)Y/@T*"0DO+R\@16YD('!R:6YT:6YG('1H92!C=7)R96YT
M('!A9V4N#0H)"2\O+R \+W-U;6UA<GD^#0H)"7!R;W1E8W1E9"!V:7)T=6%L
M('9O:60@16YD4&%G92@I('L-"@D)"4%022Y%;F1086=E4')I;G1E<BAT:&ES
M+G!R:6YT97)(86YD;&4I.PT*"0E]#0H-"@D)+R\O(#QS=6UM87)Y/@T*"0DO
M+R\@3W!E;B!T:&4@<V5L96-T960@<')I;G1E<BX-"@D)+R\O(#PO<W5M;6%R
M>3X-"@D)<')O=&5C=&5D('9I<G1U86P@=F]I9"!/<&5N4')I;G1E<B@I('L-
M"@D)"6EF("@A05!)+D]P96Y0<FEN=&5R*'1H:7,N9&5V:6-E3F%M92P@;W5T
M('1H:7,N<')I;G1E<DAA;F1L92P@,"DI('L-"@D)"0ET:')O=R!N97<@17AC
M97!T:6]N*$UA<G-H86PN1V5T3&%S=%=I;C,R17)R;W(H*2Y4;U-T<FEN9R@I
M*3L-"@D)"7T-"@D)?0T*#0H)"2\O+R \<W5M;6%R>3X-"@D)+R\O(%-T87)T
M(&$@;F5W(&1O8W5M96YT(&]N('1H92!O<&5N('!R:6YT97(N#0H)"2\O+R \
M+W-U;6UA<GD^#0H)"7!R;W1E8W1E9"!V:7)T=6%L('9O:60@4W1A<G1$;V-U
M;65N="@I('L-"@D)"4%022Y$3T-?24Y&3U\Q(&1O8TEN9F\@/2!N97<@05!)
M+D1/0U])3D9/7S$H*3L-"@D)"61O8TEN9F\N<$1O8TYA;64@/2!D;V-U;65N
M=$YA;64[#0H)"0ED;V-);F9O+G!/=71P=71&:6QE(#T@;G5L;#L-"@D)"61O
M8TEN9F\N<$1A=&%4>7!E(#T@0")205<B.PT*"0D):68@*"AP<FEN=$IO8B ]
M($%022Y3=&%R=$1O8U!R:6YT97(H=&AI<RYP<FEN=&5R2&%N9&QE+" Q+"!D
M;V-);F9O*2D@/3T@,"D@>PT*"0D)"71H<F]W(&YE=R!%>&-E<'1I;VXH36%R
M<VAA;"Y'971,87-T5VEN,S)%<G)O<B@I+E1O4W1R:6YG*"DI.PT*"0D)?0T*
M"0E]#0H-"@D)+R\O(#QS=6UM87)Y/@T*"0DO+R\@4W1A<G0@82!N97<@<&%G
M92X-"@D)+R\O(#PO<W5M;6%R>3X-"@D)<')O=&5C=&5D('9I<G1U86P@=F]I
M9"!3=&%R=%!A9V4H*2![#0H)"0E!4$DN4W1A<G1086=E4')I;G1E<BAT:&ES
M+G!R:6YT97)(86YD;&4I.PT*"0E]#0H-"@D)+R\O(#QS=6UM87)Y/@T*"0DO
M+R\@1FER92!T:&4@)T1E=FEC94YA;65#:&%N9V5D)R!E=F5N="X-"@D)+R\O
M(#PO<W5M;6%R>3X-"@D)+R\O(#QP87)A;2!N86UE/2)E(CX\+W!A<F%M/@T*
M"0EP<F]T96-T960@=FER='5A;"!V;VED($]N1&5V:6-E3F%M94-H86YG960H
M179E;G1!<F=S(&4I('L-"@D)"6EF("AT:&ES+D1E=FEC94YA;65#:&%N9V5D
M("$](&YU;&PI#0H)"0D)=&AI<RY$979I8V5.86UE0VAA;F=E9"AT:&ES+"!E
M*3L-"@D)?0T*#0H)"2\O+R \<W5M;6%R>3X-"@D)+R\O(%=R:71E(&$@<W1R
M96%M(&]F(&1A=&$@=&\@=&AE('!R:6YT97(-"@D)+R\O(#PO<W5M;6%R>3X-
M"@D)+R\O(#QP87)A;2!N86UE/2)B>71E<R(^=&AE(&1A=&$@=&\@<V5N9"!T
M;R!T:&4@<')I;G1E<BX\+W!A<F%M/@T*"0DO+R\@/'!A<F%M(&YA;64](FQE
M;F=T:"(^=&AE(&QE;F=T:"!O9B!T:&4@9&%T82!B96EN9R!S96YT+CPO<&%R
M86T^#0H)"7!U8FQI8R!V;VED(%=R:71E1&%T82AB>71E6UT@8GET97,L($EN
M=#,R(&QE;F=T:"D@>PT*"0D)26YT4'1R('!5;FUA;F%G961">71E<R ]($UA
M<G-H86PN06QL;V-#;U1A<VM-96TH;&5N9W1H*3L-"@D)"4UA<G-H86PN0V]P
M>2AB>71E<RP@,"P@<%5N;6%N86=E9$)Y=&5S+"!L96YG=&@I.PT*"0D)=&AI
M<RY7<FET941A=&$H<%5N;6%N86=E9$)Y=&5S+"!L96YG=&@I.PT*"0D)36%R
M<VAA;"Y&<F5E0V]487-K365M*'!5;FUA;F%G961">71E<RD[#0H)"7T-"@T*
M"0DO+R\@/'-U;6UA<GD^#0H)"2\O+R!7<FET92!A('-T<F5A;2!O9B!D871A
M('1O('1H92!P<FEN=&5R#0H)"2\O+R \+W-U;6UA<GD^#0H)"2\O+R \<&%R
M86T@;F%M93TB<$)Y=&5S(CYT:&4@9&%T82!T;R!S96YD('1O('1H92!P<FEN
M=&5R+CPO<&%R86T^#0H)"2\O+R \<&%R86T@;F%M93TB9'=#;W5N="(^/"]P
M87)A;3X-"@D)<'5B;&EC('9O:60@5W)I=&5$871A*$EN=%!T<B!P0GET97,L
M($EN=#,R(&1W0V]U;G0I('L-"@D)"4EN=#,R(&1W0GET97-7<FET=&5N(#T@
M,#L-"@D)"6EF("@H(4%022Y7<FET95!R:6YT97(H=&AI<RYP<FEN=&5R2&%N
M9&QE+"!P0GET97,L(&1W0V]U;G0L(&]U="!D=T)Y=&5S5W)I='1E;BDI('Q\
M("AD=T)Y=&5S5W)I='1E;B A/2!D=T-O=6YT*2D@>PT*"0D)"71H<F]W(&YE
M=R!%>&-E<'1I;VXH36%R<VAA;"Y'971,87-T5VEN,S)%<G)O<B@I+E1O4W1R
M:6YG*"DI.PT*"0D)?0T*"0E]#0H-"@D)+R\O(#QS=6UM87)Y/@T*"0DO+R\@
M5W)I=&4@82!S=')E86T@;V8@9&%T82!T;R!T:&4@<')I;G1E<@T*"0DO+R\@
M/"]S=6UM87)Y/@T*"0DO+R\@/'!A<F%M(&YA;64](G1E>'0B/G1H92!D871A
M('1O('-E;F0@=&\@=&AE('!R:6YT97(N/"]P87)A;3X-"@D)<'5B;&EC('9O
M:60@5W)I=&5$871A*%-T<FEN9R!T97AT*2![#0H)"0E);G10='(@<$)Y=&5S
M(#T@36%R<VAA;"Y3=')I;F=4;T-O5&%S:TUE;4%N<VDH=&5X="D[#0H)"0ET
M:&ES+E=R:71E1&%T82AP0GET97,L('1E>'0N3&5N9W1H*3L-"@D)"4UA<G-H
M86PN1G)E94-O5&%S:TUE;2AP0GET97,I.PT*"0E]#0H-"@D)(V5N9')E9VEO
,;@T*#0H)?0T*?0T*
`
end
begin 666 API.cs
M;F%M97-P86-E($]R<&AE=7,N5VEN9&]W<RY3<&]O;&5R('L-"@T*"2-R96=I
M;VX@3F%M97-P86-E(')E9F5R96YC97,-"@T*"75S:6YG(%-Y<W1E;3L-"@EU
M<VEN9R!3>7-T96TN4G5N=&EM92Y);G1E<F]P4V5R=FEC97,[#0H-"@DC96YD
M<F5G:6]N#0H-"@DO+R\@/'-U;6UA<GD^#0H)+R\O(%=I;F1O=W,@4')I;G1I
M;F<@86YD(%!R:6YT('-P;V]L97(@05!)(&9U;F-T:6]N<RX-"@DO+R\@/"]S
M=6UM87)Y/@T*"7!U8FQI8R!C;&%S<R!!4$D@>PT*#0H)"2\O+R \<W5M;6%R
M>3X-"@D)+R\O($1E<V-R:6)E<R!A(&1O8W5M96YT('1H870@=VEL;"!B92!P
M<FEN=&5D+@T*"0DO+R\@/"]S=6UM87)Y/@T*"0E;4W1R=6-T3&%Y;W5T*$QA
M>6]U=$MI;F0N4V5Q=65N=&EA;"P@0VAA<E-E=#U#:&%R4V5T+D%N<VDI70T*
M"0EP=6)L:6,@8VQA<W,@1$]#7TE.1D]?,2![#0H)"0DO+R\@/'-U;6UA<GD^
M#0H)"0DO+R\@4&]I;G1E<B!T;R!A(&YU;&PM=&5R;6EN871E9"!S=')I;F<@
M=&AA="!S<&5C:69I97,@=&AE(&YA;64@;V8@=&AE(&1O8W5M96YT('1O('-H
M;W<@:6X@=&AE('!R:6YT97(@;6%N86=E<BX-"@D)"2\O+R \+W-U;6UA<GD^
M#0H)"0E;36%R<VAA;$%S*%5N;6%N86=E9%1Y<&4N3%!3='(I72!P=6)L:6,@
M<W1R:6YG('!$;V-.86UE.PT*"0D)+R\O(#QS=6UM87)Y/@T*"0D)+R\O(%!O
M:6YT97(@=&\@82!N=6QL+71E<FUI;F%T960@<W1R:6YG('1H870@<W!E8VEF
M:65S('1H92!N86UE(&]F(&%N(&]U='!U="!F:6QE+B!4;R!P<FEN="!T;R!A
M('!R:6YT97(L('-E="!T:&ES('1O($Y53$PN#0H)"0DO+R\@/"]S=6UM87)Y
M/@T*"0D)6TUA<G-H86Q!<RA5;FUA;F%G9614>7!E+DQ04W1R*5T@<'5B;&EC
M('-T<FEN9R!P3W5T<'5T1FEL93L-"@D)"2\O+R \<W5M;6%R>3X-"@D)"2\O
M+R!0;VEN=&5R('1O(&$@;G5L;"UT97)M:6YA=&5D('-T<FEN9R!T:&%T(&ED
M96YT:69I97,@=&AE('1Y<&4@;V8@9&%T82!U<V5D('1O(')E8V]R9"!T:&4@
M9&]C=6UE;G0N#0H)"0DO+R\@/"]S=6UM87)Y/@T*"0D)6TUA<G-H86Q!<RA5
M;FUA;F%G9614>7!E+DQ04W1R*5T@<'5B;&EC('-T<FEN9R!P1&%T851Y<&4[
M#0H)"7T-"@T*"0DO+R\@/'-U;6UA<GD^#0H)"2\O+R!2971R:65V97,@82!H
M86YD;&4@=&\@=&AE('-P96-I9FEE9"!P<FEN=&5R(&]R('!R:6YT('-E<G9E
M<B!O<B!O=&AE<B!T>7!E<R!O9B!H86YD;&5S(&EN('1H92!P<FEN="!S=6)S
M>7-T96TN#0H)"2\O+R \+W-U;6UA<GD^#0H)"2\O+R \<&%R86T@;F%M93TB
M<%!R:6YT97).86UE(CY;:6Y=(%!O:6YT97(@=&\@82!N=6QL+71E<FUI;F%T
M960@<W1R:6YG('1H870@<W!E8VEF:65S('1H92!N86UE(&]F('1H92!P<FEN
M=&5R(&]R('!R:6YT('-E<G9E<BP@=&AE('!R:6YT97(@;V)J96-T+"!T:&4@
M6&-V36]N:71O<BP@;W(@=&AE(%AC=E!O<G0N#0H)"2\O+R!&;W(@82!P<FEN
M=&5R(&]B:F5C="!U<V4Z(%!R:6YT97).86UE+$IO8B!X>'AX+B!&;W(@86X@
M6&-V36]N:71O<BP@=7-E.B!397)V97).86UE+%AC=DUO;FET;W(@36]N:71O
M<DYA;64N($9O<B!A;B!88W90;W)T+"!U<V4Z(%-E<G9E<DYA;64L6&-V4&]R
M="!0;W)T3F%M92X-"@D)+R\O(%=I;F1O=W,@3E0O,C P,"]84#H@268@3E5,
M3"P@:70@:6YD:6-A=&5S('1H92!L;V-A;"!P<FEN=&5R('-E<G9E<BX\+W!A
M<F%M/@T*"0DO+R\@/'!A<F%M(&YA;64](FA0<FEN=&5R(CY;;W5T72!0;VEN
M=&5R('1O(&$@=F%R:6%B;&4@=&AA="!R96-E:79E<R!A(&AA;F1L92!T;R!T
M:&4@;W!E;B!P<FEN=&5R(&]R('!R:6YT('-E<G9E<B!O8FIE8W0N#0H)"2\O
M+R!7:6YD;W=S(#(P,# O6% Z(%1H92!P:%!R:6YT97(@<&%R86UE=&5R(&-A
M;B!R971U<FX@86X@6&-V(&AA;F1L92!F;W(@=7-E('=I=&@@=&AE(%AC=D1A
M=&$@9G5N8W1I;VXN($9O<B!M;W)E(&EN9F]R;6%T:6]N(&%B;W5T(%AC=D1A
M=&$L('-E92!T:&4@36EC<F]S;V9T(%=I;F1O=W,@,C P,"!$<FEV97(@1&5V
M96QO<&UE;G0@2VET+CPO<&%R86T^#0H)"2\O+R \<&%R86T@;F%M93TB<%!R
M:6YT97)$969A=6QT<R(^6VEN72!0;VEN=&5R('1O(&$@4%))3E1%4E]$149!
M54Q44R!S=')U8W1U<F4N(%1H:7,@=F%L=64@8V%N(&)E($Y53$PN/"]P87)A
M;3X-"@D)+R\O(#QR971U<FYS/DEF('1H92!F=6YC=&EO;B!S=6-C965D<RP@
M=&AE(')E='5R;B!V86QU92!I<R!A(&YO;GIE<F\@=F%L=64N($EF('1H92!F
M=6YC=&EO;B!F86EL<RP@=&AE(')E='5R;B!V86QU92!I<R!Z97)O+CPO<F5T
M=7)N<SX-"@D)6T1L;$EM<&]R="@B=VEN<W!O;VPN9')V(BP@16YT<GE0;VEN
M=#TB3W!E;E!R:6YT97)!(BP@4V5T3&%S=$5R<F]R/71R=64L($-H87)3970]
M0VAA<E-E="Y!;G-I*5T-"@D)<'5B;&EC('-T871I8R!E>'1E<FX@8F]O;"!/
M<&5N4')I;G1E<B@-"@D)"5M-87)S:&%L07,H56YM86YA9V5D5'EP92Y,4%-T
M<BE=('-T<FEN9R!P4')I;G1E<DYA;64L#0H)"0EO=70@26YT4'1R(&A0<FEN
M=&5R+ T*"0D);&]N9R!P4')I;G1E<D1E9F%U;'1S*3L-"@T*"0DO+R\@/'-U
M;6UA<GD^#0H)"2\O+R!.;W1I9FEE<R!T:&4@<')I;G0@<W!O;VQE<B!T:&%T
M(&1A=&$@<VAO=6QD(&)E('=R:71T96X@=&\@=&AE('-P96-I9FEE9"!P<FEN
M=&5R+@T*"0DO+R\@/"]S=6UM87)Y/@T*"0DO+R\@/'!A<F%M(&YA;64](FA0
M<FEN=&5R(CY;:6Y=($AA;F1L92!T;R!T:&4@<')I;G1E<BX@57-E('1H92!/
M<&5N4')I;G1E<B!O<B!!9&10<FEN=&5R(&9U;F-T:6]N('1O(')E=')I979E
M(&$@<')I;G1E<B!H86YD;&4N/"]P87)A;3X-"@D)+R\O(#QP87)A;2!N86UE
M/2)P0GET97,B/EMI;ET@4&]I;G1E<B!T;R!A;B!A<G)A>2!O9B!B>71E<R!T
M:&%T(&-O;G1A:6YS('1H92!D871A('1H870@<VAO=6QD(&)E('=R:71T96X@
M=&\@=&AE('!R:6YT97(N/"]P87)A;3X-"@D)+R\O(#QP87)A;2!N86UE/2)D
M=T-O=6YT(CY;:6Y=(%-P96-I9FEE<R!T:&4@<VEZ92P@:6X@8GET97,L(&]F
M('1H92!A<G)A>2X\+W!A<F%M/@T*"0DO+R\@/'!A<F%M(&YA;64](F1W5W)I
M='1E;B(^6V]U=%T@4&]I;G1E<B!T;R!A('9A;'5E('1H870@<F5C96EV97,@
M=&AE(&YU;6)E<B!O9B!B>71E<R!O9B!D871A('1H870@=V5R92!W<FET=&5N
M('1O('1H92!P<FEN=&5R+CPO<&%R86T^#0H)"2\O+R \<F5T=7)N<SY)9B!T
M:&4@9G5N8W1I;VX@<W5C8V5E9',L('1H92!R971U<FX@=F%L=64@:7,@82!N
M;VYZ97)O('9A;'5E+B!)9B!T:&4@9G5N8W1I;VX@9F%I;',L('1H92!R971U
M<FX@=F%L=64@:7,@>F5R;RX\+W)E='5R;G,^#0H)"5M$;&Q);7!O<G0H(G=I
M;G-P;V]L+F1R=B(L(%-E=$QA<W1%<G)O<CUT<G5E*5T-"@D)<'5B;&EC('-T
M871I8R!E>'1E<FX@8F]O;"!7<FET95!R:6YT97(H#0H)"0E);G10='(@:%!R
M:6YT97(L#0H)"0E);G10='(@<$)Y=&5S+ T*"0D)26YT,S(@9'=#;W5N="P-
M"@D)"6]U="!);G0S,B!D=U=R:71T96XI.PT*#0H)"2\O+R \<W5M;6%R>3X-
M"@D)+R\O($YO=&EF:65S('1H92!S<&]O;&5R('1H870@82!P86=E(&ES(&%B
M;W5T('1O(&)E('!R:6YT960@;VX@=&AE('-P96-I9FEE9"!P<FEN=&5R+B -
M"@D)+R\O(#PO<W5M;6%R>3X-"@D)+R\O(#QP87)A;2!N86UE/2)H4')I;G1E
M<B(^6VEN72!(86YD;&4@=&\@82!P<FEN=&5R+B!5<V4@=&AE($]P96Y0<FEN
M=&5R(&]R($%D9%!R:6YT97(@9G5N8W1I;VX@=&\@<F5T<FEE=F4@82!P<FEN
M=&5R(&AA;F1L92X\+W!A<F%M/@T*"0DO+R\@/')E='5R;G,^268@=&AE(&9U
M;F-T:6]N('-U8V-E961S+"!T:&4@<F5T=7)N('9A;'5E(&ES(&$@;F]N>F5R
M;R!V86QU92X@268@=&AE(&9U;F-T:6]N(&9A:6QS+"!T:&4@<F5T=7)N('9A
M;'5E(&ES('IE<F\N/"]R971U<FYS/@T*"0E;1&QL26UP;W)T*")W:6YS<&]O
M;"YD<G8B+"!3971,87-T17)R;W(]=')U92E=#0H)"7!U8FQI8R!S=&%T:6,@
M97AT97)N(&)O;VP@4W1A<G1086=E4')I;G1E<B@-"@D)"4EN=%!T<B!H4')I
M;G1E<BD[#0H-"@D)+R\O(#QS=6UM87)Y/@T*"0DO+R\@3F]T:69I97,@=&AE
M('!R:6YT('-P;V]L97(@=&AA="!A(&1O8W5M96YT(&ES('1O(&)E('-P;V]L
M960@9F]R('!R:6YT:6YG+@T*"0DO+R\@/"]S=6UM87)Y/@T*"0DO+R\@/'!A
M<F%M(&YA;64](FA0<FEN=&5R(CY;:6Y=($AA;F1L92!T;R!T:&4@<')I;G1E
M<BX@57-E('1H92!/<&5N4')I;G1E<B!O<B!!9&10<FEN=&5R(&9U;F-T:6]N
M('1O(')E=')I979E(&$@<')I;G1E<B!H86YD;&4N/"]P87)A;3X-"@D)+R\O
M(#QP87)A;2!N86UE/2)L979E;"(^6VEN72!3<&5C:69I97,@=&AE('9E<G-I
M;VX@;V8@=&AE('-T<G5C='5R92!T;R!W:&EC:"!P1&]C26YF;R!P;VEN=',N
M#0H)"2\O+R!7:6YD;W=S($Y4+S(P,# O6% Z(%1H:7,@=F%L=64@;75S="!B
M92 Q+@T*"0DO+R\@5VEN9&]W<R Y-2\Y."]-93H@5&AI<R!V86QU92!C86X@
M8F4@,2!O<B R+CPO<&%R86T^#0H)"2\O+R \<&%R86T@;F%M93TB<$1O8TEN
M9F\B/EMI;ET@4&]I;G1E<B!T;R!A('-T<G5C='5R92!T:&%T(&1E<V-R:6)E
M<R!T:&4@9&]C=6UE;G0@=&\@<')I;G0N#0H)"2\O+R!7:6YD;W=S($Y4+S(P
M,# O6% Z('!$;V-);F9O(&ES(&$@<&]I;G1E<B!T;R!A($1/0U])3D9/7S$@
M<W1R=6-T=7)E+@T*"0DO+R\@5VEN9&]W<R Y-2\Y."]-93H@<$1O8TEN9F\@
M:7,@82!P;VEN=&5R('1O(&$@1$]#7TE.1D]?,2!O<B!A($1/0U])3D9/7S(@
M<W1R=6-T=7)E+CPO<&%R86T^#0H)"2\O+R \<F5T=7)N<SY)9B!T:&4@9G5N
M8W1I;VX@<W5C8V5E9',L('1H92!R971U<FX@=F%L=64@:7,@82!N;VYZ97)O
M('9A;'5E+B!)9B!T:&4@9G5N8W1I;VX@9F%I;',L('1H92!R971U<FX@=F%L
M=64@:7,@>F5R;RX\+W)E='5R;G,^#0H)"5M$;&Q);7!O<G0H(G=I;G-P;V]L
M+F1R=B(L($5N=')Y4&]I;G0](E-T87)T1&]C4')I;G1E<D$B+"!#:&%R4V5T
M/4-H87)3970N06YS:2P@4V5T3&%S=$5R<F]R/71R=64I70T*"0EP=6)L:6,@
M<W1A=&EC(&5X=&5R;B!I;G0@4W1A<G1$;V-0<FEN=&5R* T*"0D)26YT4'1R
M(&A0<FEN=&5R+ T*"0D)26YT,S(@;&5V96PL#0H)"0E;26XL($UA<G-H86Q!
M<RA5;FUA;F%G9614>7!E+DQ04W1R=6-T*5T@1$]#7TE.1D]?,2!P1&]C26YF
M;RD[#0H-"@D)+R\O(#QS=6UM87)Y/@T*"0DO+R\@16YD<R!A('!R:6YT(&IO
M8B!F;W(@=&AE('-P96-I9FEE9"!P<FEN=&5R+@T*"0DO+R\@/"]S=6UM87)Y
M/@T*"0DO+R\@/'!A<F%M(&YA;64](FA0<FEN=&5R(CY;:6Y=($AA;F1L92!T
M;R!A('!R:6YT97(@9F]R('=H:6-H('1H92!P<FEN="!J;V(@<VAO=6QD(&)E
M(&5N9&5D+B!5<V4@=&AE($]P96Y0<FEN=&5R(&]R($%D9%!R:6YT97(@9G5N
M8W1I;VX@=&\@<F5T<FEE=F4@82!P<FEN=&5R(&AA;F1L92X\+W!A<F%M/@T*
M"0DO+R\@/')E='5R;G,^268@=&AE(&9U;F-T:6]N('-U8V-E961S+"!T:&4@
M<F5T=7)N('9A;'5E(&ES(&$@;F]N>F5R;R!V86QU92X@268@=&AE(&9U;F-T
M:6]N(&9A:6QS+"!T:&4@<F5T=7)N('9A;'5E(&ES('IE<F\N/"]R971U<FYS
M/@T*"0E;1&QL26UP;W)T*")W:6YS<&]O;"YD<G8B+"!3971,87-T17)R;W(]
M=')U92E=#0H)"7!U8FQI8R!S=&%T:6,@97AT97)N(&)O;VP@16YD1&]C4')I
M;G1E<B@-"@D)"4EN=%!T<B!H4')I;G1E<BD[#0H-"@T*"0DO+R\@/'-U;6UA
M<GD^#0H)"2\O+R!.;W1I9FEE<R!T:&4@<')I;G0@<W!O;VQE<B!T:&%T('1H
M92!A<'!L:6-A=&EO;B!I<R!A="!T:&4@96YD(&]F(&$@<&%G92!I;B!A('!R
M:6YT(&IO8BX-"@D)+R\O(#PO<W5M;6%R>3X-"@D)+R\O(#QP87)A;2!N86UE
M/2)H4')I;G1E<B(^6VEN72!(86YD;&4@=&\@=&AE('!R:6YT97(@9F]R('=H
M:6-H('1H92!P86=E('=I;&P@8F4@8V]N8VQU9&5D+B!5<V4@=&AE($]P96Y0
M<FEN=&5R(&]R($%D9%!R:6YT97(@9G5N8W1I;VX@=&\@<F5T<FEE=F4@82!P
M<FEN=&5R(&AA;F1L92X\+W!A<F%M/@T*"0DO+R\@/')E='5R;G,^268@=&AE
M(&9U;F-T:6]N('-U8V-E961S+"!T:&4@<F5T=7)N('9A;'5E(&ES(&$@;F]N
M>F5R;R!V86QU92X@268@=&AE(&9U;F-T:6]N(&9A:6QS+"!T:&4@<F5T=7)N
M('9A;'5E(&ES('IE<F\N/"]R971U<FYS/@T*"0E;1&QL26UP;W)T*")W:6YS
M<&]O;"YD<G8B+"!3971,87-T17)R;W(]=')U92E=#0H)"7!U8FQI8R!S=&%T
M:6,@97AT97)N(&)O;VP@16YD4&%G95!R:6YT97(H#0H)"0E);G10='(@:%!R
M:6YT97(I.PT*#0H)"2\O+R \<W5M;6%R>3X-"@D)+R\O($-L;W-E<R!T:&4@
M<W!E8VEF:65D('!R:6YT97(@;V)J96-T+@T*"0DO+R\@/"]S=6UM87)Y/@T*
M"0DO+R\@/'!A<F%M(&YA;64](FA0<FEN=&5R(CY;:6Y=($AA;F1L92!T;R!T
M:&4@<')I;G1E<B!O8FIE8W0@=&\@8F4@8VQO<V5D+B!4:&ES(&AA;F1L92!I
M<R!R971U<FYE9"!B>2!T:&4@3W!E;E!R:6YT97(@;W(@061D4')I;G1E<B!F
M=6YC=&EO;BX\+W!A<F%M/@T*"0DO+R\@/')E='5R;G,^268@=&AE(&9U;F-T
M:6]N('-U8V-E961S+"!T:&4@<F5T=7)N('9A;'5E(&ES(&$@;F]N>F5R;R!V
M86QU92X@268@=&AE(&9U;F-T:6]N(&9A:6QS+"!T:&4@<F5T=7)N('9A;'5E
M(&ES('IE<F\N/"]R971U<FYS/@T*"0E;1&QL26UP;W)T*")W:6YS<&]O;"Y$
M<G8B+"!%;G1R>5!O:6YT/2)#;&]S95!R:6YT97(B+"!3971,87-T17)R;W(]
M=')U92E=#0H)"7!U8FQI8R!S=&%T:6,@97AT97)N(&)O;VP@0VQO<V50<FEN
G=&5R* T*"0D)26YT4'1R(&A0<FEN=&5R*3L-"@T*"7T-"@T*?0T*
`
end
- Next message: Pete Davis: "Strong names in Open Source"
- Previous message: r: "Re: interrupt a while loop"
- In reply to: Francisco Duran: "Printing on a thermal printer"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|