Вариантные записи с неопределённым именем тега

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Вариантные записи с неопределённым именем тега

Сообщение trius-strannik » 14.06.2009 21:39:38

Помогите с определением типа вариантной части записи, если определён только тип тега, а имя нет :( , очень надо
Аватара пользователя
trius-strannik
новенький
 
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск

Re: Вариантные записи с неопределённым именем тега

Сообщение Иван Шихалев » 14.06.2009 21:51:39

Собственно, к вариантной части можно и так и так обращаться. Если не определено поле тега, а только тип — значит это и неважно — какое представление требуется, то и используем.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Вариантные записи с неопределённым именем тега

Сообщение trius-strannik » 16.06.2009 11:27:38

Спасибо за ответ.
Иван Шихалев писал(а):Собственно, к вариантной части можно и так и так обращаться. Если не определено поле тега, а только тип — значит это и неважно — какое представление требуется, то и используем.

это значит, что можно обращаться к несуществующей в действительности записи, ведь все варианты разного типа... , а нельзя ли как-то определить тип записи, в SDL через такую запись передаются события, а перед её использованием надо пределить тип, а то каламбур получится. Или чего-то я не понял.
Аватара пользователя
trius-strannik
новенький
 
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск

Re: Вариантные записи с неопределённым именем тега

Сообщение Иван Шихалев » 16.06.2009 14:00:30

Да, можно обращаться...

Лучше привести конкретный пример записи... Дело в том, что в идеале, автор типа подразумевает, не указывая поле селектора, что варианты равноправны и просто являются разными представлениями одного и того же... Но это в идеале. А так — нужно смотреть конкретную ситуацию.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Вариантные записи с неопределённым именем тега

Сообщение trius-strannik » 16.06.2009 15:05:49

Вот пример:
Код: Выделить всё
       PSDL_Event = ^SDL_Event;
       SDL_Event = record
           case longint of
              0 : ( eventtype : Uint8 );
              1 : ( active : SDL_ActiveEvent );
              2 : ( key : SDL_KeyboardEvent );
              3 : ( motion : SDL_MouseMotionEvent );
              4 : ( button : SDL_MouseButtonEvent );
              5 : ( jaxis : SDL_JoyAxisEvent );
              6 : ( jball : SDL_JoyBallEvent );
              7 : ( jhat : SDL_JoyHatEvent );
              8 : ( jbutton : SDL_JoyButtonEvent );
              9 : ( resize : SDL_ResizeEvent );
              10: ( expose : SDL_ExposeEvent );
              11: ( quit : SDL_QuitEvent );
              12: ( user : SDL_UserEvent );
              13: ( syswm : SDL_SysWMEvent );
           end;
Тег CODE не забываем!
Все типы в свою очередь тоже записи с разным числом элеентов.
А нельзя ли определить каким-то образом тип этой записи?
Аватара пользователя
trius-strannik
новенький
 
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск

Re: Вариантные записи с неопределённым именем тега

Сообщение Иван Шихалев » 16.06.2009 15:36:55

А эти записи сами по себе не содержат первым полем eventtype : Uint8? Судя по всему, именно на него надо ориентироваться.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Вариантные записи с неопределённым именем тега

Сообщение trius-strannik » 16.06.2009 16:22:31

Содержат, значит по этому элементу и определять... щас попробую.....

Добавлено спустя 3 минуты 26 секунд:
работает, он-то ивозвращает то, что надо :P , большое спасибо!!!!!!!!!!!!!

Добавлено спустя 11 минут 11 секунд:
работает, он-то ивозвращает то, что надо :P , большое спасибо!!!!!!!!!!!!!
Аватара пользователя
trius-strannik
новенький
 
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru