| Altair |
16.06.2004 17:09
Сообщение
#1
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Строки. Краткая теория.
В Паскале определены два типа строк:
Стандартная строка (string) в Паскале, представляет из себя массив, первый элемент которого содержит длину строки, а начиная со второго элемента начинается полезная информация. Поскольку нумерация начинается с 0, то первый элемент строки, содержащий длину строки, имеет индекс 0. Если Вы попытаетесь осуществить следующее присвоение: var то компилятор выдаст сообщение об ошибке (несовместимость типов), потому что все элементы строки - символы (Char) Для определения длины строки можно использовать или стандартную процедуру Length(stroka) или так: var Второй способ менее нагляден, но полезен если Вы забыли стандартные процедуры. К каждому элементу строки можно обратиться, как к элементу массива. Длина строк ограниченна 255 символами. Поскольку первый элемент строки кодируется одним байтом, он может закодировать максимум 255 элементов. II. PChar Для обеспечения поддержки строк, длиннее 255 символов, в TP7 был введен новый тип - PChar. Он имеет следующую структуру: Type Т.е. представляет собой указатель, но в отличие от обычных указателей, он трактуется необычным образом: считается, что он указывает на цепочку символов, заканчивающуюся символом с кодом #0. Тип PChar совместим с одномерным символьным массивом с нулевой левой границей (array[0..max]). Переменные типа PChar индексируются, т.е. к элементам длинной строки можно обратиться по их индексу, как к элементам обычной строки. СТРОКИ. ЧаВо.
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
| klem4 |
7.02.2006 21:52
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Стандартные функции и процедуры языка Паскаль для работы со строками и символами
Символы Chr(x : byte) : Char - Возвращает символ ASCII кода х Ord(c : Char) : Byte - Возвращает ASCII-код символа c UpCase(c : Char) : Char - Переводит символы 'a'..'z' в верхний регистр Pred(c : Char) : Char - Выдает предшествующий c символ Succ(c : Char) : Char - Выдает последующий за c символ Строки Length(s : String) : Byte - Возвращает длину строки s ConCat(s1, s2, s3 ... sn : String) : String - Возвращает конкатинацию (слияние) строк s1...sn Copy(s : String; start, len : Integer) : String - Возвращает подстроку длиной len, начинающуюуся с позиции start строки s Delete(VAR s : String; start, len : Integer) - Удалает подстроку длиной len начиная с позиции start строки s Insert(VAR s : String; SubS : String; start : Integer ) - Вставляет в s подстроку SubS, начиная с позиции start Pos(SubS, s : string) : byte - Ищет вхождение подстроки SubS в s и возвращает номер первого символа SubS в s, или 0, если s не соержит SubS Процедуры преобразования Str(X :F :n; s : string) - Преобразует числовое значение X в строковое s, возможно создание формата для х Val(S : String; var X; errCode : integer) - Преобразует строку цифр S в числовое значение X, при неудачном преобразовании errCode содержит номер позиции символа в строке, который не удалось преобразовать (то есть он не является цифрои или десятичной точкой) Сообщение отредактировано: klem4 - 7.02.2006 21:56 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Altair Строки 16.06.2004 17:09
Флогримм GetWords(s:string; var mas:TArray)
процедура возвр... 22.11.2004 11:58
volvo Для удобства использования процедуру GetWords можн... 23.11.2004 11:43
Altair Модуль для работы со строками
[color=red][b]Вним... 17.01.2005 20:10
Altair Как написать функцию для ввода строки с ограниченн... 27.03.2005 14:12
klem4 Имитация стандартных функций Паскаля для работы со... 6.01.2007 17:19
klem4 Сколько раз слово w встречается в строке s ?
func... 12.04.2007 8:16![]() ![]() |
|
Текстовая версия | 7.11.2025 9:40 |