Hola
Te he enviado un correo con el componente que yo utilizo (el Delphi 6) y que trae una demo. Miratelo a ver que te parece
Espero que ahora si que si
Por cierto, yo utilizo esta funcion para imprimir el los visores LCD.
Nota : los visores que yo utilizo tienen 2 lineas, por lo que un parametro de la funcion es la linea en la que quiero escribir
Parametros de la funcion:
* Puerto : TCommPortDriver -> componente de acceso a puerto serie
* Text : string --> texto que queremos que salga por el visor
* Linea : integer --> 1 o 2 (linea en la que queremos escribir)
* BorraContenido : boolean --> si true, borra TODO el contenido del visor antes de imprimir en el, sino, SOLO borra la linea en la que queremos escribir
Código:
procedure MissatgeDisplay(Puerto : TCommPortDriver; Text : string; Linea : integer;
BorraContenido : boolean);
var tmp : string;
begin
// Si no está conectado, no hacemos nada
if Puerto.Connected then
begin
if length(Text) > 20 then
Text := copy(Text, 1, 20);
if BorraContenido then
begin
// Borramos contenido del Visor
tmp := chr(12);
Puerto.SendString(tmp);
tmp := chr(31) + chr(36) + chr(1) + chr(1) + ' ';
Puerto.SendString(tmp);
tmp := chr(31) + chr(36) + chr(1) + chr(2) + ' ';
Puerto.SendString(tmp);
end;
case Linea of
1 : begin
tmp := chr(31) + chr(36) + chr(1) + chr(1) + ' ';
Puerto.SendString(tmp);
tmp := chr(31) + chr(36) + chr(1) + chr(1) + Text;
end;
2 : begin
tmp := chr(31) + chr(36) + chr(1) + chr(2) + ' ';
Puerto.SendString(tmp);
tmp := chr(31) + chr(36) + chr(1) + chr(2) + Text;
end;
end;
// Escribimos texto
Puerto.SendString(tmp);
end;
end;
Ejemplo de llamada
Código:
begin
MissatgeDisplay(CommPortDriver1, 'Hola mundo!!!', 1, true);
end;