me podrian apoyar porfavor, se los agradecere

paty
30 de Marzo del 2005
saludos, tengo una impresora termica que acepta solo caracteres ascci, por el puerto paralelo, hice un programita que al parecer funciona bien, el problema que tengo es que cuando lo ejecuto no manda a imprimir sino hasta que mando algun otro me imprime el primero he aqui el codigo

import java.io.*;
import java.util.*;
import javax.comm.*;

public class Escritormeq
{
static CommPortIdentifier idPort;
static SerialPort sPort;
static ParallelPort pPort;
static OutputStream os;
static OutputStream salida;

static String mensaje = "!0 110 40 1nTEXT 8*8 42 0 FERCHITO TE AMOnBARCODE CODE39 110 30 29 12345nINDEXnSTOP";


public static void main(String[] args)
{
// Lo primero que hacemos es abrir el puerto
try{
idPort = CommPortIdentifier.getPortIdentifier("LPT1");

}
catch (NoSuchPortException e)
{System.err.println("ERROR al identificar puerto");}

try{
pPort = (ParallelPort) idPort.open("Escritor", 300);
try{
os=pPort.getOutputStream();
}
catch (IOException e) { }
}
catch (PortInUseException e)
{ System.err.println("ERROR al abrir puerto");}
try{
byte[] b=mensaje.getBytes("US-ASCII");
os.write(b);
}
catch (IOException e) { System.err.println("Error escritura"); }
}
}

porque no me imprime directamente????







Miguel
30 de Marzo del 2005
no lo he probado. pero en ocasiones resulta conveniente limpiar el buffer después de una escritura. para ello utiliza la función flush()

os.write(mensaje);
os.flush();

Espero que te sirva saludos

eth0
30 de Marzo del 2005
Acuérdate de CERRAR EL PUERTO cuando acabes de escribir en él.

Suerte con tu declaración de amor codificada.