Delphi World - Case для строковых значений без учета регистра
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Case для строковых значений без учета регистра

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  Funktioniert unabhangig von der Klein-/Gro?scheibung in dem Input-String: 
  Versuchen Sie es z.B. mit "Mother" oder "mOTHER"... 

  Damit kann man seine eigene Makrosprache entwickeln oder bestimmte 
  Teile eines Strings aus einem SQL statement, aus einer wohlgeformten Datei 
  wie im XML-Format...interpretieren. 
}

 { 
  It works fine and it's not case sensitive: 
  Try to give "Mother" or "mOTHER" in the Input-String... 

  For exemple, you may use this to programm your own macro command system. 
  You can also parse a well formed text file (XML...) 
  Or to interpret a Database Field name as a selector, or whatelse you want. 
}


 uses
   TypInfo;

 type
   TNumericChoiceParent = (ncp_Mother, ncp_Father, ncp_Child);

 procedure TForm1.btChooseClick(Sender: TObject);
 var
   S: string;
 begin
   S := InputEdit.Text;
   case TNumericChoiceParent(GetEnumValue(TypeInfo(TNumericChoiceParent), 'ncp_' + S)) of
     ncp_Mother: ShowMessage('Hello Mom :o)');
     ncp_Father: ShowMessage('Hi, Dad -]');
     ncp_Child: ShowMessage('Shut up and eat your soup !-(');
   else
     ShowMessage('Who do you think that you are?');
   end;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования