![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить только ли латинские символы в переменной? [D7, Win2k, WinXP]
Yorik © (2004-11-15 12:35:00)Здравствуйте, вот собственно сабж,
есть строковая переменная, в которой может быть набор символов, как проверить эту переменную, мне надо чтобы она содержала только латинские буквы от a..z или A..Z и цифры.
спасибо.
Yorik (2004-11-15 16:12:00) [1]мда)) я пока так "извращаться" не умею))
begin...end (2004-11-15 16:03:00) [2]{$B-} // :-)
begin
Len := Length(EditInput.Text);
I := 1;
while (I <= Len) and (EditInput.Text[I] in ['0'..'9','a'..'z','A'..'Z']) do
Inc(I);
WrongText := I <= Len
end.
begin...end (2004-11-15 15:49:00) [3]
> [5] Yorik (15.11.04 15:35)
А нафига цикл по всемсимволам гонять?
> [7] Yorik (15.11.04 15:47)
> как раз строки с 0 индексируются в списках всяких вроде
Да ты гонишь.
Reindeer Moss Eater (2004-11-15 15:49:00) [4]Ну так какого ты рисуешь цикл с нуля, если в нем есть EditInput.Text[ i] ?
Yorik (2004-11-15 15:47:00) [5]ну насчет строк я не понял), потому что как раз строки с 0 индексируются в списках всяких вроде) а вот символы в строковой переменной точно с единицы. вот блин, так ведь запутаться можно)
Reindeer Moss Eater (2004-11-15 15:43:00) [6]Строки индексируются с единицы, а не с нуля.
Yorik (2004-11-15 15:35:00) [7]wrongtext := False;
for i:=0 to Length(EditInput.Text) -1 do
begin
if not (EditInput.Text[i] in ['0'..'9','a'..'z','A'..'Z'])
then wrongtext := True;
end;
В EditInput введено обычное цифровое значение но почему то wrongtext приходит с этого цикла в значении True. Где ошибка то чето не пойму?
Алхимик (2004-11-15 14:02:00) [8]
> Yorik
> чтото не особо это рационально мне кажется
Чтобы убедиться что в каждом ящике стола у тебя лежит пирожок, необходимо проверить последовательно каждый ящик на предмет наличия пирожка.
Стол - строка
Ящик - позиция в строке
Пирожок - латинская буква
Ж)
Cosinus (2004-11-15 12:42:00) [9]Есть какая-то... Но я не помню, какая, да и насколько я помню, не всегда ее использование оправдано. А чем тебя это то не устраивает... Функция, как фунция...
Yorik (2004-11-15 12:39:00) [10]ммм, а готовой функции никакой нет? чтото не особо это рационально мне кажется.
Cosinus (2004-11-15 12:38:00) [11]Посимвольно в цикле
if not (Str[i] in ['0'..'9','a'..'z','A'..'Z']) then bla-bla-bla