Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.12.2012, 04:11
Аватар для Speech
Speech Speech вне форума
Новичок
 
Регистрация: 16.02.2012
Сообщения: 55
Репутация: 10
По умолчанию Строка. Найти символ кроме цифр

Уже целый вечер мучаюсь, никак не могу поставить условие: если в строке найдено что-то кроме цифр то изменяем флаг (True). Например есть такое выражение:
Код:
Stroka:= 'abcd34846gf76';
for x:=0 to Length(Stroka) do
  if Stroka[x] in ['0'..'9'] then
    Digit:= True;
Как сделать его немножко наоборот, например что-то вроде такого:
Код:
if not (Stroka[x] in ['0'..'9']) then
Знаю, так писать нельзя, но нужно условие "если не истина".
Или может есть какой-то другой вариант - буду рад услышать.
Да, и писать весь массив символов ['A'..'Z', 'a'..'z', ...] тоже не вариант.

Помогите пожалуйста, а то голова уже ничего не соображает...
Ответить с цитированием
  #2  
Старый 08.12.2012, 04:15
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Speech
Как сделать его немножко наоборот, например что-то вроде такого:
Код:
if not (Stroka[x] in ['0'..'9']) then
Знаю, так писать нельзя, но нужно условие "если не истина".
Почему это так писать нельзя?
Ответить с цитированием
  #3  
Старый 08.12.2012, 04:17
Аватар для Speech
Speech Speech вне форума
Новичок
 
Регистрация: 16.02.2012
Сообщения: 55
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Почему это так писать нельзя?
Потому что у меня так не работает...
Ответить с цитированием
  #4  
Старый 08.12.2012, 04:26
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Speech
Потому что у меня так не работает...
Всё работает - проверил. Только символы в строках нумеруются с единицы, а не с нуля.
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
Speech (08.12.2012)
  #5  
Старый 08.12.2012, 04:34
Аватар для Speech
Speech Speech вне форума
Новичок
 
Регистрация: 16.02.2012
Сообщения: 55
Репутация: 10
По умолчанию

Точно все работает... Сам не знаю чего это сначала условие не срабатывало. Спасибо за подсказку с началом нумерации, все никак не привыкну
Ответить с цитированием
  #6  
Старый 08.12.2012, 15:48
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
Да, и писать весь массив символов ['A'..'Z', 'a'..'z', ...] тоже не вариант.
[offtop]Проще: [0..47, 58..255] [/offtop]
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Этот пользователь сказал Спасибо Bargest за это полезное сообщение:
Speech (08.12.2012)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:14.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025