Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zugriff auf Element eines Strings (https://www.delphipraxis.net/96235-zugriff-auf-element-eines-strings.html)

DelphiManiac 20. Jul 2007 14:43


Zugriff auf Element eines Strings
 
Hallo,

sorry, dass ich mit der Frage kommen musste, aber leider habe ich bei meiner Suche nichts gefunden.

Es geht ganz einfach darum, dass
ich auf ein einzelnenes Element eines Strings zugreifen will

Delphi-Quellcode:
      einChar:=InfString[0];
also auf ein Character des Strings...

Bildet Delphi den String in C-Notation ab (mit \0 als Startzeichen)?

Danke euch

Klaus01 20. Jul 2007 14:45

Re: Zugriff auf Element eines Strings
 
In Delphi liegt der erste Buchstabe eines Strings auf der Position 1,
auf der Position 0 liegt die Längeninformation.

Grüße
Klaus

mkinzler 20. Jul 2007 14:46

Re: Zugriff auf Element eines Strings
 
Genau so. nur beginnt der Index in Delphi ab 1

DelphiManiac 20. Jul 2007 14:55

Re: Zugriff auf Element eines Strings
 
Alles klar,

danke nochmal,

deswegen hat er auch keinen Vergleich von

Delphi-Quellcode:
Text[0] <> '#'
zugelassen, da ja hier auf die Längeninformation verweist wird (integer wahrscheinlich..)

Gruß
DelphiManiac

Dax 20. Jul 2007 14:58

Re: Zugriff auf Element eines Strings
 
Zitat:

Zitat von Klaus01
In Delphi liegt der erste Buchstabe eines Strings auf der Position 1,
auf der Position 0 liegt die Längeninformation.

Ersteres stimmt, zweiteres stimmt nur bei Shortstrings (also alle ShortStrings und string[n]).
Zitat:

Zitat von DelphiManiac
Delphi-Quellcode:
Text[0] <> '#'

Ist das eine Prüfung auf "String leer"?

FAlter 20. Jul 2007 15:15

Re: Zugriff auf Element eines Strings
 
Hi,

Zitat:

Zitat von Dax
Zitat:

Zitat von Klaus01
In Delphi liegt der erste Buchstabe eines Strings auf der Position 1,
auf der Position 0 liegt die Längeninformation.

Ersteres stimmt, zweiteres stimmt nur bei Shortstrings (also alle ShortStrings und string[n]).

Bei AnsiStrings:
Delphi-Quellcode:
var
  X: AnsiString;
  P: PInteger;
begin
  X := 'ABCD';
  P := Pointer(X);
  dec(P);
  ShowMessage(IntToStr(P^));
  ShowMessage(IntToStr(Length(X)));
end;
(Ich wollte das schon immer mal probieren... Jetzt gabs 'nen Anlass dazu.)

Mfg
FAlter


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz