TSU
Publicado por Yair2003 (1 intervención) el 28/09/2004 03:41:24
Hola como estan.
Mi nombre es Adrián. Soy novato en esto de la programación en Delphi y tengo
el siguiente problema.
Estoy tratando de imprimir unas sentencias de escape a una impresora térmica
Datamax con el siguiente
código:
PrinterSetupDialog1.Execute;
//Impriime
if PrintDialog1.Execute=True Then
begin
with Printer do
begin
MiString := Chr(2) + 'L' + Chr(13) + Chr(10);
MiString := MiString + 'H07' + Chr(13) + Chr(10);
MiString := MiString + '1e62100011000050590PCS' + Chr(13) + Chr(10);
MiString := MiString + 'E' + Chr(13) + Chr(10);
AssignPrn(MyFile);
Rewrite(MyFile);
Writeln(MyFile,Chr(2) + 'L' + Chr(13) + Chr(10) );
Writeln(MyFile,'H07' + Chr(13) + Chr(10) );
Writeln(MyFile,'1e62100011000050590PCS' + Chr(13) + Chr(10) );
Writeln(MyFile,'E' + Chr(13) + Chr(10)); *)
Write(MyFile, MiString);
System.CloseFile(MyFile);
lo que da como resultado algo como esto:
L
H07
1e62100011000050590PCS
E
Que se supone al enviarlo a la impresora térmica debe imprimir un código de
barras, pero no es así ya que el resultado que imprime son las mismas
cadenas, esto lo se porque guarde las sentencias en un archivo de terxo y lo
mande a imprimir desde MSDOS y si imprimime el código. Supuse entonces que
probablemente Delphi estaba tomando las sentencias como gráficos, por lo que
utilize un componente RichEdit y consu propiedad de PlainText:=True, algo
como esto:
RichEdit1.PlainText := True;
RichEdit1.Text := '' + 'L' + Chr(13) + Chr(10) + 'H07' +
Chr(13) + Chr(10) + '1e62100011000050590PCS' +
Chr(13) + Chr(10) +'E' + Chr(13) + Chr(10);
RichEdit1.Print('Ejemplo');
Pero obtuve el mismo resultado, de que no imprime el código pero si las
sentencias como texto enb la etiqueta.
Alguien podría decirme como puedo enviar estas cadenas para que sean
tratadas como texto puro y pueda imprimir el código de barras desde mi
aplicación o me pueden indincar de que otra forma puedo mandar a imprimir
estas sentencias ...
Espero que me puedan ayudar, por que me estoy desespendao y no hayo la
solucción.
De antemano Gracias.
AMR
Mi nombre es Adrián. Soy novato en esto de la programación en Delphi y tengo
el siguiente problema.
Estoy tratando de imprimir unas sentencias de escape a una impresora térmica
Datamax con el siguiente
código:
PrinterSetupDialog1.Execute;
//Impriime
if PrintDialog1.Execute=True Then
begin
with Printer do
begin
MiString := Chr(2) + 'L' + Chr(13) + Chr(10);
MiString := MiString + 'H07' + Chr(13) + Chr(10);
MiString := MiString + '1e62100011000050590PCS' + Chr(13) + Chr(10);
MiString := MiString + 'E' + Chr(13) + Chr(10);
AssignPrn(MyFile);
Rewrite(MyFile);
Writeln(MyFile,Chr(2) + 'L' + Chr(13) + Chr(10) );
Writeln(MyFile,'H07' + Chr(13) + Chr(10) );
Writeln(MyFile,'1e62100011000050590PCS' + Chr(13) + Chr(10) );
Writeln(MyFile,'E' + Chr(13) + Chr(10)); *)
Write(MyFile, MiString);
System.CloseFile(MyFile);
lo que da como resultado algo como esto:
L
H07
1e62100011000050590PCS
E
Que se supone al enviarlo a la impresora térmica debe imprimir un código de
barras, pero no es así ya que el resultado que imprime son las mismas
cadenas, esto lo se porque guarde las sentencias en un archivo de terxo y lo
mande a imprimir desde MSDOS y si imprimime el código. Supuse entonces que
probablemente Delphi estaba tomando las sentencias como gráficos, por lo que
utilize un componente RichEdit y consu propiedad de PlainText:=True, algo
como esto:
RichEdit1.PlainText := True;
RichEdit1.Text := '' + 'L' + Chr(13) + Chr(10) + 'H07' +
Chr(13) + Chr(10) + '1e62100011000050590PCS' +
Chr(13) + Chr(10) +'E' + Chr(13) + Chr(10);
RichEdit1.Print('Ejemplo');
Pero obtuve el mismo resultado, de que no imprime el código pero si las
sentencias como texto enb la etiqueta.
Alguien podría decirme como puedo enviar estas cadenas para que sean
tratadas como texto puro y pueda imprimir el código de barras desde mi
aplicación o me pueden indincar de que otra forma puedo mandar a imprimir
estas sentencias ...
Espero que me puedan ayudar, por que me estoy desespendao y no hayo la
solucción.
De antemano Gracias.
AMR
Valora esta pregunta


0