Gracias, Agustín, por tu interés.
No me había preocupado por el tema, porque no me daba error en tiempo de ejecución. Y porque este proyecto era sólo para conectar con la impresora por Bluetooth.
Pero ahora he intentado resolverlo. No ha funcionado corta/pega.
Pero he visto que ¡SOY UN ANIMAL...! Tenía declarada la variable "
Impresora : TBluetoothDevice;" ¡por encima de la directiva
private!.
Bueno, a lo que vamos.
¡He conseguido escribir en la impresora las
Ñs y los acentos.!.
Resulta que los códigos de Escape para manipular la impresora deben ir codificados en
ASCII, el juego de caracteres debe ser
WPC1252(Latin-1) y el texto enviado a la impresora debe ir codificado en
Unicode. Al menos en mi impresora...
Dejo las modificaciones en el código del proyecto por si interesan a alguien.
Código Delphi
[-]
if FSocket.Connected
then Begin
Texto := #27 + #64;
BytesEnviados := TEncoding.ASCII.GetBytes(Texto);
FSocket.SendData(BytesEnviados);
Texto := #27 + 't' + #16; BytesEnviados := TEncoding.ASCII.GetBytes(Texto);
FSocket.SendData(BytesEnviados);
Texto := #27 + '!' +#0; BytesEnviados := TEncoding.ASCII.GetBytes(Texto);
FSocket.SendData(BytesEnviados);
Texto := #27 + 'Hola mundo con ñ y Ñ, hola España CAÑÍ' + #10; BytesEnviados := TEncoding.Unicode.GetBytes(Texto);
FSocket.SendData(BytesEnviados);
Sleep(200);
End;
Saludos a todos.