Форум: "Начинающим";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];
Внизпреобразование String[1] в Char. Найти похожие ветки
← →
froll © (2010-01-22 14:26) [0]Здравствуйте!
Нужно проверить строку на то, чтобы она начиналась только с допустимых символов.
Допустимые символы описаны как
TLetters = Set of "A".."B";
Проверка:
Var
Str: string[1];
Ch: Char;
Letters: TLetters;
Str := LeftStr(MyString, 1);
Ch := Str;
if (not (Ch in Letters)) then
begin
MyString := Copy(MyString, 2, Length(MyString) - 1);
end
Вобщем, на строчке Ch=Str компилятор выдает ошибку Invalid Typecast..
Жутко торможу как решить проблему... Подскажите по-та. Заранее благодарствую.
← →
{RASkov} © (2010-01-22 14:34) [1]if str[1] in letters then
← →
Anatoly Podgoretsky © (2010-01-22 14:38) [2]> froll (22.01.2010 14:26:00) [0]
String[1] и так Char, нечего преобразовывать.
← →
Anatoly Podgoretsky © (2010-01-22 14:39) [3]А вот это Ch := Str; не str[1]
← →
Дмитрий С © (2010-01-23 20:03) [4]if ((Length(Str)>1) and (Str[1] in ["a".."z"])) then
← →
Плохиш © (2010-01-24 02:05) [5]
> Дмитрий С © (23.01.10 20:03) [4]
>
> if ((Length(Str)>1) and (Str[1] in ["a".."z"])) then
Бессмысленный код. Почему, смотри определения типов в [0].
← →
{RASkov} © (2010-01-24 11:29) [6]> смотри определения типов в [0].
для моего [1] Str - это не из [0], т.е. не String[1] а просто String...
Правильнее было бы написать:if not (MyString[1] in letters) then
или более правильно как в [4] т.е:if (Length(MyString)>0) and not (MyString[1] in letters) then
Вообще как Анатолий сказал Str: String; и затем Str[n] - т.е. n-ый символ в строке Str и есть Char...
Другими словами не нужно его гонять между типами, как это сделано в [0]...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c