AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Chr(224) Delphi 2007 <-> Delphi 2009

Ein Thema von ImpactMG · begonnen am 3. Nov 2008 · letzter Beitrag vom 4. Nov 2008
Antwort Antwort
Seite 2 von 2     12   
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Chr(224) Delphi 2007 <-> Delphi 2009

  Alt 3. Nov 2008, 20:39
Hallo,
Zitat von mkinzler:
Nein Chr liefert auch in D2009 einen Ansistring zurück
Die Standardfunktion Chr sollte in Delphi 2009 ein Unicode-Zeichen liefern:

Delphi-Quellcode:
var
  ch : Char;
begin
  ch := Chr($0815);
  ShowMessage (IntToHex(Ord(ch), 4));
end;
Zugegeben - die Hilfedatei ist in diesem Punkt leider keine große Hilfe...

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.008 Beiträge
 
Delphi 12 Athens
 
#12

Re: Chr(224) Delphi 2007 <-> Delphi 2009

  Alt 3. Nov 2008, 20:52
Zitat von Hawkeye219:
Hallo,
Zitat von mkinzler:
Nein Chr liefert auch in D2009 einen Ansistring zurück
Die Standardfunktion Chr sollte in Delphi 2009 ein Unicode-Zeichen liefern:

Delphi-Quellcode:
var
  ch : Char;
begin
  ch := Chr($0815);
  ShowMessage (IntToHex(Ord(ch), 4));
end;
Beides ist richtig! Je nach Ziel liefert Chr entweder einen 1- oder 2-Byte Wert zurück. Im Falle eines 1-Byte Ziels und eines 2-Byte Parameter gibt es dann auch eine Warnmeldung.
Uwe Raabe
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Chr(224) Delphi 2007 <-> Delphi 2009

  Alt 3. Nov 2008, 20:53
Die IDE auch nicht
Miniaturansicht angehängter Grafiken
chr_180.png  
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Chr(224) Delphi 2007 <-> Delphi 2009

  Alt 3. Nov 2008, 21:00
wie sieht es aus wenn man castet mit char(zahl) anstelle die compilermagic funktion chr(zahl) zu verwenden?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ImpactMG

Registriert seit: 11. Jul 2007
16 Beiträge
 
#15

Re: Chr(224) Delphi 2007 <-> Delphi 2009

  Alt 4. Nov 2008, 08:59
Danke für die Tips.

BinToHex und HexToBin liefern gerau das gleiche Ergebnis wie meine Funktionen.

Habe inzwischen den Grund für das Problem gefunden, allerdings noch keine Lösung.

Auf meinem System war die Defaultcodepage auf Polnisch eingestellt (Systemsteuerung/Regions- und Sprachoptionen/Erweitert/Sprachversion für nicht-Unicodefähige Programme). Wenn ich sie auf Deutsch zurückstelle, bekomme ich wie Ihr ein 'á'.

Chr arbeitet also Systemcodepage-abhängig. Lösung mit Casten werde ich ausprobieren
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.008 Beiträge
 
Delphi 12 Athens
 
#16

Re: Chr(224) Delphi 2007 <-> Delphi 2009

  Alt 4. Nov 2008, 19:40
Zitat von ImpactMG:
BinToHex und HexToBin liefern gerau das gleiche Ergebnis wie meine Funktionen.
Hatte ich auch nicht anders erwartet, sollte nur Arbeit sparen...

Zitat von ImpactMG:
Auf meinem System war die Defaultcodepage auf Polnisch eingestellt (Systemsteuerung/Regions- und Sprachoptionen/Erweitert/Sprachversion für nicht-Unicodefähige Programme). Wenn ich sie auf Deutsch zurückstelle, bekomme ich wie Ihr ein 'á'.

Chr arbeitet also Systemcodepage-abhängig.
Ich denke eher, daß die Umwandlung in den UnicodeString das CodePage-Problem hat. Aber du kannst die verwendete CodePage für AnsiStrings ja im Programm festlegen:

Delphi-Quellcode:
type
  GermanString = type AnsiString (1252);
  PolishString = type AnsiString (1250);
var
  German: GermanString;
  Polish: PolishString;
begin
  German := chr(224);
  Polish := chr(224);
  ShowMessage(German + '<>' + Polish);
end;
Wird nur AnsiString angegeben, verwendet Delphi die aktuelle Windows-CodePage. Leider geht das nicht mit AnsiChar, nur mit AnsiString;
Uwe Raabe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:04 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