Einzelnen Beitrag anzeigen

Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
529 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Kassenschubladen-Ansteuerung via Epson TM T 88V / LAN

  Alt 17. Jun 2020, 10:20
Eigentlich ist das nicht so schwierig:

Delphi-Quellcode:

procedure Tfrmmain.opendrawer(nr:integer);


Var
     FH:THandle;
     Buff: array[0..5] of char;
     RetW:DWORD;
     port:string;
     cmd:ansistring;
     acmd:ansistring;
     p:pansichar;
     stext,sdrucker:string;
begin
  if dm.Schublade1typ=drawerprinter then // Drucker
  begin
    if nr=2 then
     stext:=dm.Steuertext2 else
     stext:=dm.steuertext;

    sdrucker:=dm.Steuertextdrucker;
    //if (dm.Steuertextoption=2) or (dm.Steuertextoption=1) then
    begin
      if (stext='Epson1') or (stext='Epson') then
      acmd:=#27#112#48#250#250;
      if stext='Epson2then
      acmd:=#27#112#49#250#250;
      if stext='Bixolon SRP350then
      acmd:=#27#112#48#50#250;
      if stext='Star1then
      acmd:=#7;
      if stext='Star2then
      acmd:=#27#7#11#55#7;
      if stext='Wincor1then
       acmd:=#27#48;

      if stext='Bocathen
       acmd:='#$1#$C';

      p:=AnsiStrAlloc(length(acmd));

      p:=StrPCopy(p,acmd);

      rawdatatoprinter(pwidechar(sdrucker),pbyte(p),length(acmd));
      if dm.Schubladedelay>0 then
       sleep(dm.schubladedelay);

    end;
  end;
end;
Die Procedure ist etwas abgekürzt, die anderen Arten der Schubladensteuerung habe ich weggelassen.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat