Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Chr(224) Delphi 2007 <-> Delphi 2009 (https://www.delphipraxis.net/123513-chr-224-delphi-2007-delphi-2009-a.html)

ImpactMG 3. Nov 2008 16:12


Chr(224) Delphi 2007 <-> Delphi 2009
 
Hallo,

ich habe das Problem, dass Chr(xx) unter Delphi 2009 etwas anderes liefert als Chr(xx) unter Delphi 2007.

Delphi-Quellcode:
var
  c : AnsiChar;
begin
  c := AnsiChar(Chr(224));
  ShowMessage(c);
end;
Gibt es eine Möglichkeit unter Delphi 2009 den gleichen Wert zu einer Zahl zu generieren, die Chr() in Delphi 2007 zurückgegeben hat?

Das eigentliche Problem das ich habe sind Daten die mit der Funktion:

Delphi-Quellcode:
function BinaryStrToHexStr(aBinary : AnsiString) : AnsiString;
var
  i : Integer;
begin
  Result := '';
  for i := 1 to Length(aBinary) do
    Result := Result + IntToHex(Ord(aBinary[i]), 2);
end;
geschrieben, und nun mit der Funktion:

Delphi-Quellcode:
function HexStrToBinaryStr(aHex : AnsiString) : AnsiString;
var
  i : Integer;
begin
  Result := '';
  for i := 1 to (Length(aHex) div 2) do begin
    Result := Result + Chr(:= StrToint('$' + Copy(aHex,i*2-1,2)));
  end;
end;
gelesen werden sollen. Es handelt sich um verschlüsselte Texte.

mkinzler 3. Nov 2008 16:22

Re: Chr(224) Delphi 2007 <-> Delphi 2009
 
Welchen Typ hat aHex?

Der.Kaktus 3. Nov 2008 16:25

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

Zitat von mkinzler
Welchen Typ hat aHex?

ist ein Funktionparameter ;-) (Ansistring)

mkinzler 3. Nov 2008 16:27

Re: Chr(224) Delphi 2007 <-> Delphi 2009
 
Man heute bin ich blind :oops:

Assertor 3. Nov 2008 16:32

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

Zitat von ImpactMG
ich habe das Problem, dass Chr(xx) unter Delphi 2009 etwas anderes liefert als Chr(xx) unter Delphi 2007.

Delphi-Quellcode:
var
  c : AnsiChar;
begin
  c := AnsiChar(Chr(224));
  ShowMessage(c);
end;

Bei mir liefert dieser Source unter D2006 und D2009 beide male den Accent grave (à). Da muß an anderer Stelle etwas nicht stimmen...

Gruß Assertor

Zacherl 3. Nov 2008 16:36

Re: Chr(224) Delphi 2007 <-> Delphi 2009
 
Vielleicht trotzdem ähnliches Problem wie bei mir damals:
http://www.delphipraxis.net/internal...nicode+zacherl

ImpactMG 3. Nov 2008 19:02

Re: Chr(224) Delphi 2007 <-> Delphi 2009
 
das ist ja lustig!

bei mir liefert ein Testprojekt mit 1 form und einem button und:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  c : AnsiChar;
begin

  c := Chr(224);
  ShowMessage(c);
end;
* unter Delphi 2007 ein 'ŕ'
* unter Delphi 2009 ein 'a'. im Debugger wird aber Chr(224) als 'à' ausgewertet

kann sich (oder mir ;-) ) das jemand erklären?

SirThornberry 3. Nov 2008 19:43

Re: Chr(224) Delphi 2007 <-> Delphi 2009
 
ja, ich kann es mir erklären. D2009 ist glaub ich Unicodefähig und chr liefert dir dann vielleicht das ganze als Unicode zurück. Immerhin ist chr eine Funktion. vielleicht klappt es ja wenn du die Zahl direkt castest also char(zahl) sofern sizeof(char) noch 1 ist.

mkinzler 3. Nov 2008 19:45

Re: Chr(224) Delphi 2007 <-> Delphi 2009
 
Nein Chr liefert auch in D2009 einen Ansistring zurück

Uwe Raabe 3. Nov 2008 20:04

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

* unter Delphi 2007 ein 'ŕ'
* unter Delphi 2009 ein 'a'. im Debugger wird aber Chr(224) als 'à' ausgewertet

Also bei mir liefert sowohl Delphi 2007, als auch Delphi 2009 ein "á" (auch im Debugger)! Ist im Übrigen das gleiche, was auch #224 liefert - in beiden Versionen.

Frage: Warum nimmst du nicht gleich HexToBin/BinToHex aus Classes.pas?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:25 Uhr.
Seite 1 von 2  1 2      

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