AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

USB Programmierung

Ein Thema von Moony · begonnen am 3. Mär 2009 · letzter Beitrag vom 6. Mär 2009
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

USB Programmierung

  Alt 3. Mär 2009, 16:33
Hallo zusammen,

ich habe einen USB Drucker. Für diesen Drucker habe ich ein Dokument über Befehle, die an den Drucker geschickt werden können. Mein Problem besteht in erster Linie darin, wie ich den richtigen USB Port anwähle und eine Verbindung LowLevel zu diesem Drucker aufbaue.

Ich habe noch nie über USB LowLevel programmiert und muss das jetzt tun, um gewisse Informationen vom Drucker zu erfragen.

Danke & Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#2

Re: USB Programmierung

  Alt 4. Mär 2009, 12:33
Kann denn keiner helfen einen Ansatz zu finden wie ich an den Drucker komme?

Ich habe ein wenig nachgeforscht und die Funktion DeviceIOControl scheint ein Anfang zu sein, aber dort wird immer ein Laufwerk angegeben. Dieses habe ich jedoch nicht bei einem Drucker. Kann da einer helfen???

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: USB Programmierung

  Alt 4. Mär 2009, 12:43
Ist der Drucker als Windows-Drucker installiert? Wenn ja, kannst Du ihn denn nicht wie jeden anderen Drucker ansprechen und einfach nur die Steuerzeichen senden?
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#4

Re: USB Programmierung

  Alt 4. Mär 2009, 13:23
Mein Problem ist, der Drucker ist selbstverständlich als Windows-Drucker installiert wit Windows Treiber. Über diesen Treiber kann ich aber nicht gehen, da mir dieser nicht die Informationen liefert bzw. zur Verfügung stellt wie der Drucker selbst. Ich habe von dem Drucker eine Command Specification, somit weiß ich welche Befehle ich schicken muß, um meine Informationen zu erhalten. Ich weiß jetzt nur nicht wie ich diese Befehle schicken soll.

An den Drucker Treiber kann ich also nicht rantreten. Demnach muß ich das irgendwie LowLevel üer die USB Schnittstelle machen. Wenn anders geht würde ich das gerne tun. Das spart Zeit und Aufwand.

Wie würdest du denn sonst die Steuerzeichen senden?
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

Re: USB Programmierung

  Alt 4. Mär 2009, 15:09
Zitat von Moony:
Mein Problem ist, der Drucker ist selbstverständlich als Windows-Drucker installiert wit Windows Treiber. Über diesen Treiber kann ich aber nicht gehen, da mir dieser nicht die Informationen liefert bzw. zur Verfügung stellt wie der Drucker selbst. Ich habe von dem Drucker eine Command Specification, somit weiß ich welche Befehle ich schicken muß, um meine Informationen zu erhalten. Ich weiß jetzt nur nicht wie ich diese Befehle schicken soll.

An den Drucker Treiber kann ich also nicht rantreten. Demnach muß ich das irgendwie LowLevel üer die USB Schnittstelle machen. Wenn anders geht würde ich das gerne tun. Das spart Zeit und Aufwand.

Wie würdest du denn sonst die Steuerzeichen senden?
Hallo,

wenn der Drucker über den Windowstreiber angesprochen wird, lässt dich Windows an die USB-Schnittstelle garnicht ran: ein Gerät kann nur von einer Anwendung auf einmal geöffnet werden, es sei denn, du programmierst einen erweiterten Druckertreiber (und lässt ihn für Vista von Microsoft testen und signieren).

Man kann übrigens sehr wohl über den Windowstreiber Steuerzeichen senden, allerdings kann man wahrscheinlich keine Antwort empfangen.

Über USB selbst kann man das dagegen nicht: USB ist keine Schnittstelle, sondern ein Bus.

Gruss Reinhard
  Mit Zitat antworten Zitat
squetk

Registriert seit: 29. Aug 2004
Ort: Cottbus
118 Beiträge
 
Delphi XE2 Professional
 
#6

Re: USB Programmierung

  Alt 6. Mär 2009, 19:21
Hallo,

wir haben Barcode-Drucker im Einsatz, die per USB angeschlossen sind und mittels Text-Kommandos programmiert werden. Dazu nutze ich diese Funktion:
Delphi-Quellcode:
 
procedure WriteRawStringToPrinter(PrinterName, DocName, PrintString : String);
var Handle: THandle;
    N: DWORD;
    DocInfo1: TDocInfo1;
begin
  if not OpenPrinter(PChar(PrinterName), Handle, nil) then
    raise Exception.Create(IntToStr(GetLastError));
  with DocInfo1 do
  begin
    pDocName := PChar(DocName);
    pOutputFile := nil;
    pDataType := 'RAW';
  end;
  StartDocPrinter(Handle, 1, @DocInfo1);
  StartPagePrinter(Handle);
  WritePrinter(Handle, PChar(PrintString), Length(PrintString), N);
  EndPagePrinter(Handle);
  EndDocPrinter(Handle);
  ClosePrinter(Handle);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:40 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