Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2010, 08:37   #1
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
Вопрос Объединение в дельфи?

Есть объединение на C++

Код:
typedef union 
{
	DWORD	dwParam;
	int		nParam;
	float	fParam;
	void *	pParam;
	char *	szParam;
} SCRIPT_VAR;
Вопрос в том как такой определить на дельфи?
VintProg вне форума Ответить с цитированием
Старый 05.10.2010, 09:51   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

к сожалению совсем не знаю C/C++
но похоже, что в delphi это будет запись с вариантами.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.10.2010, 10:11   #3
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Может быть записи просто?
Код:
Type
      Script_Var = record
            dwParm      : Cardinal;
            nParam      : Integer;
            fParam      : Real;
            szParam     : Char;
      End;
Var
      Script      : Script_Var;
Begin
      Script.dwParm := 123;
      Script.fParam := 2.25;
      WriteLn('Size of structure: ',SizeOf(Script),' bytes');
      ReadLn;
End.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 05.10.2010, 10:51   #4
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Tronix
Не это не то.
VintProg вне форума Ответить с цитированием
Старый 05.10.2010, 11:52   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так, а запись с вариантами Вас чем не устроила? Имхо, именно то!
Код:
Type
  Script_Var = record
      case Integer of
         1:   (dwParm      : Cardinal);
         2:   (nParam      : Integer);
         3:   (fParam      : Real);
         4:   (szParam     : Char);
      End;
Var
      Script      : Script_Var;
Begin
      Script.dwParm := 5000;
      WriteLn(Script.nParam);
      WriteLn('Size of structure: ',SizeOf(Script),' bytes');
      ReadLn;
End.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.10.2010, 11:58   #6
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Цитата:
так, а запись с вариантами Вас чем не устроила? Имхо, именно то!
Это тоже самое что и union?
VintProg вне форума Ответить с цитированием
Старый 05.10.2010, 13:20   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да тоже самое.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.10.2010, 13:30   #8
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Ясно, Спасибо.
VintProg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение nikshiyan Паскаль, Turbo Pascal, PascalABC.NET 10 26.07.2010 00:09
Объединение ячеек в stringgrid ДЕЛЬФИ Доктор БД в Delphi 1 24.06.2010 10:42
Объединение столбцов verdi Microsoft Office Excel 6 20.08.2009 10:46
Объединение проектов Denisko Общие вопросы Delphi 2 08.04.2009 21:24
Объединение БД Georgios БД в Delphi 3 25.01.2009 20:18