У меня есть строка, из которой я хочу извлечь один символ, который необходимо использовать в операторе Case
. Дело в том, что Case
принимает значения Char
, а не строковые значения. Итак, как мне преобразовать один символ строки в char?Как преобразовать один символ из строки в char в delphi
2
A
ответ
8
Используйте строку как массив символов (на основе 1) и используйте индекс символа, который вы хотите использовать в операторе case
. Например, если вы хотите использовать первый символ:
case MyString[1] Of
// ...
end;
NB убедитесь, что вы проверить строка, по крайней мере, той длины, прежде чем использовать индекс, или вы получите сообщение о нарушении прав доступа.
0
С string
стал 0-основано на mobile platforms, существует также безопасный способ получения символа из односимвольной строки.
myString[Low(myString)]
Руки вверх, если у вас есть функция в вашей личной библиотеке кода с подписью вроде следующего: 'функции StrToChar (Const S: String; Index: Integer = 1; по умолчанию: Char = '«): Char ; ' – afrazier
Хорошее редактирование, я делаю C# и Delphi, и всегда получаю ментальный блок на ноль и 1 на основании, нужно проверять каждый раз, когда я переключаю –
. Короче это:' c: = Копировать (s + '', 1 , 1) [1]; – asdjfiasd