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 1 von 2  1 2      
ImpactMG

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

Chr(224) Delphi 2007 <-> Delphi 2009

  Alt 3. Nov 2008, 17:12
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

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

  Alt 3. Nov 2008, 17:22
Welchen Typ hat aHex?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#3

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

  Alt 3. Nov 2008, 17:25
Zitat von mkinzler:
Welchen Typ hat aHex?
ist ein Funktionparameter (Ansistring)
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

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

  Alt 3. Nov 2008, 17:27
Man heute bin ich blind
Markus Kinzler
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#5

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

  Alt 3. Nov 2008, 17:32
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
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

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

  Alt 3. Nov 2008, 17:36
Vielleicht trotzdem ähnliches Problem wie bei mir damals:
http://www.delphipraxis.net/internal...nicode+zacherl
  Mit Zitat antworten Zitat
ImpactMG

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

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

  Alt 3. Nov 2008, 20:02
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?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

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

  Alt 3. Nov 2008, 20:43
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

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

  Alt 3. Nov 2008, 20:45
Nein Chr liefert auch in D2009 einen Ansistring zurück
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

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

  Alt 3. Nov 2008, 21:04
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?
Uwe Raabe
  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 13:54 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