- 帕斯卡教程
- 帕斯卡 - 主页
- 帕斯卡 - 概述
- Pascal - 环境设置
- 帕斯卡 - 程序结构
- Pascal - 基本语法
- Pascal - 数据类型
- Pascal - 变量类型
- 帕斯卡 - 常数
- 帕斯卡 - 运算符
- 帕斯卡 - 决策
- 帕斯卡 - 循环
- 帕斯卡 - 函数
- 帕斯卡 - 程序
- Pascal - 变量作用域
- 帕斯卡 - 弦乐
- 帕斯卡 - 布尔
- 帕斯卡 - 数组
- 帕斯卡 - 指针
- 帕斯卡 - 记录
- 帕斯卡 - 变体
- 帕斯卡 - 集合
- 帕斯卡 - 文件处理
- 帕斯卡 - 记忆
- 帕斯卡 - 单位
- 帕斯卡 - 日期和时间
- 帕斯卡 - 对象
- 帕斯卡 - 类
- 帕斯卡有用资源
- 帕斯卡 - 快速指南
- 帕斯卡 - 有用的资源
- 帕斯卡 - 讨论
帕斯卡 - 弦乐
Pascal 中的字符串实际上是具有可选大小规范的字符序列。字符可以是数字、字母、空格、特殊字符或所有字符的组合。Extended Pascal 根据系统和实现提供多种类型的字符串对象。我们将讨论程序中使用的更常见的字符串类型。
您可以通过多种方式定义字符串 -
字符数组- 这是一个字符串,它是用单引号括起来的零个或多个字节大小的字符的序列。
字符串变量- 字符串类型的变量,如 Turbo Pascal 中定义。
短字符串- 具有大小规范的字符串类型变量。
空终止字符串- pchar类型的变量。
AnsiStrings - Ansistrings 是没有长度限制的字符串。
Pascal 只提供一种字符串运算符,即字符串连接运算符 (+)。
例子
以下程序打印前四种字符串。我们将在下一个示例中使用 AnsiStrings。
program exString; var greetings: string; name: packed array [1..10] of char; organisation: string[10]; message: pchar; begin greetings := 'Hello '; message := 'Good Day!'; writeln('Please Enter your Name'); readln(name); writeln('Please Enter the name of your Organisation'); readln(organisation); writeln(greetings, name, ' from ', organisation); writeln(message); end.
当上面的代码被编译并执行时,它会产生以下结果 -
Please Enter your Name John Smith Please Enter the name of your Organisation Infotech Hello John Smith from Infotech
以下示例使用了更多函数,让我们看看 -
program exString; uses sysutils; var str1, str2, str3 : ansistring; str4: string; len: integer; begin str1 := 'Hello '; str2 := 'There!'; (* copy str1 into str3 *) str3 := str1; writeln('appendstr( str3, str1) : ', str3 ); (* concatenates str1 and str2 *) appendstr( str1, str2); writeln( 'appendstr( str1, str2) ' , str1 ); str4 := str1 + str2; writeln('Now str4 is: ', str4); (* total lenghth of str4 after concatenation *) len := byte(str4[0]); writeln('Length of the final string str4: ', len); end.
当上面的代码被编译并执行时,它会产生以下结果 -
appendstr( str3, str1) : Hello appendstr( str1, str2) : Hello There! Now str4 is: Hello There! There! Length of the final string str4: 18
Pascal 字符串函数和过程
Pascal 支持多种操作字符串的函数和过程。这些子程序在实施方面有所不同。在这里,我们列出了 Free Pascal 提供的各种字符串操作子程序 -
先生。 | 功能与目的 |
---|---|
1 |
函数 AnsiCompareStr(const S1: ; const S2:):Integer; 比较两个字符串 |
2 |
函数 AnsiCompareText(const S1: ; const S2:):Integer; 比较两个字符串,不区分大小写 |
3 |
函数 AnsiExtractQuotedStr(var Src: PChar; Quote: Char):; 从字符串中删除引号 |
4 |
函数 AnsiLastChar(const S:):PChar; 获取字符串的最后一个字符 |
5 |
函数 AnsiLowerCase(const s:): 将字符串转换为全小写 |
6 |
函数 AnsiQuotedStr(const S: ; 引用: Char):; 引用一个字符串 |
7 |
函数 AnsiStrComp(S1: PChar;S2: PChar):Integer; 比较字符串区分大小写 |
8 |
函数 AnsiStrIComp(S1: PChar; S2: PChar):Integer; 比较字符串不区分大小写 |
9 |
函数 AnsiStrLComp(S1: PChar; S2: PChar; MaxLen: Cardinal):Integer; 比较字符串的 L 个字符区分大小写 |
10 |
函数 AnsiStrLIComp(S1: PChar; S2: PChar; MaxLen: Cardinal):Integer; 比较字符串的 L 个字符,不区分大小写 |
11 |
函数 AnsiStrLastChar(Str: PChar):PChar; 获取字符串的最后一个字符 |
12 |
函数 AnsiStrLower(Str: PChar):PChar; 将字符串转换为全小写 |
13 |
函数 AnsiStrUpper(Str: PChar):PChar; 将字符串转换为全大写 |
14 |
函数 AnsiUpperCase(const s:):; 将字符串转换为全大写 |
15 |
procedure AppendStr(var Dest: ; const S:); 追加 2 个字符串 |
16 |
过程AssignStr(var P: PString; const S:); 为堆上的字符串赋值 |
17 号 |
函数 CompareStr(const S1: ; const S2:):Integer; 超载; 比较两个字符串区分大小写 |
18 |
函数 CompareText(const S1: ; const S2:):Integer; 比较两个字符串,不区分大小写 |
19 |
过程 DisposeStr(S: PString); 超载;
从堆中删除字符串 |
20 |
过程 DisposeStr(S: PShortString); 超载; 从堆中删除字符串 |
21 |
函数 IsValidIdent( const Ident:):Boolean; 字符串是有效的 pascal 标识符吗 |
22 |
函数 LastDelimiter(const Delimiters: ; const S:):Integer; 字符串中最后一次出现的字符 |
23 |
函数 LeftStr(const S: ; 计数: 整数):; 获取字符串的前 N 个字符 |
24 |
函数 LoadStr(Ident: Integer):; 从资源加载字符串 |
25 |
函数 LowerCase(const s: ):; 超载; 将字符串转换为全小写 |
26 |
函数 LowerCase(const V: 变量 ):; 超载; 将字符串转换为全小写 |
27 |
函数 NewStr(const S:):PString; 超载; 在堆上分配新字符串 |
28 |
函数 RightStr(const S: ; 计数: 整数):; 获取字符串的最后 N 个字符 |
29 |
函数 StrAlloc(Size: Cardinal):PChar; 为字符串分配内存 |
30 |
函数 StrBufSize(Str: PChar):SizeUInt; 为字符串保留内存 |
31 |
过程 StrDispose(Str: PChar); 从堆中删除字符串 |
32 |
函数 StrPas(Str: PChar):; 将 PChar 转换为 pascal 字符串 |
33 |
函数 StrPCopy(目标: PChar; 源:):PChar; 复制帕斯卡字符串 |
34 |
函数 StrPLCopy(Dest: PChar; Source: ; MaxLen: SizeUInt):PChar; 复制 N 个字节的 pascal 字符串 |
35 |
函数大写(const s:):; 将字符串转换为全大写 |