Ver Mensaje Individual
  #8  
Antiguo 28-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
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;

Última edición por __cadetill fecha: 28-05-2003 a las 19:12:40.
Responder Con Cita