1. 数据类型转化

1.1.         数值和字符串转化

Procedure Str(X [: Width [ : Decimals ]]; var S);

将数值X按照一定格式转化成字符串S。Width指定S的总长度,Decimals指定小数点后的位数。

EX: Str(12.2 : 6 : 2 , S); //S=’  12.20’;

Procedure Val(S ; Var V; var Code : Integer);

将字符串S转化为数值V。如果不能转化,则Code返回第一个非法字符的位置。

EX: Val(’12.00’ , V , Code); //Code返回’.’的位置3;

1.2.         整数和字符串转化

Function IntToStr(Value : Integer) : String ;overload;

Function IntToStr(Value : Int64) : String ;overload;

第一个用于32Bit整数,第二个用于64Bit整数。

Function StrToInt(const S : String) : Integer;

Function StrToInt64(const S : String) : Int64;

如果S包含非数字字符,则产生异常,但是S可以是十六进制表示方法,如$A,则返回10。

Function StrToIntDef(const S : String; Default : Integer): Integer;

Function StrToInt64Def(const S : string; Default : Int64):Int64;

如果S非法,则返回Default指定的默认值,不产生异常。

Function TryStrToInt(const S : String; out Value : Integer) : Boolean;

Function TryStrToInt64(const S : String; out Value : Int64) : Boolean;

转化得到的整数保存在输出参数Value中,不能转化则返回false。

Function IntToHex(Value : Integer; Digits : Integer) : String ; overload;

Function IntToHex(Value : Int64; Digits : Integer) : String ; overload;

将十进制整数转化成二进制整数,结果用字符串表示。

Function HexToBin(Text , Buffer : PChar; BufSize : Integer) : Integer;

将十六进制整数转化成二进制,结果用字符串表示,保存在Buffer中。

1.3.         实数和字符串转化

Function FloatToStr(Value : Extended) : String;

Function CurrToStr(Value : Currency) : String;

Function FloatToStrF(Value : Extended; Format : TFloatFormat; Precision, Digits : Integer) : String;

Function FormatFloat(const Format : String; Value : Extended) : String;

Function FloatToText(Buffer : PChar; const Value; ValueType : TFloatValue; Format : TFloatFormat; Precision, Digits : Integer) : Integer;

Function CurrToStrF(Value : Currency; Format : TFloatFormt; Digits : Integer) : String;

Function FormatCurr(const Format : String; Value : Currency) : String;

指定格式。

Function StrToFloat(const S : String) : Extended;

Function StrToCurr(const S : String) : Currency;

字符串转化为实数。

另外:StrToFloatDef , StrToCurrDef , TryStrToFloat , TryStrToCurr

1.4.         实数子类型相互转化

Function FloatToCurr(const Value : Extended) : Currency;

1.5.         布尔类型和字符串转化

Function StrToBool(const S : String) : Boolean;

Function BoolToStr(B : Boolean; UseBoolStrs : Boolean = False) : String;

  1. 字符串处理

2.1字符串常用过程及函数

字符串的索引是从1开始

Function Length(S) : Integer;

Procedure SetLength(var S; NewLength : Integer);

Procedure SetString(var S : String; buffer :PChar; len : Integer);

设置一个字符串的内容(从buffer复制)和长度。

Function Pos(Substr : String; S : String) : Integer;

取得字符串起始位置

Function StringOfChar(Ch : Char; Count : Integer) : String;

用Count个Ch合成一个字符串。

Function DupeString(const AText : String; ACount : Integer) : String;

用ACount个AText合成一个字符串。

Function Concat(s1 [, s2 , … , sn] : String) : String;

Procedure Insert(Source : String; var S : String; Index : Integer);

Function Copy(S; Index, Count : Integer) : String;

Function StringReplace(const S, OldPattern, NewPattern : String; Flags : TReplaceFlags) : String;

用NwePattern替换S中的子字符串OldPattern。

Procedure Delete(var S : String; Index, Count : Integer);

Procedure UniqueString(var str : String); overload;

Porcedure UniqueString(var str : WideString); overload;

指定字符串只有一个引用。

Function WrapText(const Text, BreakStr : String; nBreakChars : TSysCharSet; MaxCol : Integer) : String; overload;

Function WrapText(const Text : String, MaxCol : Integer =45) : String; overload;

分割一个字符串。MaxCol表示一行的最大长度,BreakStr表示在每行末尾要插入的分隔符,如果使用第二种格式,则插入回车换行符。它遇到nBreakChars某字符就分割一次,如果使用第二种格式,则检查空格、连字符、跳格符。

Function QuotedStr(const S : String) : String;

用单引号将字符串包裹起来。字符串中的引号会被自动处理。

Function LastDelimiter(const Delimiters, S : String) : Integer;

Delimiters是多个字符的组合,它返回某个字符在S中最后出现的位置。

Function IsDelimiter(const Delimiters, S : String; Index : Integer) : Boolean;

Function CompareStr(const S1, S2 : String) : Integer;

比较两个字符串,区分大小写。

Function SameText(const S1, S2 : String) : Boolean;

Function CompareText(const S1, S2 : String) : Integer;

不区分大小写。

Function LeftStr(const AText : String; ACount : Integer) : String;

取左边部分字符串。

Function RightStr(const AText : String; ACount : Integer) : String;

Function LowerCase(const S : String) : String;

Function UpperCase(const S : String) : String;

Function MidStr(const AText : String; const AStart : Integer) : String;

取得部分字符串,等价于Copy。

Function ReverseString(const AText : String) : string;

翻转字符串。

Procedure Str(X [ : Width [ : Decimals ]];  var S);

格式化一个字符串并保存到S。

Function Trim(const S : String) : String; overload;

Function Trim(const S : WideString) : WideString; overload;

去掉字符串头尾的空格和控制字符。

2.2 和字符串相关的类TStrings

TStrings是字符串列表对象的基类,是一个抽象类。

重要属性:

Property CommaText : String;

按照system data format格式,在字符串列表和字符串之间转换。

字符串列表->字符串:

所有字符串被逗号分割;

如果字符串中包含空格、逗号、双引号,则该字符串头尾会加上双引号;

字符串中的双引号被自动重复。

字符串->字符串列表:

不在双引号中的空格、逗号是分隔符;

连续的逗号分隔符会生成空字符串;

逗号分隔符前后的空格分隔符不作为分隔符,被忽略。

Property DelimitedText : String;

Property Delimiter : Char;

Property QuoteChar : Char;

按照Delimiter和QuoteChar在字符列表和字符串之间转换。当Delimiter为逗号,QuoteChar是双引号时,DelimitedText和CommaText完全一样。

Property Text : String;

在列表各项的末尾加上回车换行符进行字符串列表和字符串之间的转换。

Property Name[Index : Integer] : String;

当列表中字符串是”Name=Name”格式时,得到Name。只读属性。

Property Value[const Name : String] : String;

当列表中字符串时”Name=Value”格式时,得到Value。

Property String[Index : Integer] : String; default;

引用第Index项字符串。

Property Object[Index : Integer] : TObject;

引用第Index项字符串关联的对象。

重点方法:

Function AddObject(const S : String; AObject : TObject) : Integer; virtual;

将一个具有关联对象的字符串增加到列表项,返回其放置的位置。

Procedure AddStrings(Strings : TStrings); virtual;

增加一个字符串列表的所有字符串到末尾。

Function Equals(Strings : TStrings) : Boolean;

比较两个列表,不比较字符串关联的对象。

Procedure Exchange(Index1, Index2 : Integer); virtual;

交换两个项的位置。

Procedure LoadFromFile(const FileName : String); virtual;

Procedure SaveToFile(const FileName : String); virtual;

从文件读取/保存列表项,文件中每行对应列表中每项。

Procedure LoadFromStream(Stream : TStream); virtual;

Procedure SaveToStream(Stream : TStream); virtual;

将流读到Text属性/保存到流,然后转化为列表项。回车符或换行符或二者任意组合作为分割符。

Procedure Move(CurIndex, NewIndex : Integer); virtual;

将CurIndex处列表项移到NewIndex处。

2.3 TStringList

TStringList是TStrings的直接子类。它实现了TStrings的所有抽象方法。

重要属性:

Property CaseSensitive : Boolean;

是否区分大小写。

Property Sorted : Boolean;

是否对列表排序,默认是false。为True时按升序排列。

Property Duplicates : TDuplicates;

当列表被升序排列(包括按升序插入、Sorted=True 或者调用Sort 方法等)后,用户试图插入和已有列表项重复的字符串时作何处理。

Type TDuplicates = ( dupIgnore , dupAccept , dupError );

分别是不能插入、允许插入、不能插入且触发异常。

重点方法:

Procedure Sort ; virtual;

将列表项按升序排列。

Function Find(const S : string; var Index : Integer) : Boolean ; virtual;

当列表被升序排列(包括按升序插入、Sorted=True 或者调用Sort 方法等,在非升序状态下,该方法总是返回False)后,查找S 在列表中是否存在,Index 返回位置。一般不使用这个方法,而使用IndexOf。

procedure CustomSort(Compare: TStringListSortCompare); virtual;

type TStringListSortCompare = function(List : TStringList; Index1, Index2 : Integer) : Integer;

自定义排序方法。规则如下:如果Index1 处字符串应该在Index2 之前,应返回负数;如果相等,应返回0;如果应该在Index2 之后,应返回正数。

两个事件:

Property OnChange : TNotifyEvent;

Property OnChanging : TNotifyEvent;

列表变化后/前触发。

delphi常用函数过程的更多相关文章

  1. (转载)delphi 常用函数(数学)

    delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Math.trunc 和 round 是 system ...

  2. Delphi 常用函数(数学函数)round、trunc、ceil和floor

    源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...

  3. NotePad++ delphi/Pascal函数过程列表插件

    从cnpack上爬下来的 函数过程列表 点击下载

  4. 自己写的一些Delphi常用函数

    今天在整理以前写过的代码,发现有些函数还是挺实用的,决定将其贴到Blog上,与众多好友一起分享.{*************************************************** ...

  5. delphi常用函数

    直接引用了 http://www.cnblogs.com/doit8791/archive/2012/05/17/2507073.html.

  6. Delphi 常用函数记录

    //判断是否是数字 function IsNumeric(sDestStr: string): Boolean; //简写多余汉字 function SimplifyWord(sWord: strin ...

  7. delphi常用函数和方法

     uses ShellApi, ActiveX, ComObj, ShlObj; function HasText(Text: string; const Values: array of strin ...

  8. Delphi 常用API 函数

    Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconic ...

  9. Delphi 常用API 函数列表

    Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小AnyPopup 判断屏幕上是否存在任何弹出式窗口ArrangeIconicWi ...

随机推荐

  1. Android中通过广播方式调起第三方App

    今天紧急的跟进一个百度视频App无法调起百度贴吧App的问题,当然,这个是只发现是在4.x的android系统下发生,在2.x版本下,一切正常,(其实是3.1及以上的版本都有问题)具体场景为: 1.贴 ...

  2. python连接hiveserver2

    sudo pip install pyhs2 网上找的例子: #!/usr/bin/env python # -*- coding: utf-8 -*- # hive util with hive s ...

  3. Windows 2008 IIS7.0安装FTP教程 IIS7.5 配置多用户FTP

    一. 安装IIS.右键[我的电脑],选择[管理]打开.     选择[角色],选择[添加角色]打开.                   二. 配置DOS.输入: CACLS "%Syste ...

  4. ASP.NET 5 之 错误诊断和它的中间件们

    ASP.NET5包含若干个新的功能来辅助诊断错误,可以在Startup类中简单的为应用程序错误配置不同的处理程序或者显示关于应用程序的附加信息. 配置错误处理页面 在ASP.NET5中,在Startu ...

  5. com学习(四)2——用 ATL 写第一个组件(vs2003)

    步骤2.1:建立一个解决方案. 步骤2.2:在 该解决方案中,新建一个 vc++ 的 ATL 项目.示例程序叫 Simple2,并选择DLL方式,见图一.图二. 图一.新建 ATL 项目 图二.选择非 ...

  6. 【PL/SQL练习】控制结构

    1.if判断: if-then-end if: SQL> declare v_ename emp.ename%type; v_sal emp.sal%type; begin select ena ...

  7. url 参数的加号变成空格处理

    今天在调试客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了. 解决方法如下: 方法一.修改客户端 将客户端带“+”的参数中的“+”全部替换为‍“2B%”,这 ...

  8. Centos安装arm-linux-gcc等交叉工具链

    1.安装(仅以其中一个为例) 1.1 下载arm-linux-gcc (搜一下,很多的!) 1.2 解压:指定解压到根目录 tar xvzf arm-linux-gcc-4.4.3.tar.gz -C ...

  9. ios开发错误笔记

    今天的奇葩错误,最后解决方式是删除了手机上面的快捷方式,然后再clean,然后再重启了xcode.无语了,xcode也经常出些奇葩问题,真无语啊. ios技术交流群:378501081..期待你加入. ...

  10. Retrofit入门

    1 Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(ScalarsConverterFactory.create()) ...