Добавить в корзинуПозвонить
Найти в Дзене
Дима Линк

Лазарус – Case of – простые возможности

Лазарус (Lazarus) – это отличное решение для всех ценителей Делфи (Delphi) и Паскаль (Pascal) подобного программирования. Но для уже Виндоус (Windows) ориентированных решений. Паскаль подобное это значит, например, Фри Паскаль (Free Pascal), Турбо Паскаль (turbo Pascal). И это продолжение про оператор выбора. Удобное и часто используемое решение. Для перебора значений. Как его еще можно использовать. Это начальный уровень. По простому. Вот когда сам это дело изучал. Я увидел на сайте посвященному Lazarus интересное решение. Это перебор текстовых значений. Тип данных – это строка (String). И мы можем прямо их перебирать. Это очень удобно! А еще чтобы не заморачиваться с верхним и нижним регистром. Можно предварительно строку по которой идет выбор перевести в нижний регистр. Чтобы все буквы там были маленькие. И проверять по значениям, написанными маленькими буквами. Как вот отличная иллюстрация. Это – выбор операционной системы. И вывод результата в элемент Мемо (Memo). Os:='Windows';

Лазарус (Lazarus) – это отличное решение для всех ценителей Делфи (Delphi) и Паскаль (Pascal) подобного программирования. Но для уже Виндоус (Windows) ориентированных решений. Паскаль подобное это значит, например, Фри Паскаль (Free Pascal), Турбо Паскаль (turbo Pascal). И это продолжение про оператор выбора. Удобное и часто используемое решение. Для перебора значений. Как его еще можно использовать. Это начальный уровень. По простому.

Вот когда сам это дело изучал. Я увидел на сайте посвященному Lazarus интересное решение. Это перебор текстовых значений. Тип данных – это строка (String). И мы можем прямо их перебирать. Это очень удобно! А еще чтобы не заморачиваться с верхним и нижним регистром. Можно предварительно строку по которой идет выбор перевести в нижний регистр. Чтобы все буквы там были маленькие. И проверять по значениям, написанными маленькими буквами.

Как вот отличная иллюстрация. Это – выбор операционной системы. И вывод результата в элемент Мемо (Memo).

-2

Os:='Windows';

case LowerCase(Os) of

'dos': Memo1.Append('dos operating system is selected!');

'windows': Memo1.Append('windows operating system is selected!');

'mac os': Memo1.Append('mac os operating system is selected!');

'unix': Memo1.Append('unix operating system is selected!');

else

Memo1.Append('unknown operating system is selected!');

end;

Очень хорошо, что оператор выбора. Работает и с перечислениями. Перечисления удобны как константы. Заранее подобранные значения. Список возможных значений. Как сезоны года. Есть осень, зима, весна и лето. Или медаль. Бронзовая, серебряная и золотая. Удобно сделать оператор выбора.

-3

type

EMedal=(Gold, Silver, Bronze);

MyMedal:= EMedal.Bronze;

case MyMedal of

Silver: Memo1.Append('You got SILVER medal!');

Bronze: Memo1.Append('You got BRONZE medal!');

Gold: Memo1.Append('You got GOLD medal!');

else Memo1.Append('You got NO MEDAL at all!');

end;

Еще интересно что оператор выбора может работать и с 16-ричными числами. Это хитрые такие числа. Где идет счет не 0-9. А 0-15. Где потом после 0-9 идут буквы латинские – A B C D E F. Чтобы дополнить буквами счет до 15. И пишутся через символ $.

A:=$A;

case A of

$0: Memo1.Append('Hex 0');

$1..$5: Memo1.Append('Hex [1..5]');

$6: Memo1.Append('Hex is 6');

$7: Memo1.Append('Hex is 7');

$8..$9: Memo1.Append('Hex is [8..19]');

$A..$F: Memo1.Append('Hex is [A..F]');

else Memo1.Append('Hex out of range [0..F]');

end;

И напоследок. Это комбинация разных типов условий. В строку, в виде диапазона. И так тоже можно писать. Очень гибко все сделано. Можно написать простое условие в одну строку. Или расписать на несколько строк. Можно написать много разного выбора. Например диапазон и конкретные значения прямо в одной строке выбора. И конечно ветка иначе (else). Ты можешь туда писать begin end для порядка. Но это не обязательно. Можно просто else и куча кода который идет в этой ветке.

A:=15;

case A of

1..10,14,15,16: Memo1.Append('[1-10],14,15,16!');

21..30: Memo1.Append('[21-30]!');

else

Memo1.Append('Out of range [1-30]!');

Memo1.Append('your A is' + IntToStr(A));

end;

Оператор выбора очень полезный. И много чего умеет. Можно много чего выбирать! И писать самые разные условия. Вот как раз сам изучал. Что там можно писать. Исследовал некоторые возможности. Чтобы и самому активно это применять в коде.

-4

Дима Линк делает ретро видеоигры, приложения, немного музыку, пишет истории, и еще некоторое ретро.

ВЕБСАЙТ: http://www.dimalink.tv-games.ru/home_rus.html

БЛОГЕР:
https://dimalinkrus.blogspot.com/
МАСТОДОН:
https://mastodon.social/@DimaLinkRus