Страница 1 из 1
Вариантные записи с неопределённым именем тега
Добавлено: 14.06.2009 21:39:38
trius-strannik
Помогите с определением типа вариантной части записи, если определён только тип тега, а имя нет

, очень надо
Re: Вариантные записи с неопределённым именем тега
Добавлено: 14.06.2009 21:51:39
Иван Шихалев
Собственно, к вариантной части можно и так и так обращаться. Если не определено поле тега, а только тип — значит это и неважно — какое представление требуется, то и используем.
Re: Вариантные записи с неопределённым именем тега
Добавлено: 16.06.2009 11:27:38
trius-strannik
Спасибо за ответ.
Иван Шихалев писал(а):Собственно, к вариантной части можно и так и так обращаться. Если не определено поле тега, а только тип — значит это и неважно — какое представление требуется, то и используем.
это значит, что можно обращаться к несуществующей в действительности записи, ведь все варианты разного типа... , а нельзя ли как-то определить тип записи, в SDL через такую запись передаются события, а перед её использованием надо пределить тип, а то каламбур получится. Или чего-то я не понял.
Re: Вариантные записи с неопределённым именем тега
Добавлено: 16.06.2009 14:00:30
Иван Шихалев
Да, можно обращаться...
Лучше привести конкретный пример записи... Дело в том, что в идеале, автор типа подразумевает, не указывая поле селектора, что варианты равноправны и просто являются разными представлениями одного и того же... Но это в идеале. А так — нужно смотреть конкретную ситуацию.
Re: Вариантные записи с неопределённым именем тега
Добавлено: 16.06.2009 15:05:49
trius-strannik
Вот пример:
Код: Выделить всё
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 не забываем!Все типы в свою очередь тоже записи с разным числом элеентов.
А нельзя ли определить каким-то образом тип этой записи?
Re: Вариантные записи с неопределённым именем тега
Добавлено: 16.06.2009 15:36:55
Иван Шихалев
А эти записи сами по себе не содержат первым полем eventtype : Uint8? Судя по всему, именно на него надо ориентироваться.
Re: Вариантные записи с неопределённым именем тега
Добавлено: 16.06.2009 16:37:08
trius-strannik
Содержат, значит по этому элементу и определять... щас попробую.....
Добавлено спустя 3 минуты 26 секунд:работает, он-то ивозвращает то, что надо

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

, большое спасибо!!!!!!!!!!!!!