AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Spezielle Druckereigenschaften auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Spezielle Druckereigenschaften auslesen

Ein Thema von DeddyH · begonnen am 9. Mär 2008 · letzter Beitrag vom 9. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von DeddyH
DeddyH

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

Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 12:27
Ich hätte gern gewusst, wie ich spezielle Eigenschaften eines Druckers ermitteln kann. Konkret geht es mir um den Anschluss (ob an FILE oder nicht) sowie PostScript-Fähigkeit. Zu Letzterem habe ich bei den Schweizern diesen Code gefunden, allerdings schließt dieser mir nach Abarbeitung das komplette Programm

Danke für' s Lesen
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
marabu

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

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 12:43
Hallo Deddy,

der Code aus der Schweiz funktioniert bei mir - ohne den von dir beschriebenen Seiteneffekt.

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 12:49
Hallo marabu, merkwürdig, ich habe diesen Effekt sowohl unter Delphi 7 als auch unter Delphi 2007. Das Memo wird befüllt und das Programm sofort danach geschlossen.
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
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 12:52
Hi Detlef,

ich kann das Problem auch nicht nachvollziehen (TDE). Tritt das Problem auch in einer nackten Anwendung auf?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 12:53
Hallo

Probiere mal den Code von Joe C. Hecht:
Delphi-Quellcode:
uses
 Printers;

function IsPostScriptPrinter(dc : hdc) : bool;
var
  TestInt : integer;
  a : array[0..255] of char;
  err : integer;
  s : string;
begin
  Result := false;
  TestInt := GETTECHNOLOGY;
 {$IFDEF WIN32} 
  if ExtEscape(Dc,
               QUERYESCSUPPORT,
               sizeof(TestInt),
               @TestInt,
               0,
               Nil) > 0 then begin
     Err := ExtEscape(Dc,
                      GETTECHNOLOGY,
                      0,
                      nil,
                      256,
                      @a);
 {$ELSE} 
  if Escape(Dc,
            QUERYESCSUPPORT,
            sizeof(TestInt),
            @TestInt,
            Nil) > 0 then begin
     Err := Escape(Dc,
                   GetTechnology,
                   0,
                   nil,
                   @a);
  {$ENDIF} 
     if Err > 0 then begin
       s:= UpperCase(StrPas(a));
       if Pos('POSTSCRIPT',s) > 0 then
         result := true;
     end;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  if PrintDialog1.Execute then
    if IsPostScriptPrinter(Printer.Handle) then
      ShowMessage('This is a Postscript Printer') else
      ShowMessage('This is not a Postscript Printer');
end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 12:55
Ich kann machen, was ich will, immer derselbe Effekt Ich hänge mal das D7-Kompilat an, vielleicht tritt dieses komische Verhalten ja nur bei mir auf.
Angehängte Dateien
Dateityp: exe projectnix_143.exe (381,0 KB, 20x aufgerufen)
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
Benutzerbild von DeddyH
DeddyH

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

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 12:58
Ah, der Code von Tom funktioniert, herzlichen Dank
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
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 13:01
Deine Exe funktioniert bei mir einwandfrei.
Liegt also irgendwo doch an Dir. *g*
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 13:07
Hmm... evtl. verursachen die virtuellen Drucker das Problem. Nun muss ich nur noch herausfinden, wie ich ermitteln kann, ob der aktuelle Drucker an FILE druckt.
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
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Spezielle Druckereigenschaften auslesen

  Alt 9. Mär 2008, 13:46
An virtuellen Druckern kann es nicht liegen. Ich habe hier 4 Virtuelle, und es schließt sich nicht.
Aber such mal in der Hilfe (PSDK) nach PRINTER_INFO_2 bzw. PRINTER_INFO_5 . Damit lässt sich herausfinden, ob es ein Fax ist und ähnliches.. Vielleicht hilft es ja weiter.
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:35 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