博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lazarus中system.length说明
阅读量:6712 次
发布时间:2019-06-25

本文共 1736 字,大约阅读时间需要 5 分钟。

在system单元中我们有Length专门用来获取字符串宽度和数组宽度,下面例子来介绍他的功能。

定义:

function Length(

  SAStringType

):;

function Length(

  ADynArrayType

):;

这里我们可以看到传递的参数可以是字符串,也可以是字符。

函数返回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:='';   i := length(s);   WriteLn('string length:'+inttostr(i));   //short string   ss:='';   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.

转载地址:http://raalo.baihongyu.com/

你可能感兴趣的文章
微信公众号最新数据解读,三分之一停更成僵尸号
查看>>
软件自动化测试成功公式
查看>>
少走弯路,中小企业OA选型攻略
查看>>
万能的小苏打,知道的人太少了,赶紧收藏
查看>>
从MWC 2017看懂英特尔5G朋友圈
查看>>
Facebook 的移动端 A/B 测试框架
查看>>
《交互式程序设计 第2版》一2.3.4 运算符
查看>>
CYQ.Data V5 分布式缓存Redis应用开发及实现算法原理介绍
查看>>
论模式在领域驱动设计中的重要性
查看>>
一个创业公司的API网关落地实践
查看>>
国内需求疲弱 铅酸蓄电池新消费税将铅价承压
查看>>
Qt之网络编程
查看>>
《Adobe Acrobat X中文版经典教程》—第2章2.1节打开PDF文件
查看>>
FSF 活动人士呼吁就 DRM 致电 WWW 之父
查看>>
《UNIX环境高级编程(第3版)》——2.8 基本系统数据类型
查看>>
mysql导入报错MySQL server has gone away解决
查看>>
《CCNP ROUTE 300-101学习指南》——2.2节构建EIGRP拓扑表
查看>>
《为自己工作——世界顶级设计师成功法则》目录—导读
查看>>
Libreboot 项目向开源社区示好和致歉
查看>>
《CMYK 2.0——设计师色彩管理手册》—第1章1.3节副作用
查看>>