AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Serielle Kassenschublade ansteuern: Was bedeutet z.B "ESC p"
Thema durchsuchen
Ansicht
Themen-Optionen

Serielle Kassenschublade ansteuern: Was bedeutet z.B "ESC p"

Ein Thema von King555 · begonnen am 19. Dez 2005 · letzter Beitrag vom 30. Jan 2006
Antwort Antwort
Seite 3 von 4     123 4      
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#21

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 22. Dez 2005, 09:34
Also der USB > RS232 Konverter könnte schuld sein hatte damit auch schon probleme.

Such doch mal einen PC der einen Com hat und versuchs da mal
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
King555
(Gast)

n/a Beiträge
 
#22

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 22. Dez 2005, 10:47
So, ich habe es nun an einem PC mit "richtiger" COM-Schnittstelle getestet. Das Visual Basic Beispiel funktioniert, die Kasse geht offen. Aber mein Delphi Programm funktioniert immer noch nicht.

Mein aktueller Code:

Delphi-Quellcode:
  function KasseOeffnen: Boolean;
  begin
    Result := False;
    try
      if SerialOpen(FSerialConn) = SER_OK then
      try
        Result := (SerialXmit(FSerialConn, #27) = SER_OK);
        Result := Result and (SerialXmit(FSerialConn, #112) = SER_OK);
        Result := Result and (SerialXmit(FSerialConn, #48) = SER_OK);
        Result := Result and (SerialXmit(FSerialConn, #150) = SER_OK);
        Result := Result and (SerialXmit(FSerialConn, #150) = SER_OK);
      finally
        SerialStop(FSerialConn);
      end; {IF/TRY}
    except
      Result := False;
    end; {TRY}
  end;
Bei dem VB Beispiel habe ich die ganzen Verbindungsparameter eingestellt (z.B. Parität, etc.). Das habe ich in Delphi mal gemacht und mal nicht, beides ging nicht. Vielleicht liegt es daran, dass ich bei dem Delphi-Code die Flußsteuerung nicht wählen kann (XON/XOFF in meinem Fall).
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#23

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 22. Dez 2005, 11:00
Was ist denn das SerialXMit überhaupt ? Lade mal AsyncPro und da die Komponente ComPort. Stelle alles richtig ein und sende den ganzen string also chr (27)+ ... an die serielle. Das muß gehen !
Gruß
Hansa
  Mit Zitat antworten Zitat
King555
(Gast)

n/a Beiträge
 
#24

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 22. Dez 2005, 12:12
Mit AsyncPro geht es!

Jetzt muss ich zwar eine 1,7 MB große DPL Datei mitgeben, aber immerhin funktioniert es nun.

Allerdings würde ich noch eins gerne wissen: Ist es möglich, dass AsyncPro, bzw. die COM-Komponente, die Anschlusseinstellungen des Ports selber ausliest? Also das, was ich in der Systemsteuerung gewählt habe (z.B. Parität, Datenbits, etc.)?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#25

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 22. Dez 2005, 12:25
Na also ! Ging aber fast zu schnell. Man muß eben anscheinend immer nur deutlich werden. Das mit der DPL weiß ich nicht. Was soll das sein ? Normalerweise wird alles in die EXE eingelinkt. Kann gut sein, daß die Standardeinstellungen als Default Werte geneommen werden. Das würde auch Sinn machen. AsyncPro wäre das ohne weiteres zuzutrauen.
Gruß
Hansa
  Mit Zitat antworten Zitat
King555
(Gast)

n/a Beiträge
 
#26

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 22. Dez 2005, 13:17
DPL deswegen, weil bei der Software nur Runtime-Packages benutzt werden dürfen, es darf nichts in das Programm reinkompileirt werden. Das liegt daran, weil es sich um viele einzelne Module (genauer gesagt DLL Dateien) handelt.

Danke an alle für eure Mühe!
  Mit Zitat antworten Zitat
King555
(Gast)

n/a Beiträge
 
#27

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 10. Jan 2006, 07:32
Ich habe nochmal eine Frage zu dem Thema:

Auf meinem PC funktionierte das Öffnen der Kasse, auf einem anderen Rechner, wo es eigentlich laufen soll, geht es nicht. ASyncPro gibt eine Exception aus. Leider sagt die Exception-Meldung garnichts aus ("AsyncPro Exception"). Woran könnte das liegen? Der Com-Port ist richtig eingestellt und die serielle Schnittstelle ist genau so konfiguriert, wie auf meinem PC.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#28

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 10. Jan 2006, 17:17
Wenn du schreibst, welche Code-Zeile die Exception verursacht, dann habe ich eine reelle Chance ...

Grüße vom marabu
  Mit Zitat antworten Zitat
King555
(Gast)

n/a Beiträge
 
#29

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 17. Jan 2006, 11:19
Hier mein aktueller Code:

Delphi-Quellcode:
  function KasseOeffnen: Boolean;
  const
    strOpen = #27#112#48#150#150;
  begin
    try
      Application.ProcessMessages;
      if ComPort.ComNumber <> FKasseComPort then
      begin
        ComPort.ComNumber := FKasseComPort;
        Application.ProcessMessages;
      end; {IF}
      ComPort.InitPort;
      Application.ProcessMessages;
      try
        ComPort.PutString(strOpen);
        Application.ProcessMessages;
      finally
        ComPort.DonePort;
        Application.ProcessMessages;
      end; {TRY}
      Result := True;
    except
      Result := False;
    end; {TRY}
  end;
Bei "ComPort.InitPort;" springt er nach "Result := False;" im except-Block. Die Fehlermeldung (die natürlich in der jetzigen Konstruktion nicht sichtbar ist), lautet: "Apro exception" (mehr nicht).
  Mit Zitat antworten Zitat
King555
(Gast)

n/a Beiträge
 
#30

Re: Serielle Kassenschublade ansteuern: Was bedeutet z.B &am

  Alt 23. Jan 2006, 07:33
Jetzt weiß ich vielleicht, warum der Fehler kommt: Sobald der Druckertreiber für den Kassendrucker installiert ist, kann keine Anwendung mehr auf den entsprechenden COM-Port zugreifen. Auf meinem PC funktioniert es allerdings, nur nicht auf dem eigentlichen Zielrechner. Wenn ich den COM-Port im Druckertreiber auf einen anderen (ungültigen) stelle, dann geht es wieder. Der Hersteller des Druckertreibers konnte mir auch keine Antwort geben.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 07:15 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