Правила: заголовок темы должен кратко и понятно отражать ее суть, нельзя писать заглавными буквами. Сообщение, ник, аватар не должны выделяться своими размерами или стилем написания от остальных, быть читабельными, написаны литературно и достаточно грамотно.Это не все правила а их часть, в разделе правила предоставлены полный список правил сайта и форума.
Вторник, 14 Июля 2020, 16:29:02Приветствую Вас Гость
Главная | Список форумов | Регистрация | Вход
[ Новые сообщения · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Работа с Java,с++,с#,php,sql,MobileBasic и т.д. » Pascal/Delphi » Строковые данные
Строковые данные
bogdan-GДата: Четверг, 03 Марта 2011, 21:14:44 | Сообщение # 1
Самый главный на сайте!
Группа: Администраторы
Сообщений: 620
Награды: 1
Репутация: 578
Статус: Offline
В языке Паскаль имеются два основных типа, предназначенных для работы с текстовыми данными: char и string. Данные типа char содержат один символ, тогда как данные типа string могут содержать набор символов, интерпретируемый как символьная (текстовая) строка. В Delphi Pascal и PascalABC.NET символьные строки могут содержать практически неограниченное кол-во символов (более 2 миллиардов).
Для определения символа по его коду и кода по его символу в Паскале предусмотрены стандартные функции Chr и Ord.
В языке Паскаль символы можно сравнивать с помощью любых операций отношения (=, <>, <, >, <=, >=), при этом меньшим считается символ, имеющий меньший код. Например:
'0'<'1'<...<'9'<...<'A'<'B'<'C'<...'Z'<...<'a'<'b'<'c'<...<'z'<...<'А'<'Б'<'В'<...<'Я'<'а'<'б'<...<'я'

Строковые данные (данные типа string) в Паскале могут рассматриваться как массива символов; при этом первый символ строки имеет индекс 1. Однако строковая переменная, в отличие от "обычного" массива, может изменять свой размер в зависимости от длины той строки, которая в данный момент в ней содержится. Для определения текущей длины строки предусмотрена функция Length. Таким образом, если строка S является непустой, то для доступа к её символам можно использовать индексы от 1 до Length(S): S[1], ..., S[Length(S)]. Попытка обратиться к символу с индексом, не лежащим в указанном диапазоне, приведёт к ошибке времени выполнения. В частности, это случится при использовании выражения S[Length(S)] для пустой строки S (поскольку в этом случае длина строки равна нулю).
Для строк определена единственная операция "+", называемая операцией сцепления (или операцией конкатенации). В качестве одного и даже обоих операндов можно использовать символьные данные (типа char), однако результат всегда будет иметь тип string.
Символьные выражения можно присваивать строковой переменной (напрмер, S:=C, где S имеет тип string, а C - тип char); при этом символ автоматически преобразуется в односимвольную строку. Обратное присваивание (C:=S) запрещено.
Процедура Val предназначена для преобразования строки в число. она имеет три параметра. В первом задаётся преобращуемое строковое выражение, во втором указывается числовая переменная, в которую будет записан результат преобразования. Тип второго параметра определяет, как должно интрепретироваться содержимое преобразуемой строки: если второй параметр имеет целый тип, то делается попытка преобразования строки к целому чмслу, а если параметр имеет вещественный тип то к вещественному.
Поскольку не всякую строку можно преобразовать в число, в процедуре Val предусмотрен дополнительный входной параметр целого типа, позволяющий проверить успешность подобного преобразования: если преобразование выполнено успешно, то этот параметр равен нулю.
Заметим, что процедура Val правильно распознаёт не только вещественные числа в формате с фиксированной точкой (например, '1.2345'), но также и числа в формате с плавающей точкой (например, '1.2345e+02). Запятую в качестве десятичного разделителя использовать нельзя.
Обратная функция преобразования, которая может быть выполнена всегда - Str.


админ сайта
----------------------------------
если помог + в репу!

 
Форум » Работа с Java,с++,с#,php,sql,MobileBasic и т.д. » Pascal/Delphi » Строковые данные
  • Страница 1 из 1
  • 1
Поиск:

Disign by Mark © 2020