Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Аналог case для строки

Delphi , Синтаксис , Текст и Строки

Аналог case для строки

Вопрос: Нужно определить с какой из заданных строк совпадает некая строковая переменная и в зависимости от этого перейти к соответсвующей процедуре. Как это выполнить без использования многочисленных if - then?

Вот способ, легко приспосабливаемый для загрузки списка из строки, файла или ресурса:


const
  vlist = 'первый, второй, третий';

var
  Values: TStringList;

procedure SetValues(VL : TStringList; S: String);
var
  I : Integer;
begin
  VL.CommaText := S;
  for I := 0 to CL.Count-1 do
    VL.Objects[I] := Pointer(I);
  VL.Sorted := True;
end;

function GetValueIndex(VL : TStringList; Match: String): Integer;
begin
  Result := VL.IndexOf(Match);
  if Result >= 0 then
    Result := Integer(VL.Objects[Result]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  case GetValueIndex(Values, Edit1.Text) of
    -1: {не найден} ;
     0: Caption := '0';
     1: Caption := '1';
     2: Caption := '2';
  end;
end;

initialization
  VL := TStringList.Create;
  SetValues(VL, vlist);

finalization
  VL.Free;

Статья Аналог case для строки раздела Синтаксис Текст и Строки может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Текст и Строки ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-04-24 22:55:34
2024-04-25 05:11:52/0.0062649250030518/2