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 ...
随机推荐
- winform异步进度条LongTime
winform异步进度条LongTime,运用到回调函数 定义事件的参数类: namespace LongTime.Business { // 定义事件的参数类 public class ValueE ...
- Android开发-API指南-AIDL
Android Interface Definition Language (AIDL) 英文原文:http://developer.android.com/guide/components/aidl ...
- js数据结构与算法存储结构
数据结构(程序设计=数据结构+算法) 数据结构就是关系,没错,就是数据元素相互之间存在的一种或多种特定关系的集合. 传统上,我们把数据结构分为逻辑结构和物理结构. 逻辑结构:是指数据对象中数据元素之间 ...
- 解决spawn-fcgi child exited with: 1
spawn-fcgi -d /data/web/ad/ -f /data/web/ad/code.py -a -P /data/openresty_81/nginx/pid/ad.pid 出错的时候请 ...
- [drp 5] pageModel的建立,实现分页查询
导读:之前做的分页,一直都是用的easy--UI分页,然后没有系统的整理过,就是知道传几个参数,然后云云.这次,从头到尾总结一下,了了我的这桩心愿.人事系统的重定向工作,一直刺激着我一定要总结总结这个 ...
- CLRS: online maximum (n,k)algorithm
//the first k elements interviewed and rejected, //for the latter n-k elements ,if value >max,re ...
- CSS常用的属性命名
页头:header 如:#header{属性:属性值;}或.header{属性:属性值;},也许你需要了解class与id区别及用法 登录条:loginBar 标志:logo ...
- RGB颜色空间与YCbCr颜色空间的互转
在人脸检测中会用到YCbCr颜色空间,因此就要进行RGB与YCbCr颜色空间的转换.在下面的公式中RGB和YCbCr各分量的值的范围均为0-255. RGB转到YCbCr: float y= (col ...
- IE 不兼容的几个js问题及解决方法1
IE 不兼容的几个js问题及解决方法 1 Table的问题 在动态新增tr或者td时,createElecment() 一般用appendChild();都不生效,解决办法是用新增tbody, 如 ...
- 从Git仓库中恢复已删除的分支、文件或丢失的commit
亲测可用 因为自己 commit 并且 push 后 因为冲突 提交不了,不小心做了 rebase 代码被 覆盖 用以下命令 还原: 查看所有日志 并记下 hash 值 git reflog 然后用: ...