Раздел: Стандартные функции Паскаля

Процедура Insert в Паскале

Основы программирования

Подпишись на новости, чтобы ничего не пропустить


Процедура Insert в Паскале вставляет данные в строку или динамический массив. Синтаксис:

procedure Insert(const Source : string; 
                 var S : string;
                 const Index : Integer);

procedure Insert(const Source : DynaArrayType;
                 var S : DynArrayType;
                 const Index : Integer);

В конце статьи есть видео - можете перейти сразу туда.

Процедура Insert вставляет строку Source в строку S, начиная с позиции Index, сдвигая все символы после Index вправо. Результирующая строка при необходимости усекается до 255 символов (для коротких строк).

Index - это номер символа в строке. Нумерация начинается с 1. Если Index меньше 1, вставка происходит в начале строки, как если бы было указано значение 1.

Если значение Index больше длины строки, то к строке S добавляется строка Source.

Для динамических массивов Insert вставляет элементы массива Source в массив S, начиная с позиции Index, сдвигая все элементы после Index вправо.

Index - это номер элемента в массиве. Нумерация начинается с 0. Если Index меньше 0, вставка происходит в начало массива, как если бы было указано значение 0.

Если значение Index больше длины массива, то к массиву S добавляется элемент (или массив) Source.

Пример использования:

program proginsert;

var Hello : string;
    Mas   : array of WORD;
    Arr   : array of WORD; 
    i     : WORD;

begin
  //Вставка в строку
  Hello := 'Hello, World !';
  WriteLn(Hello);
  //Вставляем "brave new" перед "World"
  Insert('brave new ', Hello, 8);
  WriteLn(Hello);

  //Вставка в динамический массив
  //Создаём массив из 5 элементов
  SetLength(Mas, 5);
  WriteLn(#10#13'Length(Mas) = ', Length(Mas));
  for i := 0 to 4 do
    begin
      Mas[i] := i;
      Write(Mas[i], ' ');
    end;
  //Вставляем элемент в массив на 3-ю позицию 
  Insert(100, Mas, 2);
  WriteLn(#10#13'Length(Mas) = ', Length(Mas));
  for i := 0 to Length(Mas)-1 do
    Write(Mas[i], ' ');

  //Вставка массива в динамический массив
  //Создаём массив из 3 элементов
  SetLength(Arr, 3);
  WriteLn(#10#13'Length(Arr) = ', Length(Arr));
  for i := 0 to 2 do
    begin
      Arr[i] := i * 10;
      Write(Arr[i], ' ');
    end;
  //Вставляем массив Arr в конец массива Mas
  Insert(Arr, Mas, 10);
  WriteLn(#10#13'Length(Mas) = ', Length(Mas));
  for i := 0 to Length(Mas)-1 do
    Write(Mas[i], ' ');

  ReadLn;
end.

Эта программа на экран выведет следующее:

Процедура Insert в Паскале

На этом всё. Для лучшего понимания посмотрите видео:


Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика