Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sonderzeichen in Konsolenanwendung (https://www.delphipraxis.net/71198-sonderzeichen-konsolenanwendung.html)

R2D2 10. Jun 2006 19:23


Sonderzeichen in Konsolenanwendung
 
Hallo!

Ich bin am Verzweifeln:

Wenn ich in der Konsolenanwendung mit writeln ein Sonderzeichen ausgeben will, kommt immer was ganz anderes raus! Was ich bräuchte wäre eine Möglichkeit zu prüfen, welches Zeichen ich wie bekomme!

Delphi-Quellcode:
writeln('Prüfen');
-->
Zitat:

Zitat von Nicht funktionnierendes Programm
Pr³fen

Vielen Dank!

Muetze1 10. Jun 2006 19:45

Re: Sonderzeichen in Konsolenanwendung
 
Delphi-Quellcode:
Function AnsiToConCP(Const AString: String): String;
Var
  lResult: String;
Begin
  SetLength(lResult, Length(AString));
  {$IFDEF WIN32}
  CharToOEM(PChar(AString), PChar(lResult)); {32Bit}
  {$ELSE}
  AnsiToOEM(PChar(@AString[1]), PChar(@lResult[1])); {16Bit}
  {$ENDIF}
  Result := lResult;
End;
Vor der Ausgabe durch diese Routine jagen...

R2D2 10. Jun 2006 19:49

Re: Sonderzeichen in Konsolenanwendung
 
Welche units brauche ich denn dafür?

faux 10. Jun 2006 19:52

Re: Sonderzeichen in Konsolenanwendung
 
Hallo!

Zitat:

Zitat von Muetze1
Delphi-Quellcode:
Function AnsiToConCP(Const AString: String): String;

Ist zar nebensächlich, aber wofür soll "ConCP" stehen? Wäre "AnsiToOem" nicht aussagekräftiger?

Grüße
Faux

R2D2 10. Jun 2006 19:54

Re: Sonderzeichen in Konsolenanwendung
 
Wenn er die procedure
Delphi-Quellcode:
AnsiToOEM(PChar(@AString[1]), PChar(@lResult[1]));
in seinem Code aufruft, wird er die wohl kaum überlagern wollen.

In welcher unit ist das denn?

Muetze1 10. Jun 2006 20:05

Re: Sonderzeichen in Konsolenanwendung
 
1. In der Unit Windows.pas
2. Die Funktion kann nicht AnsiToOEM() heissen, da ich diese Funktion in der Windows aufrufe und nicht verdecken will (wie schon angemerkt).
3. ConCP steht für Console CodePage

R2D2 10. Jun 2006 20:13

Re: Sonderzeichen in Konsolenanwendung
 
OK, danke. Jetzt funzt es! :-D :-D :-D :-D :-D :-D :-D :-D :-D

Martin K 10. Jun 2006 20:27

Re: Sonderzeichen in Konsolenanwendung
 
Hm, das ganze hatten wir doch schon mal.
http://www.delphipraxis.net/internal...ct.php?t=83085

CharToOEM bzw. OEMToChar war da die Lösung...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:48 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