Auslesen von Hardwareinstellungen

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Auslesen von Hardwareinstellungen

Beitrag von Manfred »

Hi,

jetzt komme ich auch dazu mich in das Teufelswerk Drucken einzuarbeiten.

Ich habe einen Matrixdrucker (NEC P90), der als Grundeinstellung Draft Gothic HS hat. Also etwas, was nur Dampf macht und paßt. Wie bekomme ich diese Werte eigentlich ausgelesen, also sprich, die Werte, die über das druckeigene Frontmenue eingestellt sind? Ich möchte dann nämlich einfach nur eine schmalere Schrift einstellen, aber zum Schluß wieder die richtige Einstellung zurückstellen. In dem Printerobjekt (express++ erzeugt) steht "12.Courier.News". Das ist aber auf keinen Fall die Schrift, die das Frontmenue anzeigt. Oder irre ich hier? Wenn ich auf 8.Courier umstelle, dann wird die Anzeige "HS" gegen "10" am Panel ausgetauscht. Die Schriftartanzeige wechselt nicht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Auslesen von Hardwareinstellungen

Beitrag von brandelh »

Hallo Manfred,

sieh im Handbuch nach, ob da was von Windows steht ;-)

deinen kenne ich zwar nicht, aber speziell bei Nadeldruckern muss man Windows GDI Drucken abschalten und reinen Textdruck einschalten (set printer to ...). Sonst malt Windows seine Schriften und das sieht nicht nur häßlich aus, es ist auch richtig laut.

Die schmälere Schrift kann man normalerweise auch über Steuerzeichen ein- und ausschalten, aber die muss man kennen. -> HANDBUCH (wenn du Glück hast) oder Google ...
Gruß
Hubert
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Auslesen von Hardwareinstellungen

Beitrag von Rolf Ramacher »

Hi Manfred,

ich druck nicht mit express - aber mit xbase machst du das mit GraSetFont() die Schriftart + Größe setzen.
z.B. so:

Code: Alles auswählen

	oFont := XbpFont():new():create( "18.Arial" )
				GraSetFont( oPs, oFont )
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Auslesen von Hardwareinstellungen

Beitrag von brandelh »

Hallo Rolf,

dann nimmt er aber nicht den Druckerzeichensatz sondern malt im grafikmodus ... nicht schön auf einem alten dot matrix printer ;-)
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Auslesen von Hardwareinstellungen

Beitrag von Manfred »

@Hubert,

so habe ich das früher gemacht. Aber ich dachte das ginge einfacher heutzutage. Falsch gedacht.

Das Problem ist ja auch, dass das Teil dann z.B. auf 17 steht, aber was eine andere Bedeutung als 17 unter Windows hat. Bei der Größe auf dem Drucker, kann ich viel in eine Zeile bringen, aber was Windows daraus macht, da kann ich den Text aus 10 Meter Entfernung lesen. Hierbei gilt ja: je größer die Zahl, umso enger die Druckschrift. Verflixt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Auslesen von Hardwareinstellungen

Beitrag von brandelh »

Hallo Manfred,

genau, auf einem dot matrix Drucker sind 17 Zeichen / Zoll (also auf 2,5 cm),
unter Windows aber 17 Punkt (zwischen 10 und 12 Punkt ist normal) Schrifthöhe (nicht dots, sondern Points...) = 17/72 Inch Schriftgröße. ---> http://de.wikipedia.org/wiki/Schriftgrad

Der Drucker ändert sich nicht, nur weil er nun an einer Windowskiste hängt ;-)
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Auslesen von Hardwareinstellungen

Beitrag von Manfred »

Das ist ja die Sch.....

jetzt muß ich alles ändern. das WE ist mal wieder gerettet......
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Auslesen von Hardwareinstellungen

Beitrag von Wolfgang Ciriack »

Hallo Manfred,
bei Nadeldruckern kannst du die Einstellungen am Gerät nicht abfragen, die mußt du bei jedem Druckjob per Steuerzeichen selber setzen. Am Ende deines Drucks gibst du ein Stz. für Reset an den Drucker, so dass er seine im Menü eingestellten Grundwerte wieder übernimmt.
Es gelten noch die Angabe Zch./Zoll, damit bekommst du auf eine 8 Zoll breite Zeile bei 10cpi 80 Zch.,
bei 12cpi 96 Zch. bei 17cpi 136 Zeichen.
Wenn du die Steuerzeichen für bestimmte Drucker benötigst (fast alle sind heute EpsonLQ kompatibel), ich habe die wichtigsten noch bei mir in einem Array liegen (NEC hatte m.E. ein paar Unterschiede zu Epson und IBM).
Wenn du deinen Kunden etwas Gutes tun willst, steuerst du den Nadeldrucker nicht über den Windowsdruckertreiber an, alles als Grafik wird langsam und laut. :x
Viele Grüße
Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Auslesen von Hardwareinstellungen

Beitrag von brandelh »

Wolfgang Ciriack hat geschrieben:Wenn du deinen Kunden etwas Gutes tun willst, steuerst du den Nadeldrucker nicht über den Windowsdruckertreiber an, alles als Grafik wird langsam und laut. :x
Wolfgang, du sprichst mir aus der Seele :D
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Auslesen von Hardwareinstellungen

Beitrag von Manfred »

Mir stehen die Haare schon zu Berge.

Ich werde mir die Sache jetzt mal zur Brust nehmen und nachsehen, was ich machen kann. Es sind glücklicherweise nur kleine Belege. Also für die Übergangszeit irgendwie machbar.

Danke erstmal für die Hinweise, ich werde die Jungs wohl morgen auch damit noch nerven beim Treffen :badgrin:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Auslesen von Hardwareinstellungen

Beitrag von Martin Altmann »

Manfred hat geschrieben:Danke erstmal für die Hinweise, ich werde die Jungs wohl morgen auch damit noch nerven beim Treffen
Dabei fällt mir ein: Ich hatte doch schon gesagt, dass ich erst am Abend beim Inder zu Euch stosse, oder :?:

:D

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Auslesen von Hardwareinstellungen

Beitrag von Manfred »

Ja sicher hattest Du das gesagt, aber wer glaubt Dir schon? :badgrin:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Auslesen von Hardwareinstellungen

Beitrag von AUGE_OHR »

hi,
Manfred hat geschrieben: Ich habe einen Matrixdrucker (NEC P90)
Ich habe eine DBF mit > 300 Druckern und ESC Sequenzen ... wenn du sowas brauchst ?
ansonsten muss ich mal in meinen alten Cl*pper Source schauen da ich auch NEC P60/P90
verwendet habe.
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Auslesen von Hardwareinstellungen

Beitrag von Manfred »

Hi,

ich werkel hier gerade herum um überhaupt einmal zu kapieren, was hier abgeht. Danke für das Angebot, ich werde wenn, darauf zurückkommen, aber jetzt ist erstmal in die Hände spucken angesagt.
Ich muß mich an gewisse Sachen erst gewöhnen. Der NEC ist ein DIN-A 3 Drucker,aber er verhält sich jetzt erstmal wie einer der nur DIN-A4 kann. Werde mal die einzelnen Parameter des Druckerobjektes anschauen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Auslesen von Hardwareinstellungen

Beitrag von AUGE_OHR »

hi,

habe einen alten Cl*pper Code gefunden der wohl A3 macht

Code: Alles auswählen

   SET CONSOLE OFF
   *SET PRINTER TO LPT2
   SET PRINT ON
   ?? CHR( 27 ) + CHR( 64 )
   ?? CHR( 27 ) + CHR( 80 ) + CHR( 15 )
   SET DEVICE TO PRINT

   @  0,  0 SAY 'Kundenliste vom ' + DTOC( DATE() )
   @  1,  0 SAY 'Kd-Nr Firmenbezeichnung                          Stra~e' + '                         PLZ  Ort                      ' + 'Telefon'
   @  2,  0 SAY '---------------------------------------------' + '---------------------------------------------' + '---------------------------------------------'
   zeile = 2
   DO WHILE .NOT. EOF()
      zeile = zeile + 1
      IF zeile > 65
         zeile = 2
         EJECT
         @  0,  0 SAY 'Kundenliste vom ' + DTOC( DATE() )
         @  1,  0 SAY 'Kd-Nr Firmenbezeichnung                          Stra~e' + '                         PLZ  Ort                      ' + 'Telefon'
         @  2,  0 SAY '---------------------------------------------' + '---------------------------------------------' + '---------------------------------------------'
         LOOP
      ENDIF

      @ zeile,  0  SAY KUNDEN->KDNR +"..."
      @ zeile, 129 SAY KUNDEN->KUSKONTO

      STORE KUNDEN->PLZ TO vplz
      SKIP
      IF KUNDEN->PLZ <> vplz
         zeile = zeile + 1
         @ zeile,  0
      ENDIF
   ENDDO

   SET CONSOLE OFF
   SET PRINT ON
   *SET PRINTER TO LPT2
   EJECT
   ?? CHR( 18 )
   ?? CHR( 27 ) + CHR( 80 )
   ?? CHR( 27 ) + CHR( 64 )
   *SET PRINTER TO LPT1
   SET PRINT OFF
   SET DEVICE TO SCREEN
   SET CONSOLE ON
so das geht über Columne 129 hinaus und müsste für den P90 sein.
gruss by OHR
Jimmy
Antworten