Benutzer mit den meisten Antworten
Drucken von txt - Dateien

Frage
-
Hallo,
habe folgendes Problem: In einem Programm wird nach button_Click eine Text-Datei (*.txt) ausgedruckt. Dies funktioniert auch, nur die Buchstaben ä, ö, ü, ß werden nicht mit gedruckt. Hat jemand die Kenntnis, wie man auch diese Buchstaben gedruckt bekommt?.
Thanks
H. Helmer
Antworten
-
Ich würde mal vermuten, dass diese Zeile das Problem ist:
streamToPrint = gcnew StreamReader( "Adv1.txt" );
Hier gibst Du keinerlei Encoding an... welches soll er verwenden!?
Vermutlich nimmt er "Default", was aber wohl nicht stimmt...
Wenn die Datei nicht mit einem BOM gespeichert wurde, so ist es sehr schwer zu erkennen, in was für einem Encodung die Datei ist...Gibt die Texte doch mal als Debug-Ausgabe im VS aus, dann wirst Du sehen, dass diese da auch falsch sind...
Schau Dir einfach mal die Konstruktoren von "StreamReader" an... und geb ein Encoding an.
Jochen Kalmbach (MVP VC++)- Als Antwort markiert Robert Breitenhofer Freitag, 11. Februar 2011 12:47
Alle Antworten
-
Hallo,
hier ein Ausschnitt aus dem Druck-Teil. Das ganze ist noch umfangreicher enthält aber vor allem Seitenformatierungsanweisungen. Einen Anhang kann man hier wohl nicht anhängen.
if ( listBox1->SelectedItem->ToString() == "Seite 1" )
{
printDialog1->AllowSomePages = true;
printDialog1->ShowHelp = true;
printDialog1->Document = pd;if ( pd == nullptr )
System::Windows::Forms::MessageBox::Show( "null" );;
;
if ( printDialog1 == nullptr )
System::Windows::Forms::MessageBox::Show( "pnull" );;
;
System::Windows::Forms::DialogResult result = printDialog1->ShowDialog();
;
;try
{
streamToPrint = gcnew StreamReader( "Adv1.txt" );
try
{
printFont = gcnew System::Drawing::Font( "Arial", 10 );
PrintDocument^ pd = gcnew PrintDocument();
pd->PrintPage += gcnew PrintPageEventHandler( this, &Form1::pd_PrintPage );
pd->Print();
}
finally
{
streamToPrint->Close();
}}
catch ( Exception^ ex )
{
MessageBox::Show( ex->Message );
}
}
MfGH. Helmer
-
Ich würde mal vermuten, dass diese Zeile das Problem ist:
streamToPrint = gcnew StreamReader( "Adv1.txt" );
Hier gibst Du keinerlei Encoding an... welches soll er verwenden!?
Vermutlich nimmt er "Default", was aber wohl nicht stimmt...
Wenn die Datei nicht mit einem BOM gespeichert wurde, so ist es sehr schwer zu erkennen, in was für einem Encodung die Datei ist...Gibt die Texte doch mal als Debug-Ausgabe im VS aus, dann wirst Du sehen, dass diese da auch falsch sind...
Schau Dir einfach mal die Konstruktoren von "StreamReader" an... und geb ein Encoding an.
Jochen Kalmbach (MVP VC++)- Als Antwort markiert Robert Breitenhofer Freitag, 11. Februar 2011 12:47