Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi StrToChar??????? (https://www.delphipraxis.net/2313-strtochar.html)

foxy 17. Jan 2003 14:57


StrToChar???????
 
Hi all ... ja ich weis das es nich so geht :lol:
nur meine Frage nu wie kann ich einen Str zu char machen???

lodda 17. Jan 2003 15:05

Hallo foxy

das ist ganz einfach. Du kannst nämlich auf die einzelnen Zeichen zugreifen.
Delphi-Quellcode:
...
var s : string;
    c : char;
...
begin
  s := 'fsdf'
  c := s[0];
...
Damit bekommt c den Wert 'f'

RomanK 17. Jan 2003 15:05

Hoi,
ein String (Zeichenkette) besteht aus mehreren Chars (zeichen) er ist ein sozusagen Array of Char. Wenn du ein Zeichen aus dem String haben willst dann mit
Delphi-Quellcode:
char := Str[Stelle];
[Edit]Shit, zu lagsam[/Edit]

foxy 17. Jan 2003 15:06

waaa daruf hätt ich auch kommen könne ;) danke

oki 17. Jan 2003 16:34

Holla!!

vielleicht habe ich was verpaßt, aber in String[0] steht die Länge!!

Das erste lesbare Zeichen ist doch String[1]!!
Natürlich nur so lange nicht fogendes dasteht:

Delphi-Quellcode:
MyString : Array[0..xxx] of Char
Gruß Oki

CalganX 17. Jan 2003 16:42

Ähm... Wenn die Länge 9 überschreitet so kann in Str[0] nicht mehr die Länge stehen. Soll heißen: stimmt leider nicht. Eine Stringliste fängt ja auch bei 0 an.
Alles fängt bei 0 an. Delphi ist numal einer der 0-Anfänger... ;)

Chris

PS: Länge mit length(AStr: String);

Sebastian Nintemann 17. Jan 2003 16:53

Hi, wieso kann s[0] nicht die Länge sein, wenn diese 9 überschreitet? Ein byte ist doch von 0 bis 255... Allerdings stimmts schon, dass man im Normalfall nicht mit s[0] die Länge bekommt, dies funktioniert nur bei Shortstrings (Länge: 255 Zeichen). Bei den Standardstrings musst du wie Chris gesagt hat mit length(s) die Länge prüfen falls sie dich interessiert, und das erste Zeichen kriegst du mit s[1].

Gruß, Sebastian

sakura 17. Jan 2003 16:53

Beide falsch :!:

In Turbo Pascal (u.U. auch Delphi 1) stand im String[0] die Länge. Seit der 32 Bit Welt, steht die Länge dort nicht mehr, da sonst ein String maximal 255 Zeichen lang sein könnte. ;)

Dieser Zugriff ist nur noch für ShortStrings gültig.

String[0] ergibt eine Access Violation. Auch wenn bei Delphi fast alles bei null (0) anfängt, so ist das erste Zeichen in einem String immer bei eins (1).
...:cat:...

lodda 17. Jan 2003 16:54

@ oki:
Ich glaube in Pascal bekam man mit String[0] die Länge des Strings heraus, weil ein Pascal-String auf 255 Zeichen beschränkt war.

@Chakotay1308:
Der String durfte in Pascal auch 10 Zeichen lang sein :D
String[0] ist ein Byte groß. Damit ist die maximal darstellbare Zahl 255

Zu spät

CalganX 17. Jan 2003 17:06

Hi, aber wenn
Delphi-Quellcode:
type
  String = array[0..255] of char;
ist, dann stellt sich doch folgliches Problem: string[0] wäre, laut der gerade genannten Definition ein Char. Ein Char ist aber einstellig! Und nach 9 kommt 10. 10 ist zweistellig somit kein Char mehr.

Wenn es aber so ist, dass dies bei ShortString noch möglich ist, dann hätte ich gerne mal die Definition von String/ShortString!

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 Uhr.
Seite 1 von 4  1 23     Letzte »    

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