Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Suche String->Hex Funktion (https://www.delphipraxis.net/166950-suche-string-hex-funktion.html)

Sir Rufo 7. Mär 2012 15:02

AW: Suche String->Hex Funktion
 
Zitat:

Zitat von p80286 (Beitrag 1155113)
Zitat:

Zitat von shmia (Beitrag 1155051)
Siehe Code-Library: http://www.delphipraxis.net/39740-he...aerstring.html
Diese Funktionen sind viel schneller als das Zeichenweise anhängen wie im Beispiel oben.

Aber obacht, D2010 hat als Standard 16Bit Chars und da könnte es Probleme geben.
(sizeof statt length nutzen?)

Gruß
K-H

Du meinst eher
Delphi-Quellcode:
Length( s ) * SizeOf( s[1] ) * 2

p80286 7. Mär 2012 15:26

AW: Suche String->Hex Funktion
 
Wenn ich ehrlich bin ist mir diese "Length(x)*sizeof(x[1])" etwas suspect.
Da bei der Umwandlung irgendwas_Hex immer ein Byte in 2Zeichen umgewandelt wird sollte byteweise gelesen werden und mit char geschrieben werden, also ungefähr so

setlength(dest,sizeof(source)*2);
for i:=1 to sizeof(source) do
dest[i]:=machwas(source[i]);

Gruß
K-H

DeddyH 7. Mär 2012 15:29

AW: Suche String->Hex Funktion
 
Lass Dir mal SizeOf(string) ausgeben.

[edit] Schon selbst gemacht:
Delphi-Quellcode:
var
  s: string;
begin
  s := 'Hallo Welt';
  ShowMessage(Format('%d - %d - %d', [SizeOf(s), Length(s), Length(s) * SizeOf(Char)]));
end;
Ergibt unter XE 4 - 10 - 20, unter Delphi 2007 4 - 10 - 10 [/edit]

p80286 7. Mär 2012 15:35

AW: Suche String->Hex Funktion
 
Zitat:

Zitat von DeddyH (Beitrag 1155135)
Lass Dir mal SizeOf(string) ausgeben.

Delphi-Quellcode:
type
 mystr : string[255];
sizeof(mystr) liefert 256 !

Wenn ich mich richtig erinnere gab es bei Ansi Strings da auch eine Möglichkeit.
und um die 16Bitter kümmer ich mich wenn's notwendig wird.

Aber ist schon recht, man muß wissen was man da anstellt, und nicht ungeprüft übernehmen was man irgendwo liest.

Gruß
K-H

DeddyH 7. Mär 2012 15:38

AW: Suche String->Hex Funktion
 
ShortStrings und Strings (also AnsiString oder UnicodeString, je nach Version) sind ja 2 vollkommen verschiedene Paar Schuhe.

Bummi 7. Mär 2012 15:39

AW: Suche String->Hex Funktion
 
ich vermute es war folgendes gemeint
Delphi-Quellcode:
var
 s:String;
begin
 s := 'Nasenbär';
 Showmessage(IntToStr(SizeOf(s)));
end;

DeddyH 7. Mär 2012 15:39

AW: Suche String->Hex Funktion
 
Japp, siehe mein Edit in #23.

himitsu 7. Mär 2012 15:43

AW: Suche String->Hex Funktion
 
Delphi-Quellcode:
var
  S: String;

Label1.Caption := Format('%s %s', [SizeOf(Char), SizeOf(S[1]), StringElementSize(S)]);
:stupid:

Bummi 7. Mär 2012 15:46

AW: Suche String->Hex Funktion
 
'%d %d %d'

DeddyH 7. Mär 2012 15:47

AW: Suche String->Hex Funktion
 
Und mein Delphi 2007 kennt kein StringElementSize.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 Uhr.
Seite 3 von 4     123 4      

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