AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Umlaute und 'ß' aus Textdatei korrekt anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Umlaute und 'ß' aus Textdatei korrekt anzeigen

Ein Thema von Delphi_gn7 · begonnen am 7. Jul 2009 · letzter Beitrag vom 10. Jul 2009
Antwort Antwort
Seite 1 von 2  1 2      
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#1

Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 7. Jul 2009, 20:14
Hiho,

ich möchte mit einem Delphi Konsolenprogramm den Inhalt einer Textdatei auslesen und anzeigen lassen, z.B.:
"Dieser Text enthält Umlaute und ein 'ß'."

Wurde der Text in ANSI gespeichert, wird in der Konsole das angezeigt:
"Dieser Text enth[o mit nem '~' Zeichen oben drüber]lt Umlaute und ein '[seltsames Quader-Zeichen]'."

War es zuvor Unicode, sieht das so aus:
"[seltsames Quader-Zeichen]D i e s e r T e x t e n t h [o mit nem '~' Zeichen oben drüber] l t U m l a u t e u n d e i n ' [seltsames Quader-Zeichen] '."

Wie mache ich es in beiden Föllen möglichst einfach möglich, das das 'ß' auch als 'ß' und die Umlaute wie Umlaute, also korrekt, angezeigt werden?
habe erst 1 Jahr Delphi Erfahrung und noch gar keine mit OOP.

Mfg
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 7. Jul 2009, 20:33
Versuch es mal mit MSDN-Library durchsuchenCharToOem().
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 himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 7. Jul 2009, 20:40
Jupp, das Erste wurde genannt und zum Zweiten,
da wirst du es wohl mal auch als Unicode auslesen müssen, nach Ansi umwandeln und danach dann nochmal mit CharToOEM drüber, oder gleich direkt nach OEM umwandeln.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#4

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 7. Jul 2009, 20:45
Danke! ich hab eure Vorschläge mal in ein test-Programm integriert:

Delphi-Quellcode:
var txt:textfile;
    s: string;
    c: char;
    i:integer;
begin
 assign(txt,'E:\t.txt');
 reset(txt);
 while not eof(txt) do
 begin
  readln(txt,c);
  write(chartooem(c)); // Fehlermeldung: "Inkompatible Typen: 'Char' und 'PAnsiChar'"
 end;
 readln;
 close(txt);
.. aber leider kommt die oben genannte Fehlermeldung.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 7. Jul 2009, 22:08
ja und was besagt die Fehlermeldung?
- du gibst Char/String
- und Funktion will PChar

MSDN-Library durchsuchenCharToOem

kannst ja auch mal im Forum schauen, wie es andere benutzen > Hier im Forum suchenCharToOem
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#6

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 8. Jul 2009, 20:17
ich hab keine ahnung was PAnsiChar ist...
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 9. Jul 2009, 11:18
Aus der D7-Hilfe
Zitat:
Zeiger auf Zeichen

Die beiden fundamentalen Zeigertypen PAnsiChar und PWideChar stellen Zeiger auf AnsiChar- bzw. WideChar-Werte dar. Der generische Typ PChar repräsentiert einen Zeiger auf einen Char-Wert (in der aktuellen Implementation auf einen AnsiChar-Wert). Diese Zeigertypen auf Zeichen werden zur Verarbeitung von nullterminierten Strings eingesetzt. Informationen hierzu finden Sie unter Nullterminierte Strings.
Gruß
K-H
  Mit Zitat antworten Zitat
Stormy

Registriert seit: 8. Okt 2005
Ort: LPZ
73 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 9. Jul 2009, 11:27
Hi,

versuch mal

write(chartooem(PChar(c)));
Gruß
Stormy
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#9

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 9. Jul 2009, 11:44
nein: CharToOEM änder die Daten im Puffer
und ReadLn ließt einen String aus und keinen einzelnen Char

Delphi-Quellcode:
var txt: textfile;
    s: string;

begin
assign(txt,'E:\t.txt');
reset(txt);
while not eof(txt) do
begin
  ReadLn(txt, s);
  // eventuell noch ein UniqueString(s); aber ich hoff jetzt
  // einfach mal, daß readLn passende Strings liefert
  CharToOem(PChar(s), Length(s));
  WriteLn(s);
end;
ReadLn;
close(txt);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#10

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen

  Alt 9. Jul 2009, 13:30
Zitat von himitsu:

Delphi-Quellcode:
var txt: textfile;
    s: string;

begin
assign(txt,'E:\t.txt');
reset(txt);
while not eof(txt) do
begin
  ReadLn(txt, s);
  // eventuell noch ein UniqueString(s); aber ich hoff jetzt
  // einfach mal, daß readLn passende Strings liefert
  CharToOem(PChar(s), Length(s));
  WriteLn(s);
end;
ReadLn;
close(txt);
--> Fehlermeldung: "Inkompatible Typen: 'Integer' und 'PAnsiChar'"
Andreas
  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 03:15 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