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

Вниз

Как проверить только ли латинские символы в переменной?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.055 c
14-1100093600
Anonimus
2004-11-10 16:33
2004.11.28
Сокеты


14-1100313119
DelphiN!
2004-11-13 05:31
2004.11.28
Есть ли в DMClient-е поиск по базе данных сайта Мастаков?


3-1099433093
Sergy Ivanec
2004-11-03 01:04
2004.11.28
Вопрос по interbase


1-1100350228
redlord
2004-11-13 15:50
2004.11.28
как узнать сколько занял файл на диске


3-1099281637
sanek
2004-11-01 07:00
2004.11.28
как создать вычисляемое поле через DBGRId