Строки

Строка представляет последовательность символов, эквивалентную массиву символов. Она объявляется следующим образом:

string_name : string[length]

Спецификатор length это число символов, из которых состоит строка.Строка хранится внутри, как заданная последовательность символов плюс завершающий символ null (zero), который вводится для завершения строки.Он не учитывает общую длину строки.

Нулевая строка ('') хранится как единственный символ null.

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

var
  msg1 : string[20];
  msg2 : string[19];

begin
  msg1 := 'Это сообщение';
  msg2 := 'Еще одно сообщение';

  msg1 := msg2; // это нормально, но противоположное присвоение было бы невернымlternately, you can handle strings element–by–element. For example:

var s : string[5];
...
s := 'mik';
{
s[0] is char literal 'm'
s[1] is char literal 'i'
s[2] is char literal 'k'
s[3] is zero
s[4] is undefined
s[5] is undefined
}

Будьте внимательными при обработке строк таким образом, так как перезапись конца строки может вызывать непредсказуемое поведение программы.

Конкатенация (соединение) строк

mikroPascal PRO для ARM позволяет объединять строки с помощью оператора "плюс". Такая конкатенация применима к строковым переменным / литералам, символьным переменным / литералам. Для управляющих символов используйте нецитированный знак хеширования и число (например,#13 для CR).

Пример:

var msg : string[20];
    res_txt : string[5];
    res, channel : word;

begin
  //...

  // Получить результат от аналого-цифрового преобразователя ADC
  res := Adc_Read(channel);

  // Создать строку из числового результата
  WordToStr(res, res_txt);

  // Подготовить сообщение для вывода
  msg := 'Result is ' +      // Текст "Результат"
          res_txt     ;      // Результат ADC

  //...
  Примечание :