Lazarus中system.length说明
在system单元中我们有Length专门用来获取字符串宽度和数组宽度,下面例子来介绍他的功能。
定义:
function Length( |
S: AStringType |
):Integer; function Length( |
A: DynArrayType |
):Integer; |
这里我们可以看到传递的参数可以是字符串,也可以是字符。
函数返回S字符串的宽度,如果字符串是shortstring类型,字符宽度限制在255以内,如果S是空,则返回0.
widestrings和ansistrings也可以使用这个函数
如果是动态数组,函数将会返回数组元素的数量。
Length函数同样支持Pchar和PWideChar类型,效果类似StrLen和WStrLen,但这种情况,函数只计算null结尾的字符串,因为这里的函数是一个null结尾扫描结果的函数。
官方例子:
Program Example36; {Program to demonstrate the Length function.} Var S :String;
I :Integer; begin
S:='';
for i:=1 to 10do
begin
S:=S+'*';
Writeln(Length(S):2,' : ',s);
end;
end.
下面是我们的例子:
program system_example; {$mode objfpc}{$H+} uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes,sysutils; var
s:string;
i:Integer;
ss:ShortString;
sarr : string[10];
anstr:AnsiString;
wdstr:widestring;
arr : array[0..10] of integer;
darr : array of integer;
marr : array[0..4,2..22] of integer;
begin
//normal string
s:='Lazarus';
i := length(s);
WriteLn('string length:'+inttostr(i)); //short string
ss:='Lazarus';
i := length(ss);
WriteLn('shortstring length:'+inttostr(i)); // string array
sarr:='Lazarus';
i := length(sarr);
WriteLn('string array length:'+inttostr(i)); // ansistring
anstr :='我的lazarus';
i := length(anstr);
WriteLn('ansi string length:'+inttostr(i)); // widestring
wdstr :='我的lazarus';
i := length(wdstr);
WriteLn('wide string length:'+inttostr(i)); //static array length
i:= length(arr);
WriteLn('array length:'+inttostr(i));{11} // dynamic array
setlength(darr,10);
i:= length(darr);
WriteLn('dynamic array length:'+inttostr(i));{10} i:= length(marr);
WriteLn('m array length:'+inttostr(i));{5}
end.
Lazarus中system.length说明的更多相关文章
- 分析Java中的length和length()
在不适用任何带有自动补全功能的IDE的情况下,我们怎么获取一个数组的长度?如何获取字符串的长度? 这里我们先举用实例去分析一下:int[] arr=new int[3]:System.out.prin ...
- Java 中System里getProperty(something)
Java 中System里getProperty 方法获得系统参数 Key Description of Associated Value 中文描述 java.version Java Runtime ...
- net中System.Security.Cryptography 命名空间 下的加密算法
.net中System.Security.Cryptography命名空间 在.NETFramework出现之前,如果我们需要进行加密的话,我们只有各种较底层的技术可以选择,如 Microsoft C ...
- C#中System.Globalization.DateTimeFormatInfo.InvariantInfo怎么用
原文 C#中System.Globalization.DateTimeFormatInfo.InvariantInfo怎么用 在开发的时候,碰到下面这样一个问题: 在程序中显示当前系统时间,但是有一 ...
- Java中System.getProperty()的参数
Java中System.getProperty的使用方法: 1,System.getProperty返回的数值,比如java.version,java.home,os.name,user.home以及 ...
- python中print()函数的“,”与java中System.out.print()函数中的“+”
python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能. python中: print("hello,world!") 输出 ...
- Systemd初始化进程/RHEL 6系统中System V init命令与RHEL 7系统中systemctl命令的对比
Linux操作系统的开机过程是这样的,即从BIOS开始,然后进入Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程.初始化进程作为Linux系统的第一个进程,它需要完成Li ...
- webConfig中System.Web 和 System.WebServer节点读取
webConfig中System.Web 和 System.WebServer节点读取根据应用程序池中托管管道模式有关. 在网站发布到服务器的IIS上时,应用程序池中托管管道模式分为经典和集成. Sy ...
- debug.js中的length的错误
记得昨天报了一个错,debug.js文件中的length未定义.前台不定位代码,后天也不报错,而debug.js是框架封装的文件,不是自己写的,无从得知是哪里的问题,而项目也已经重新启动过,无法撤销. ...
随机推荐
- MATLAB信号与系统分析(三)——连续信号与系统的复频域分析及MATLAB实现
一.系统的拉普拉斯变换和反变换 1.MATLAB函数 F=laplace(f) %求拉氏变换 f=ilaplace(F) %求拉氏反变换 2.例子 clear all;clc;close all f= ...
- android 完美退出所有Activity的demo
项目地址:https://github.com/libill/myapplication 利用android的wheel和参考android完美退出程序做出来的demo,结束掉所有打开的Activit ...
- 【原创】CDM添加新磁盘,然后负载
hdfs快占满了,所以为节点中添加新的磁盘(这块是个教训,以后用新的节点时,磁盘需要一次性插满,省得后续再添加磁盘了) 注意: 添加磁盘时,不仅仅datanode在配置时添加节点,nodemanage ...
- XmlBeanFactory的Bean注册
Spring将bean从配置文件到加载到内存中的全过程: BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanFac ...
- Nightmare
Nightmare Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- 看看 JDK 8 给我们带来什么(转)
世界正在缓慢而稳步的改变.这次改变给我们带来了一个新模样的JDK7,java社区也在一直期盼着在JDK8,也许是JDK9中出现一些其他的改进.JDK8的改进目标是填补JDK7实现中的一些空白——部分计 ...
- CSS HTML链接去掉小手与增添小手
style="cursor: hand" crosshair:精确定位“十”字形: text:文本“I”形: wait:等待,“沙漏”形: default:默认指针: help:帮 ...
- 使用GCD
使用GCD 什么是 GCD Grand Central Dispatch (GCD) 是 Apple 开发的一个多核编程的解决方法.该方法在 Mac OS X 10.6 雪豹中首次推出,并随后被引入到 ...
- 关于isset使用产生Can't use function return value in write context错误
在使用isset检测session的一个取值是否存在时,产生了这个问题 翻译一下:不能在填写的内容中使用函数的返回值.然后我查看了php手册看isset函数的使用:isset()只能用于变量,因为传递 ...
- 那些年我们没能bypass的xss filter
个人很喜欢收集xss payload.在这里把自己平时挖xss时会用到的payloads列出来和大家一起分享.很希望大家能把自己的一些payload也分享出来.(由于 我是linux党,所以本文出现在 ...