delphi常用函数过程
- 数据类型转化
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;
- 字符串处理
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常用函数过程的更多相关文章
- (转载)delphi 常用函数(数学)
delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Math.trunc 和 round 是 system ...
- Delphi 常用函数(数学函数)round、trunc、ceil和floor
源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...
- NotePad++ delphi/Pascal函数过程列表插件
从cnpack上爬下来的 函数过程列表 点击下载
- 自己写的一些Delphi常用函数
今天在整理以前写过的代码,发现有些函数还是挺实用的,决定将其贴到Blog上,与众多好友一起分享.{*************************************************** ...
- delphi常用函数
直接引用了 http://www.cnblogs.com/doit8791/archive/2012/05/17/2507073.html.
- Delphi 常用函数记录
//判断是否是数字 function IsNumeric(sDestStr: string): Boolean; //简写多余汉字 function SimplifyWord(sWord: strin ...
- delphi常用函数和方法
uses ShellApi, ActiveX, ComObj, ShlObj; function HasText(Text: string; const Values: array of strin ...
- Delphi 常用API 函数
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconic ...
- Delphi 常用API 函数列表
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小AnyPopup 判断屏幕上是否存在任何弹出式窗口ArrangeIconicWi ...
随机推荐
- (转)Log4net 配置类库
原文地址:http://blog.csdn.net/pfe_nova/article/details/20072137 1.单文件日志 对于单文件的日志,封装代码如下: public enum Log ...
- ASP.Net软件工程师基础(三)
1.多态 答: (1)虚方法 public class Child : Person { public void Speach() { base.Speach(); } public virtual ...
- 使用Spring的Property文件存储测试数据 - 添加测试数据
测试数据直接写在Property文件中,如下图: application.properties是系统自动生成,我添加了两个Property文件:HomeTestData.properties和moto ...
- 科普:什么是IPV4?什么是IPV6?
IPv4是Internet Protocol version 4(网际协议版本4)的英文简称,而中文简称为“网协版4”. 目前的全球因特网所采用的协议族是TCP/IP协议族.IP是TCP/IP协议族中 ...
- JavaScript数据结构,队列和栈
在JavaScript中为数组封装了大量的方法,比如:concat,pop,push,unshift,shift,forEach等,下面我将使用JavaScript提供的这些方法,实现队列和栈的操作. ...
- NSInteger 和 int 区别
#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_3 ...
- NOIP2003 加分二叉树
http://www.luogu.org/problem/show?pid=1040 题目描述 设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号. ...
- startUML常用的组合片段
1. 常用的组合片段 片段类型 名称 说明 Opt 选项 包含一个可能发生或可能不发生的序列. 可以在临界中指定序列发生的条件. Alt 抉择 包含一个片段列表,这些片段包含备选消息序列. 在任何场 ...
- ASP.NET MVC 开源项目学习之ProDinner (二)
下面我们来看第二层:Data 这一层相对来说是对Core层的具体实现了. 从命名可以看出来,这和数据库相关. 1.Db.cs CodeFirst模式的本地数据库类,继承了DbContext. pr ...
- HDOJ1010(BFS)
//为什么bfs不行呢,想不通 #include<cstdio>#include<cstring>#include<queue>using namespace st ...