aqui un pequeño ejemplo:
probablemente haya variables de mas, puesto que lo saque de un programa que imprime un ticket...
Código Delphi
[-]
Var
H:HFile;
X:Cardinal;
Str: String;
Buf: Array[1..100] Of char;
Error, I: Integer;
Begin
SetLastError(0);
Puerto := 'LPT1'
Error := 0;
Repeat
H := CreateFile(pchar(Puerto),GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
If H = INVALID_HANDLE_VALUE Then
Begin
ShowMessage(SysErrorMessage(GetLastError));
Exit;
End;
Str := 'Cadena a mandar puede ser con codigos de escape' + #27 + #5;
StrpCopy(@Buf,Str);
WriteFile(H,buf,Length(Str),x,nil);
CloseHandle(H);
Until Error = 0;