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

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

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

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 не сильно подходит под объектно-ориентированное программирование.

• Перейти в раздел микроконтроллеры


Комментарии

Включите JavaScript для комментирования.


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

Рейтинг@Mail.ru LiveInternet Rambler's Top100 Яндекс.Метрика