аукцион / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники

Микропаскаль составные типы данных

Бывают случаи когда нельзя воспользоваться серией переменных или несколькими массивами. На помощь приходят составные типы данных. Это когда переменная состоит не из одного типа, а из нескольких. В качестве примера можно привести массив данных о сетевых настройках контроллеров.

type
 netcard = record
  myMacAddr   : array[6] of byte  ; // MAC address
  myIpAddr    : array[4] of byte  ; // IP address
  gwIpAddr    : array[4] of byte  ; // gateway (router) IP address
  ipMask      : array[4] of byte  ; // network mask (for example : 255.255.255.0)
  dnsIpAddr   : array[4] of byte  ; // DNS server IP address
  namecard    : string[15]        ; // Name card
 end;

Для создания переменной, использующей данную сложную структуру следует использовать стандартное объявление переменной.

var
 myNetCard, serverCard: netcard;

Доступ к внутренним переменным этой составной переменной осуществляется через их имена либо используя конструкцию with.

with myNetCard do
 begin
  myMacAddr[0] := 0x00;
  myMacAddr[1] := 0x14;
  myMacAddr[2] := 0xA5;
  myMacAddr[3] := 0x76;
  myMacAddr[4] := 0x19;
  myMacAddr[5] := 0x3F;

  myIpAddr[0] := 192;
  myIpAddr[1] := 168;
  myIpAddr[2] := 20;
  myIpAddr[3] := 60;
  
  gwIpAddr[0] := 192;
  gwIpAddr[1] := 168;
  gwIpAddr[2] := 20;
  gwIpAddr[3] := 6;
  
  ipMask[0] := 255;
  ipMask[1] := 255;
  ipMask[2] := 255;
  ipMask[3] := 0;

  dnsIpAddr[0] := 192;
  dnsIpAddr[1] := 168;
  dnsIpAddr[2] := 20;
  dnsIpAddr[3] := 1;

  namecard := "mycomp";
 end;

Но если требуется доступ для пары-тройки переменных, то используется более короткий вариант:

  serverCard.namecard := "myserver";

В отличие от Борланд и Обжект Паскаля в Микропаскале нет реализации объектов, но микроконтроллер типа Atmel не сильно подходит под объектно-ориентированное программирование.

Тэги: микроконтроллеры

Отредактировано:2021-10-28 21:21:05


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

Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Top.Mail.Ru
Top.Mail.Ru LiveInternet Rambler's Top100 Яндекс.Метрика