Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск в наборе строк

16K
12 февраля 2009 года
alenov
36 / / 20.09.2007
Широко известна следующая конструкция:
Код:
procedure TForm1.Edit1KeyPress (Sender:TObject);
var
 i:integer;
 a:string;
 number: set of char;
begin
 number:=['0','1','2','3','4','5','6','7','8','9'];
 i:=1;
 a:=Edit1.Text;
  repeat
   if (a in figures) then i:=i+1 else begin
     delete(a,i,1);
     if a='' then a:='1';
    end;
   until i>length(a);
end;


А как сделать то же самое, но для строк. Array of string не очень подходит, потому что нужно запускать цикл. Хотелось бы получить что-нибудь в роде:
 
Код:
procedure AAAA;
var
 cities: set of string;
begin
 cities:=['Moscow', 'New York', 'London', 'Melbourne']; //может быть порядка 20ти строк
  if (Edit1.Text in cities) then ....;
end;

Короче говоря, как сформировать набор строк, а потом с ним сверяться?
5.3K
12 февраля 2009 года
Somebody
185 / / 24.12.2006
Array of String + AnsiMatchText (StrUtils). В любом случае без цикла никак, здесь он в этой функции.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог