Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Re: Сложный тип данных 2

Ни как это не пойму:
Я создаю такой перечисляемы тип:
type
TMyType = (Sun, Microsoft, Mandrake);
...
var
MyF: TMyType;
...
MyF := Sun;
MyF := Mandrake;
MyF := Microsoft;

А теперь как узнать что находится заполненным в MyF? то етсь что
именно было заполнено ( MyF := ...???; ) а что нет?
Возможно ли перечисляемы тип конвертировать в string, integer?
И какие вообще возможности дает программисту свой новый тип данных?

...::: by GENEMI :::...

Номер выпуска : 3919
Возраст листа : 476 (дней)
Количество подписчиков : 517
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/294294
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Sun, 9 Jan 2005 19:58:32 +0200 (#294294)

 

Ответы:

Мне кажется, проблема в том, чтобы понять, что переменная типа TMyType может
содержать только одно из возможных значений в одно время, а не несколько
сразу. :-) Это ведь не массив и не список и даже не множество.

В каждый момент времени она равна либо Sun, либо Mandrake, либо, на худой
конец, Microsoft, но не их сочетанию.

А этот тип, кстати, не такой уж и сложный... Мне кажется, record - и тот
посложнее будет. :-|

Конвертировать в string - врятли (или можно любезно предоставленной janalex
функцией), а в integer, думаю, возможно... Может быть, ord() поможет... А
может и не быть... А может быть, integer()... Не юзирую паскакаль, не помню.

А что новый тип дает программисту - наверно, более простой/эффективный
способ организации своих данных. Ведь хороший алгоритм можно написать в
случае, если данные представлены в удобной для обработки форме.

Номер выпуска : 3921
Возраст листа : 476 (дней)
Количество подписчиков : 517
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/294331
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Tue, 11 Jan 2005 00:28:01 +0500 (#294331)

 

Здоровеньки булы, GENEMI!

9 января 2005 г., воскресенье, 22:58:32 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Сложный тип данных 2",
в котором сообщалось следующее:

case MyF of
Sun: Showmessage('Sun');
Mandrake: Showmessage('Mandrake');
Microsoft: Showmessage('Microsoft');
else
Showmessage('Хм...');
end;

В смысле "а что нет?" если что-то оджно там лежит - другое не может.
Может тебе множества нужны? Вот так:
type
TMyType = (Sun, Microsoft, Mandrake);
var
MyS: set of TMyType; // множество
begin
MyS := []; // пустое множество
MyS := [Sun];
MyS := [Mandrake];
MyS := [Microsoft];
MyS := [Sun, Mandrake]; // множество содержит и Sun и Mandrake
if Sun in MyS then Showmessage('Sun');
if Mandrake in MyS then Showmessage('Mandrake');
if Microsoft in MyS then Showmessage('Microsoft');
end;

Дык, а тебе что надо? Программирование вообще много чего дает,
программу например свою написать можно ;)

Ответить   Александр Томилов Tue, 11 Jan 2005 00:25:50 +0500 (#294357)