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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2016, 23:49   #1
SomeOneAndrey
Пользователь
 
Регистрация: 28.06.2014
Сообщений: 20
По умолчанию Чтение и запись набора разных типов "RECORD"

Есть набор записей, которые будут использоваться для передачи как пакеты данных

Код:
  TPType = (ptNone, ptConnect, ptConnectResponse);

  PConnected = record
    PType: TPType;
    Name: TName;
  end;

  PConnectResponse = record
    PType: TPType;
    PlayerIdx: Integer;
  end;
С чтением все относительно понятно

Код:
procedure PHandle(const Msg);
begin
  case TPType(Msg) of
    ptConnect: begin
      PConnected(Msg).Name;
    end;
  end;
end;
Но, есть проблема, оно требует существующую переменную как параметр, т.е я не могу использовать функцию как параметр

Код:
function PConnectResponseC(_PlayerIdx: Integer): PConnectResponse;
begin
  with result do begin
    PType:=ptConnectResponse;
    PlayerIdx:=_PlayerIdx;
  end;
end;
Так-же не понятно как проводить запись, нужна универсальная переменная "records", которая бы поддерживала все остальные типы, но такой нет..

Примерно так
Код:
var
  R: TRecord;
begin
  R:=PConnected(массив_байт);
  R:=PConnectResponse(массив_байт);
end;
Ну, или же через функции, в любом случае, не знаю где можно хранить записи разных типов
Какие есть варианты решения проблемы?
SomeOneAndrey вне форума Ответить с цитированием
Старый 19.01.2016, 00:27   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Не совсем понял проблему. Может вариантные записи помогут?
При приёме/передаче они самое то.
northener вне форума Ответить с цитированием
Старый 19.01.2016, 03:05   #3
SomeOneAndrey
Пользователь
 
Регистрация: 28.06.2014
Сообщений: 20
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Не совсем понял проблему. Может вариантные записи помогут?
При приёме/передаче они самое то.
Отличное решение! Спасибо!
SomeOneAndrey вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Библиотека" - задача на использование типа record (запись) на Паскаль Андрей71 Помощь студентам 3 19.11.2013 22:48
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Цикл "FOR" и чтение\запись в файл(delphi) Reaper052 Помощь студентам 2 07.06.2012 16:20
Ошибка " Record, object or class type required " (Запись, объектный или классический тип требовались) kta87 Помощь студентам 2 28.02.2010 10:04
Обновление набора данных после добавления в таблицу записей "внешней" программой dimmm БД в Delphi 5 21.04.2009 00:56