Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.28;
Скачать: CL | DM;

Вниз

преобразование 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
15-1263224540
GDI+
2010-01-11 18:42
2010.03.28
Ура!!! В Украине ВД изобредли...


15-1263046404
Алекс555
2010-01-09 17:13
2010.03.28
Кто-то очень много ест .... памяти


2-1264495718
Цукор5
2010-01-26 11:48
2010.03.28
Утечка памяти


2-1264603718
d.l.
2010-01-27 17:48
2010.03.28
try..finally


3-1237159280
VoznikVopros
2009-03-16 02:21
2010.03.28
Как поместить формы, которые взаимодействуют с БД, в DLL?