Ir al contenido


Foto

Obtener la lista de puertos de impresion disponibles.


  • Por favor identifícate para responder
7 respuestas en este tema

#1 JandoK

JandoK

    Advanced Member

  • Moderadores
  • PipPipPip
  • 838 mensajes
  • LocationMexico

Escrito 17 julio 2009 - 10:12

Bunos dias...

La idea es dar al usuario la oportunidad de que seleccione de una lista, el puerto a donde
se va a mandar a imprimir un TICKET de algun pedido...

Actualmente imprimo un ticket directamente al puerto LPT1, mediante el codigo :


delphi
  1. procedure FrmPrincipal.ImprimirTicket;
  2. var
  3.   Ticket : TextFile;
  4. begin
  5.   AssignFile(Ticket, 'LPT1');
  6.   Rewrite(Ticket);
  7.   mensajeticket := dmDatos.ztblCONFIGURACIONNOMBRE.AsString;
  8.   Writeln(Ticket, mensajeticket);
  9.   //mas lineas del ticket
  10.   CloseFile(Ticket);
  11. end;



pero, si la impresora se cambia de puerto ??  o si es  USB ??

entonces me gustaria poner en una lista las posibles
opciones para imprimir

  LPT1
  Com1
  Com2
  ...


es posible ??

gracias 

salu2!!!!!!!
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.469 mensajes
  • LocationMéxico

Escrito 17 julio 2009 - 10:29

Hola

Con este código obtengo los puertos seriales, no se donde lo consegui, pero me sirve muy bien, tal vez te de una idea.



delphi
  1.   { Obtiene Puertos Seriales disponibles}
  2.   Reg := TRegistry.Create;
  3.   try
  4.     Reg.RootKey := HKEY_LOCAL_MACHINE;
  5.     if Reg.OpenKey('HARDWARE\DEVICEMAP\SERIALCOMM', false) then
  6.     begin
  7.       Reg.GetValueNames(ComboBox1.Items);
  8.       for I := 0 to ComboBox1.Items.Count - 1 do
  9.           ComboBox1.Items[i] := Reg.ReadString(ComboBox1.Items[i]);
  10.     end;
  11.     ComboBox1.Sorted := true;
  12.   finally
  13.     Reg.Free;
  14.   end;



Salud OS
  • 0

#3 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 17 julio 2009 - 10:40

Y...¿No hay que agregar alguna unidad especial en el uses? *-)
  • 0

#4 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 17 julio 2009 - 10:56

Hola

Con este código obtengo los puertos seriales, no se donde lo consegui, pero me sirve muy bien, tal vez te de una idea.

Salud OS


Probablemente te lo haya pasado cuando veiamos lo de el Thread. Es codigo de Seoane en CD  :)

Bueno usando el cuadro de dialogo "Printers Dialog" de la pestaña Dialogs puedes seleccionar las impresoras disponibles sin complicarte la vida (eso dejamelo a mi).

  • 0

#5 JandoK

JandoK

    Advanced Member

  • Moderadores
  • PipPipPip
  • 838 mensajes
  • LocationMexico

Escrito 17 julio 2009 - 11:15

Hola

Con este código obtengo los puertos seriales, no se donde lo consegui, pero me sirve muy bien, tal vez te de una idea.



delphi
  1.   { Obtiene Puertos Seriales disponibles}
  2.   Reg := TRegistry.Create;
  3.   try
  4.     Reg.RootKey := HKEY_LOCAL_MACHINE;
  5.     if Reg.OpenKey('HARDWARE\DEVICEMAP\SERIALCOMM', false) then
  6.     begin
  7.       Reg.GetValueNames(ComboBox1.Items);
  8.       for I := 0 to ComboBox1.Items.Count - 1 do
  9.           ComboBox1.Items[i] := Reg.ReadString(ComboBox1.Items[i]);
  10.     end;
  11.     ComboBox1.Sorted := true;
  12.   finally
  13.     Reg.Free;
  14.   end;



Salud OS


ok ... lo checare...  y veremos como funciona...

gracias

salu2!!!!!!!
  • 0

#6 JandoK

JandoK

    Advanced Member

  • Moderadores
  • PipPipPip
  • 838 mensajes
  • LocationMexico

Escrito 17 julio 2009 - 11:20


Hola

Con este código obtengo los puertos seriales, no se donde lo consegui, pero me sirve muy bien, tal vez te de una idea.

Salud OS


Probablemente te lo haya pasado cuando veiamos lo de el Thread. Es codigo de Seoane en CD  :)

Bueno usando el cuadro de dialogo "Printers Dialog" de la pestaña Dialogs puedes seleccionar las impresoras disponibles sin complicarte la vida (eso dejamelo a mi).


pero el detalle es enviar los comandos de impresion directo al puerto, ya que sera para una
impresora de tickets...

y hasta donde he leido, es mejor mandarlos directamente al puerto...

es por eso que puse el ejemplo del primer post....



delphi
  1.   AssignFile(Ticket, 'LPT1');



salu2!!!!!!!
  • 0

#7 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 17 julio 2009 - 11:49

pero el detalle es enviar los comandos de impresion directo al puerto, ya que sera para una
impresora de tickets...

y hasta donde he leido, es mejor mandarlos directamente al puerto...

es por eso que puse el ejemplo del primer post....



delphi
  1.   AssignFile(Ticket, 'LPT1');



salu2!!!!!!!


Si la impresora se puede instalar sales mejor imprimiendo al canvas, te ahorras problemas con las USB: 

http://www.delphiacc...-una-impresora/

Es de Seoane
  • 0

#8 JandoK

JandoK

    Advanced Member

  • Moderadores
  • PipPipPip
  • 838 mensajes
  • LocationMexico

Escrito 17 julio 2009 - 12:50

Si la impresora se puede instalar sales mejor imprimiendo al canvas, te ahorras problemas con las USB: 

http://www.delphiacc...-una-impresora/

Es de Seoane


ok .. gracias  eduarcol ...  ya lo andaba checando ....  :cheesy: :cheesy: ;) ;)

salu2!!!!!!!
  • 0




IP.Board spam blocked by CleanTalk.