Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Umlaute und 'ß' aus Textdatei korrekt anzeigen (https://www.delphipraxis.net/136766-umlaute-und-ss-aus-textdatei-korrekt-anzeigen.html)

p80286 9. Jul 2009 16:06

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen
 
Delphi-Quellcode:
 CharToOem(PChar(s), Length(s));
-->
 CharToOem(PChar(s), Pchar(s)));
 Writeln(so);
oder aber mit zwei strings si und so
Delphi-Quellcode:
CharToOem(PChar(si), Pchar(so));
ggf. muß auch AssignFile und CloseFile verwendet werden!

Gruß
K-H

Delphi_gn7 9. Jul 2009 17:00

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen
 
bei deinem 1. vorschlag werden die zeichen nicht korrekt angezeigt, so wie am anfang und wenn ich es mit deiner 2. variante mache, läuft das programm, terminiert aber fast sofort nach dem start, obwohl kein readln fehlt.

p80286 10. Jul 2009 09:39

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen
 
Hallo Delphi_gn7

was funktioniert wann nicht?
könntest Du mal den Sourcecode bekannt machen?

Gruß
K-H

Delphi_gn7 10. Jul 2009 10:54

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen
 
Klar, hier ist er:

Delphi-Quellcode:
program uni;

{$APPTYPE CONSOLE}

uses
  SysUtils, Windows;

var txt:textfile;
    si,so: string;

begin
 assign(txt,'E:\t.txt');
 reset(txt);
 while not eof(txt) do
 begin
   ReadLn(txt, si);
   CharToOem(PChar(si), PChar(so));
   Writeln(so);
 end;
 ReadLn;
 close(txt);
end.

DeddyH 10. Jul 2009 11:50

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen
 
Du reservierst ja keinen Speicher für so.
Delphi-Quellcode:
program uni;

{$APPTYPE CONSOLE}

uses
  SysUtils, Windows;

var text: TextFile;
    si,so: string;

begin
  try
  { TODO -oEntwickler -cKonsole Main : Hier Code einfügen }
    AssignFile(text,'E:\t.txt');
    try
      Reset(text);
      while not Eof(text) do
        begin
          Readln(text,si);
          SetLength(so,Length(si));
          CharToOem(PChar(si),PChar(so));
          Writeln(so);
        end;
    finally
      CloseFile(text);
    end;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
  Readln;
end.
[edit] Übrigens: Du könntest Dir so auch sparen, da Du si als Ein- und Ausgabe an CharToOEM übergeben kannst. [/edit]

Delphi_gn7 10. Jul 2009 13:00

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen
 
danke, das mit dem setLength wusste ich noch nicht.

was bewirkt denn:

Delphi-Quellcode:
except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
?

mfg

DeddyH 10. Jul 2009 13:04

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen
 
Das bewirkt die Ausgabe der entsprechenden Fehlermeldung im Falle einer Exception.

Delphi_gn7 10. Jul 2009 18:34

Re: Umlaute und 'ß' aus Textdatei korrekt anzeigen
 
dankesehr!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr.
Seite 2 von 2     12   

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