Este me funciona a mi.
Está conectado en
COM1 y la secuencia de apertura está en la variable
cadena
Código Delphi
[-]
unit Cajon;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
const
NombrePuerto = 'COM1'; var
Form1: TForm1;
HandlePuerto: THandle; Cadena: String; dwValor: DWORD; Sta: COMSTAT; bResult: Boolean; implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
HandlePuerto := Windows.CreateFile(
PChar(NombrePuerto),
GENERIC_READ or
GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
0,
0);
if (INVALID_HANDLE_VALUE <> HandlePuerto) then
begin
Cadena := #27#112#0#60#240#13#10;
if (Windows.WriteFile(
HandlePuerto,
PChar(Cadena)^,
Length(Cadena),
dwValor,
nil)
)
then
begin
Button1.Caption:='ok' ;
end;
end;
Windows.CloseHandle(HandlePuerto);
end;
end.
Espero que te sirva.
Suerte.
Manuweb