Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - String in Integerarray umwandeln und umgekehrt


Glorfindelll - Mi 03.06.09 11:03
Titel: String in Integerarray umwandeln und umgekehrt
Danke das Problem hat sich erledigt.


Nersgatt - Mi 03.06.09 11:07

Schau Dir mal in der Hilfe CHR und ORD an.


jaenicke - Mi 03.06.09 13:15

Man kann theoretisch auch solche Spielereichen machen, das sollte problemlos klappen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
  Test: AnsiString;
  ByteArray: array of Byte;
begin
  Test := EditX.Text;
  SetLength(ByteArray, Length(Test));
  CopyMemory(@ByteArray, @Test, Length(Test));
  ShowMessage(IntToStr(ByteArray[0]));
Aufpassen muss man bei so etwas, aber möglich ist das auch:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
type
  TByteArray = array of Byte;
  PByteArray = ^TByteArray;
var
  Test: AnsiString;
  ByteArray: PByteArray;
begin
  Test := EditX.Text;
  ByteArray := @Test;
  ShowMessage(IntToStr(Length(ByteArray^)) + ': ' + IntToStr(ByteArray^[0]));
Dabei greift man auf den AnsiString zu wie auf ein ByteArray, spart also das Kopieren. Aber da musst du dann auch sehr aufpassen was du tust. ;-)
Wichtig ist dabei AnsiString, da nur der immer 1 Byte pro Zeichen hat (String unter D2009 mehr pro Zeichen).


Glorfindelll - Mi 03.06.09 19:23

Danke das Problem hat sich erledigt.