Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
14-1100427297
Кириешки
2004-11-14 13:14
2004.11.28
Перезагружается комп!!!!!!!


6-1095341263
netter
2004-09-16 17:27
2004.11.28
Подключение/отключение сетевого адаптера под WinXP или Win2000


1-1100285777
CherrLy
2004-11-12 21:56
2004.11.28
Приравнять динамические переменные


3-1099223103
Hyboid
2004-10-31 14:45
2004.11.28
Вставка в базу


14-1100075223
ИМХО
2004-11-10 11:27
2004.11.28
Всё ли имеет свою цену?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский