Yurijnd.com
Четверг, 06.02.2025, 19:53
Меню сайта

Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Delphi. Pascal
    Урок 17. Работаем со строками

    Символьные типы данных

    Тип Описатель типа (имя) Значение типа (пример)
    Символьный (литерный) char 'a'
        #13
    Строковый string 'задача'
        'тема'#13#10'урока:'
    Функция Результат функции Пример
    length(s) Длина строки n:=length(s)
    pos(s1,s2) Начало первого вхождения строки s1 внутри строки s2 (номер позиции) n:=pos('+',s)
    copy(s,p,n) Часть строки s длиной n, начиная с позиции p c:=copy(s,4,2)
    concat(s1,s2,s3,...sn) Соединить строки (функция конкатенации) c:=concat(s,';',t,'.')
    Функция Результат функции Пример
    upcase(c) Преобразовать малую букву латинского алфавита в большую (символ верхнего регистра) c:=upcase(c)
    chr(n) Символ с номером n c:=chr(n)
    ord(c) Номер символа со значением c n:=ord(c)
    succ(c) Следующий символ таблицы ASCII c:=succ(c)
    pred(c) Предыдущий символ таблицы ASCII c:=pred(c)
    Процедура Операция Пример
    delete(s,p,n) Удалить часть строки s длиной n, начиная с позиции p delete(s,n,1)
    insert(s1,s2,p) Вставить строку s1 в строку s2, начиная с позиции p insert('+',s,1)
    val(s,x,r) Преобразовать строку s в число x с признаком результата r val(s,x,nan)
    str(x:f,s) Преобразовать число x в строку s с форматом числа f str(x:10,s)
        str(x:10:2,s)
    s1 + s2 Соединить строки (операция конкатенации) s:=s+';'+t+'.'
     

    Для строк в Delphi предусмотрено несколько типов. На этом занятии мы с вами рассмотрим тип String. Для переменных такого типа мы рассмотрим основные функции - для вычисления длины строки, для выделения подстроки, для вставки и удаления нескольких символов и т. п.

    Лучше сразу все эти функции рассмотреть на примере:

    ...
    var
     s1, s2, s3: String;
     n: Integer;
    begin
     s1:='Igor';
     s2:='Alexeev';
    
     //Длина строки.
     n:=Length(s1);
     Writeln(n); //Выведется 4.
    
     //Конкатенация (сложение) строк.
     s3:=s1 + ' ' + s2; //Первый способ.
     Writeln(s3); //Выведется 'Igor Alexeev'.
     s3:=Concat(s1, ' ', s2); //Второй способ.
     Writeln(s3); //Выведется 'Igor Alexeev'.
    
     //Поиск подстроки (первый аргумент) в строке (второй агрумент).
     //Функция возвращает номер первого вхождения символа (нумерация с 1).
     //Если вхождение не найдено, то возвращается ноль.
     n:=Pos('go', s1);
     Writeln(n); //Выведется 2.
    
     //Удаление из сроки S (задается первым агументом)
     //начиная с позиции M (второй аргумент)
     //N символов (третий аргумент).
     //Результат записывается в S;
     Delete(s2, 5, 3);
     Writeln(s2); //Выведется 'Alex'.
    
     //Вставка первого аргумента в строку,
     //задаваемую вторым аргументом начиная с позиции,
     //определяемой третьим аргументом.
     Insert('222', s2, 2);
     Writeln(s2); //Выведется 'A222lex'.
    
     //Выделение подстроки (из первого параметра).
     //Второй параметр определяет, с какого символа выделяем
     //(нумерация с нуля), третий - сколько выделяем.
     s2:=Copy(s1, 1, 2);
     Writeln(s2); //Выведется 'Ig'.
     Readln;
    end.

    Использование функций достаточно ясно из примера.

    Небольшое замечание. Строки в Delphi, в отличие, например, от C/C++, заключаются в одинарные кавычки.

    Copyright MyCorp © 2025
    Сделать бесплатный сайт с uCoz