zoukankan      html  css  js  c++  java
  • Lazarus中system.length说明

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

    定义:

    function Length(

      SAStringType

    ):Integer;

    function Length(

      ADynArrayType

    ):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.
  • 相关阅读:
    Size Classes with Xcode 6:为所有的尺寸准备一个Storyboard
    iOS:界面适配(二)--iPhone/iPad适配(关于xib)
    iPhone屏幕尺寸、分辨率及适配
    ViewControl的size设为freeform
    iphone分辨率大全
    iPhone6分辨率与适配
    Applications using Launch Screen Files and targetting iOS 7.1 and earlier need to also include a Launch Image in an Asset Catalog.
    linuxmint计算器
    校验 MD5 值
    DataBinding
  • 原文地址:https://www.cnblogs.com/China3S/p/3290328.html
Copyright © 2011-2022 走看看