Неверов Евгений Викторович
Меню сайта
Категории раздела
Программирование на языке Паскаль [27]
В данной категории представлены новые функции, созданные на языке Паскаль, которые могут пригодиться при написании своих программ
Программирование на Delphi [18]
В данной категории представлены полезные подпрограммы, которые могут пригодиться при написании своих программ, а также рассматриваются примеры готовых проектов, создаваемых в среде программирования Delphi
Программирование на HTML [0]
В данной категории рассматриваются примеры готовых проектов, создаваемых на языке HTML
Прочее [0]
Свободная тематика
Мини-чат
200
Наш опрос
Сколько Вам лет?
Всего ответов: 55
Статистика

Рейтинг@Mail.ru
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Программирование на языке Паскаль [ Добавить статью ]

Замена символа или фразы в строке на новое значение
function SimwolZamenit(s, simwol_star, simwol_now: string; Registr_star, Registr_now: boolean): string;
var i, LSS: integer;
    sC, SS, SN: string;
begin
   LSS:=Length(simwol_star);
   i:=1;
   While (i<=Length(s)) and (s<>'') do
   begin
      sC:=Copy(s, i, LSS);
      If not Registr_star and not Registr_now then
      begin
         If Registr(sC) then
         begin
            sC:=RegistrWerhniy(sC);
            SS:=RegistrWerhniy(simwol_star);
            SN:=RegistrWerhniy(simwol_now);
         end else
         begin
            sC:=RegistrNizhniy(sC);
            SS:=RegistrNizhniy(simwol_star);
            SN:=RegistrNizhniy(simwol_now);
         end;
      end;
      If Registr_star and not Registr_now then
      begin
         SS:=simwol_star;
         If Registr(simwol_now) then
            SN:=RegistrWerhniy(simwol_now) else
            SN:=RegistrNizhniy(simwol_now);
         If Registr(sC) and Registr(simwol_star) then
            SN:=RegistrWerhniy(simwol_now);
         If not Registr(sC) and not Registr(simwol_star) then
            SN:=RegistrNizhniy(simwol_now);
      end;
      If not Registr_star and Registr_now then
      begin
         SN:=simwol_now;
         If Registr(sC) then
            SS:=RegistrWerhniy(simwol_star) else
            SS:=RegistrNizhniy(simwol_star);
      end;
      If Registr_star and Registr_now then
      begin
         SS:=simwol_star;
         SN:=simwol_now;
      end;
      If (sC=SS) and (sC<>'') then
      begin
         Delete(s, i, LSS);
         Insert(SN, s, i);
         i:=i+Length(SN)-1;
      end;
      i:=i+1;
   end;
   Result:=s;
end;

где

s - исходная строка;

simwol_star - старый символ (фраза);

simwol_now - новый символ (фраза);

Registr_star - соблюдение регистра старого символа;

Registr_now - соблюдение регистра нового символа.

Например, SimwolZamenit('Программист', 'М', 'Н', false, true) выведет 'ПрограННист'; SimwolZamenit('барабАн', 'ба', 'ле', true, false) выведет 'лерабАн'.

Примечание. Для полноценной работы данной функции необходимо скопировать функции из раздела "Операции с регистрами":

function Registr(s: string): boolean;
function RegistrNizhniy(s: string): string;
function RegistrWerhniy(s: string): string;
Категория: Программирование на языке Паскаль | Добавил: newerow1989 (12.03.2016 11:18 )
Просмотров: 149 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Все смайлы
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2018
    Автор этого сайта: Неверов Евгений Викторович

    Мои координаты
    Бесплатный конструктор сайтов - uCozЯндекс.Метрика