AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Epson TM-T70 USB Kassenschublade öffnen
Thema durchsuchen
Ansicht
Themen-Optionen

Epson TM-T70 USB Kassenschublade öffnen

Ein Thema von Pet04 · begonnen am 21. Mär 2014 · letzter Beitrag vom 27. Mär 2014
Antwort Antwort
Seite 1 von 3  1 23      
Pet04

Registriert seit: 26. Sep 2007
86 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 11:12
Hallo,

gibt es eine Möglichkeit eine am Epson TM-t70 USB angeschlossenen Kassenlade per button click zu öffnen, ohne dass der Belegdrucker druckt.

Vielen dank für die Hilfe schon mal
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 11:20
Verwendest Du einen OPOS-Treiber? Damit sollte das gehen.
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 11:20
Ja.
  Mit Zitat antworten Zitat
Pet04

Registriert seit: 26. Sep 2007
86 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 11:23
Momentan benutze ich die Win. Treiber und drucke den Beleg ganz einfach über "wrieln"

wie funtioniert das mit dem opos Treiber ?
Wie binde ich das in Delphi ein ?
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 11:47
Ach, Du auch? Wozu denn? Zum Trollen?
Zitat:
wie funtioniert das mit dem opos Treiber ?
Wie binde ich das in Delphi ein ?
OPOS-Treiber von Epson downloaden, installieren, OCX registrieren bzw. Delphi den Wrapper erstellen lassen, Beispiele durchlesen. Beispielprogramm basteln, fertig.
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 11:51
Ach, Du auch? Wozu denn? Zum Trollen?
Hätte der TE mal 20 Sekunden zum Googeln verwendet, wäre meine Antwort bestimmt detaillierter ausgefallen. Ansonsten war sie auf das nötigste beschränkt und beantwortet die Frage des TE vollumfänglich.
  Mit Zitat antworten Zitat
Pet04

Registriert seit: 26. Sep 2007
86 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 12:27
Funktioniert das nur über die opos Treiber ober gibt es auch eine andere Möglichkeit ?
  Mit Zitat antworten Zitat
hhcm

Registriert seit: 12. Feb 2006
Ort: Wegberg
310 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 12:52
Es wird doch sicherlich eine Virtuelle Serielle Schnittstelle installiert oder?
Dann gehts auch per Serieller Anbindung mit dem passenden ESC Befehl.
Chris
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#9

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 13:13
Hätte der TE mal 20 Sekunden zum Googeln verwendet, wäre meine Antwort bestimmt detaillierter ausgefallen.
Witzbold, das hat er vermutlich. Welche Lösung meinst Du doch gleich, die man nach 20 Sekunden findet? Bin mal gespannt, welche funktionierende und verifizierte Lösung Du hier präsentierst.

Dann gehts auch ...mit dem passenden ESC Befehl.
Wie lautet der?

Ich habe im Büro zufällig gerade einen TM-295P rumzustehen, dem ich beibringen muss, das Papier zu greifen bzw. freizugeben. ESC-Sequenz zum Freigeben hab ich gefunden, die zum Greifen nicht (trotz Handbuch). Ich habe das OPOS-OCX genommen und damit geht es teilweise. Aber der 'release' klappt nur mit ESC-Sequenz. Bestimmt gibt es hier richtige Programmierer (wie das vagtler z.B.) die innerhalb von 25 Sekunden gegoogeln und ein funktionierendes Beispielprojekt erstellen.

Zum Thema: Installiere OPOS, richte den Drucker ein (SetupPOS.EXE starten). Der bekommt einen bestimmten Namen 'TM-170' vermutlich. Dann öffnest Du Delphi und installierst die ActiveX-Komponente (Im Komponenten-Menü, glaube ich). Danach schaust Du dir die Beispielprojekte an, die grauenvoll sind.

Du musst mit dem OPOS-Teil deinen Drucker Claimen, aktivieren und enablen (oder öffnen). Hab den Code nicht hier, es sind aber drei aktionen in der richtigen Reihenfolge. Danach solltest Du den Drucker und die Schublade vermutlich kontrollieren können. Ach, drucken geht auch.

Ich habe eben im TM-170 Manual geschaut, aber auf die Schnelle auch keine ESC-Sequenz gefunden, aber die wird es geben, keine Frage.

So: Und wenn jetzt alle Beteiligten mit dem Klugscheißern aufhören, wird das vielleicht noch was, gell?

Geändert von Furtbichler (21. Mär 2014 um 13:21 Uhr)
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
536 Beiträge
 
Delphi 12 Athens
 
#10

AW: Epson TM-T70 USB Kassenschublade öffnen

  Alt 21. Mär 2014, 13:46
Hallo,

ich mache das über den Windows-Druckertreiber so:
Delphi-Quellcode:
function RawDataToPrinter(szPrinterName:PChar; lpData:PByte; dwCount:Word) : Boolean;
Var
  hPrinter : THandle;
  DocInfo : DOC_INFO_1;
  dwJob : Word;
  dwBytesWritten : Cardinal;
Begin
  Result:=False;
  if NOT OpenPrinter( szPrinterName, hPrinter, NIL ) then
    Exit;

  DocInfo.pDocName := 'RAWJOB';
  DocInfo.pOutputFile := NIL;
  DocInfo.pDatatype := 'RAW';

  dwJob := StartDocPrinter( hPrinter, 1, @DocInfo );
  if (dwJob = 0 ) Then begin
    ClosePrinter( hPrinter );
    Exit;
  end;


  if not StartPagePrinter( hPrinter ) then begin
    EndDocPrinter( hPrinter );
    ClosePrinter( hPrinter );
    Exit;
  end;


  if not WritePrinter( hPrinter, lpData, dwCount, dwBytesWritten ) then begin
    EndPagePrinter( hPrinter );
    EndDocPrinter( hPrinter );
    ClosePrinter( hPrinter );
    Exit;
  end;

  if not EndPagePrinter( hPrinter ) then begin
    EndDocPrinter( hPrinter );
    ClosePrinter( hPrinter );
    Exit;
  end;

  if not EndDocPrinter( hPrinter ) then begin
    ClosePrinter( hPrinter );
    Exit;
  end;

  ClosePrinter( hPrinter );

  Result:=dwBytesWritten = dwCount;
End;

function SwitchPrinter(const APrtName : string):string;
var
  Device,
    Driver,
    Port: array[0..255] of Char;
  DevMode: THandle;
begin
  with Printer do
  begin
    PrinterIndex := Printers.IndexOf(APrtName);
    GetPrinter(Device, Driver, Port, DevMode);
    SetPrinter(Device, Driver, Port, 0);
    result:=Printers[printerindex];
  end;
end;
procedure Tfrmmain.opendrawer(nr:integer);
Var
   FH:THandle;
   Buff: array[0..5] of char;
   RetW:DWORD;
   port:string;
   cmd:string;
   acmd:ansistring;
   p:pansichar;
begin
  // Anderer Code
  acmd:=#27#112#48#250#250;
  if dm.steuertext='Epson2then // 2. Schubladenanschluss
  acmd:=#27#112#49#250#250;
  p:=AnsiStrAlloc(length(acmd));
  p:=StrPCopy(p,acmd);
  switchprinter(dm.Steuertextdrucker); //Druckername
  rawdatatoprinter(pwidechar(dm.Steuertextdrucker),pbyte(p),length(acmd));
end;
Funktioniert - mit teilweise anderen Kommando (acmd) mit eigentlich allen Bondruckern.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz