Seite 1 von 2

Drucken von deutschen Zeichen

Verfasst: 23.10.2006 17:44
von dysti
Hallo,
ich benutze PURELPrint-Lib von gnozal.
Das drucken klappt aber er druckt anstatt ein ä leider Sonderzeichen.
Wie kann ich die deutschen Zeichen richtig drucken?

Verfasst: 23.10.2006 20:38
von NicTheQuick
Liegt das nicht normal an der verwendeten Schriftart?

Ich benutze die Lib nicht, aber eine Idee wäre es doch mal, oder?

Ansonsten könnte es sein, dass du deine Strings erst von ANSI nach ASCII
konvertieren musst oder andersrum.

Das wär jetzt mal alles, was mir dazu einfällt.

Verfasst: 24.10.2006 10:29
von dysti
Jetzt habe ich den ganzen Vormittag in den Foren gesurft, aber nichts gefunden Umwandlung eines Strings in ASCII.
Kennt jemand ein Link oder weiß wie es geht.

Verfasst: 24.10.2006 10:36
von dysti
Nun ja, ich muß ja nicht die Lib verwenden,
möchte doch nur einige Textzeilen drucken in der Form:

Befehl ("Hallo Purebasic")
oder
Befehl ("Hallo Purebasic" + CHR(13) + CHR(10))

ohne diese X/Y - Angaben.
Das muß doch möglich sein?

Verfasst: 24.10.2006 10:42
von Kaeru Gaman
normalerweise haben drucker auch einen textmodus.

wenn du also nur auf irgendeinem bestimmten drucker einen text ausdrucken willst,
dann schick dem drucker einfach mal plain text und schau, was bei rauskommt.

frag mich aber nich, wie man das unter XP macht, ausgabeumleitung.

früher hat man einfach ne textdatei an LPT1 ge-pipe-t.

Verfasst: 24.10.2006 11:47
von dysti
Kaeru Gaman: geht so leider nicht,
weil ich die Textstring in einer Schleife drucke

Verfasst: 24.10.2006 12:30
von Tafkadasom2k5
Ich bin mir jetzt nicht ganz so sicher aber normalerweise geht ads auch so, dass man einfach eine Textdatei speichert, und dann dieses an den LPT piped (siehe Kaerus Post):
-Achtung, Pseudocode:

Code: Alles auswählen

sDateiname.s = "C:\Testdatei.txt"
sText.s = "Hallo PureBasic" + CHR(13) + CHR(10) + "...ich heiße Tafkadasom2k5"
SpeichernInDatei(sText,sDateiname)
SHELL("COPY " + sDateiname + " LPT1")
Gr33tz
Tafkadasom2k5

Edit: Dann druckst du eben nicht in der Schleife, sondern veränderst die Variable sText innerhalb der Schleife, und führst dann den Speicher- und Pipekram aus... wo ist da das Problem?

Re: Drucken von deutschen Zeichen

Verfasst: 24.10.2006 17:38
von gnozal
dysti hat geschrieben:Hallo, ich benutze PURELPrint-Lib von gnozal.
Das drucken klappt aber er druckt anstatt ein ä leider Sonderzeichen.
Wie kann ich die deutschen Zeichen richtig drucken?
I use it every day and it works with the french characters like "éçèà". Just remember that PureLPRINT sends data directly to the printer like in DOS times, and printers usually only speak ASCII (and extra escape codes like in HP PCL).
You have to translate your special characters (ANSI > 127) to ASCII.
Look at an ASCII table or use some special API string translation functions.
dysti hat geschrieben:Jetzt habe ich den ganzen Vormittag in den Foren gesurft, aber nichts gefunden Umwandlung eines Strings in ASCII.
Kennt jemand ein Link oder weiß wie es geht.
Did you have a look at the CharToOem_() function ?

Verfasst: 25.10.2006 07:51
von dysti
Thank you gnozal
i am happy.

Verfasst: 25.10.2006 08:34
von dysti
Ich war richtig happy nach dem Tip mit der Funktion CharToOEM_(@text,@text)

Wenn ich einen String habe wie "Müller" und ihn ausdrucke, dann erscheint auf dem Drucker auch "Mnller".

Mit der oberen Funktion erscheint: "Müller"

Hole ich den String nun aus einem ListIconGadget, dann erscheint auf dem Drucker: "M_ller"

Was muß denn jetzt noch konvertiert werden? Da kann man ja verzweifeln!