Форум: "Основная";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
ВнизКак проверить только ли латинские символы в переменной? Найти похожие ветки
← →
Yorik (2004-11-15 12:35) [0]Здравствуйте, вот собственно сабж,
есть строковая переменная, в которой может быть набор символов, как проверить эту переменную, мне надо чтобы она содержала только латинские буквы от a..z или A..Z и цифры.
спасибо.
← →
Cosinus © (2004-11-15 12:38) [1]Посимвольно в цикле
if not (Str[i] in ["0".."9","a".."z","A".."Z"]) then bla-bla-bla
← →
Yorik (2004-11-15 12:39) [2]ммм, а готовой функции никакой нет? чтото не особо это рационально мне кажется.
← →
Cosinus © (2004-11-15 12:42) [3]Есть какая-то... Но я не помню, какая, да и насколько я помню, не всегда ее использование оправдано. А чем тебя это то не устраивает... Функция, как фунция...
← →
Алхимик © (2004-11-15 14:02) [4]
> Yorik
> чтото не особо это рационально мне кажется
Чтобы убедиться что в каждом ящике стола у тебя лежит пирожок, необходимо проверить последовательно каждый ящик на предмет наличия пирожка.
Стол - строка
Ящик - позиция в строке
Пирожок - латинская буква
Ж)
← →
Yorik (2004-11-15 15:35) [5]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. Где ошибка то чето не пойму?
← →
Reindeer Moss Eater © (2004-11-15 15:43) [6]Строки индексируются с единицы, а не с нуля.
← →
Yorik (2004-11-15 15:47) [7]ну насчет строк я не понял), потому что как раз строки с 0 индексируются в списках всяких вроде) а вот символы в строковой переменной точно с единицы. вот блин, так ведь запутаться можно)
← →
begin...end © (2004-11-15 15:49) [8]
> [5] Yorik (15.11.04 15:35)
А нафига цикл по всем символам гонять?
> [7] Yorik (15.11.04 15:47)
> как раз строки с 0 индексируются в списках всяких вроде
Да ты гонишь.
← →
Reindeer Moss Eater © (2004-11-15 15:49) [9]Ну так какого ты рисуешь цикл с нуля, если в нем есть EditInput.Text[i] ?
← →
begin...end © (2004-11-15 16:03) [10]{$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.
← →
Yorik (2004-11-15 16:12) [11]мда)) я пока так "извращаться" не умею))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c