Japster
Japster

Reputation: 1003

How to convert one character from a string to a char in delphi

I have a string, from which I want to extract one character that is needed to be used in a Case statement. The thing is the Case only takes Char values and not string values. So how do I convert a single string character to a char?

Upvotes: 7

Views: 40866

Answers (3)

BitBumper
BitBumper

Reputation: 379

Since delphi became cross-platform I would use 0-based string access using TStringHelper class out of unit System.SysUtils:

case MyString.Chars(0) Of
// ...
end;

Upvotes: 3

Jacek Krawczyk
Jacek Krawczyk

Reputation: 2184

Since string became 0-based on mobile platforms, there is also an always-safe way to get a char from single-character string.

myString[Low(myString)]

Upvotes: 3

Tony Hopkinson
Tony Hopkinson

Reputation: 20320

Use the string as a character array (1-based), and use the index of the character you want to use in the case statement. For instance, if you want to use the first character:

case MyString[1] Of
// ...
end;

NB make sure you check the the string is of at least that length before you use the subscript, or you'll get an access violation.

Upvotes: 12

Related Questions