AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Kassenlade öffnen

Ein Thema von Natcree · begonnen am 21. Jun 2014 · letzter Beitrag vom 26. Jun 2014
Antwort Antwort
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Kassenlade öffnen

  Alt 24. Jun 2014, 14:29
seinen code nicht deinen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#2

AW: Kassenlade öffnen

  Alt 24. Jun 2014, 14:50
Und so? (nicht über TPrinter, sondern direkt an den Drucker-Port)
Delphi-Quellcode:
var
  myFile: TextFile;

AssignFile(myFile, 'LPT1'); // Port 1 (nummeriert, so wie z.B. das bekannte COM1)
Rewrite(myFile);
Write(myFile, AnsiString(AnsiChar(27) + AnsiChar(112) + AnsiChar(0) + AnsiChar(64) + AnsiChar(240)));
//Write(myFile, AnsiString(#27#112#0#64#240));
CloseFile(myFile);
bzw.
Delphi-Quellcode:
with TFileStream.Create('LPT1', fmOpenWrite) do
  try
    WriteBuffer(PAnsiChar(AnsiString(#27#112#0#64#240))^, 5);
  finally
    Free;
  end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Kassenlade öffnen

  Alt 24. Jun 2014, 14:55
wo muss ich deinen code pasten?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#4

AW: Kassenlade öffnen

  Alt 24. Jun 2014, 15:13
Der Code in #25 ist "nur" eine Kopie des Codes aus der #24, wobei dort einige APIs durch die entsprechenden Aufrufe des TPrinter ersetzt wurden.
(nur halt das WritePrinter blieb als API und das pDataType ist verloren gegangen, da es im TPrinter nicht gesetzt wird)

Und die Codes aus #31 offnen den Drucker-Port halt über den alten "DOS"-Weg, anstatt über TPrinter. Die meisten Drucker sollen das immernoch über ihren Treiber anbieten.
Statt dem PrinerIndex/PrinterNamen muß man hier erstmal rausfinden, an welchem Port "LPT1" der Drucker hängt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (24. Jun 2014 um 15:16 Uhr)
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Kassenlade öffnen

  Alt 24. Jun 2014, 15:17
also habe jetzt diesen code

Delphi-Quellcode:
procedure OpenCashDrawer;
var
   hPrinter, hDeviceMode: THandle;
   N: DWORD;
   DocInfo1: TDocInfo1;
   Device, Driver, Port: array [0 .. 255] of Char;
   PrinterName, ThePrinter: string;
   Code: AnsiString;
begin
   begin
Code := AnsiChar(27) + AnsiChar(112) + AnsiChar(0) + AnsiChar(64) + AnsiChar(240);
 Printer.PrinterIndex := Printer.Printers.IndexOf('CognitiveTPG Receipt');
 Printer.BeginDoc;
//Printer.NewPage;
 WritePrinter(Printer.Handle, PAnsiChar(Code), Length(Code), N);
 Printer.EndDoc;
     if not WinSpool.OpenPrinter(PChar(PrinterName), hPrinter, nil) then
     begin
       ShowMessage('Error : ' + IntToStr(GetLastError));
       Exit;
     end;
     with DocInfo1 do
     begin
       pDocName := 'Test';
       pOutputFile := nil;
       pDataType := 'RAW';
     end;
     WinSpool.StartDocPrinter(hPrinter, 1, @DocInfo1);
     WinSpool.StartPagePrinter(hPrinter);
     WinSpool.WritePrinter(hPrinter, PAnsiChar(Code), Length(Code), N);
     WinSpool.EndPagePrinter(hPrinter);
     WinSpool.EndDocPrinter(hPrinter);
     WinSpool.ClosePrinter(hPrinter);
   end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
opencashdrawer;
end;
zeigt mir fehler 1801 an. und die lade bleibt zu
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#6

AW: Kassenlade öffnen

  Alt 24. Jun 2014, 15:23
Und nun hast Du beide Vorschläge nacheinander reinkopiert. Wäre es nicht günstiger, sich für einen von beiden zu entscheiden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Kassenlade öffnen

  Alt 24. Jun 2014, 15:32
also ich hatte die #24 code versuch ist nichts passiert. auch mit den vorherigen codes '27'p'....... ich weiss nicht mehr weiter.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz