当前位置:首页>开发>正文

delphi字符串函数 delphi中几个函数的含义和用法

2023-05-20 23:01:25 互联网 未知 开发

 delphi字符串函数 delphi中几个函数的含义和用法

delphi字符串函数

我写成过程形式了 大体就是你的意思,函数自己改下头加个result就行了

userarray: array of string

procedure TForm1.dostr(a, b: string)
var
i,j:integer
begin
i:=1
while pos(,,A)>0 do //把A拆开把没个值按顺序保存进数组
begin
userarray[i]:=copy(A,1,pos(,,A)-1)
A:=copy(A,pos(,,A) 1,length(A))
inc(i)
end
userarray[i]:=A//把最后一个逗号后面的内容添加到数组

for j:=1 to i do
begin
if pos(,,B)>0 then
begin
userarray[j]:= userarray[j] , copy(B,1,pos(,,B)-1)
B:=copy(B,pos(,,B) 1,length(B))
continue //如果B就多个元素那么就把第一个元素对应加到A的第一个元素上,同时B保存第一个逗号后面的东西
end
if pos(,,B)<=0 then //如果B就一个元素,或者截取的就剩一个元素,那么就把这个元素加到A的对应元素或者后面所有元素上
userarray[j]:= userarray[j] , B
end

end

delphi中几个函数的含义和用法

SetLength: 设定数组长度

SetLength(MyArray, 5) // 设定MyArray数组长度为
High: 传回注脚的最大值,如果参数为数组类型的话,则是返回数组索引的最大值

High(MyArray) // 返回值为
Copy: 字符串截取函数

Copy(substring, 4, 3) // 返回值为‘str’

Delphi函数简介

跳转语句ObjectPascal的跳转语句有if和case两个。if语句if语句会计算一个表达式,并根据计算结果决定程序流程。在上文的例程中,根据ColorDialog.Execute的返回值,决定窗体的背景颜色。if保留字后跟随一个生成Boolean值True或False的表达式。一般用“=”作为关系运算符,比较产生一个布尔型值。当表达式为True时,执行then后的语句。否则执行else后的代码,if语句也可以不含else部分,表达式为False时自动跳到下一行程序。if语句可以嵌套,当使用复合语句表达时,复合语句前后需加上begin…end。else保留字前不能加“;”,而且,编译器会将else语句视为属于最靠近的if语句。必要时,须使用begin…end保留字来强迫else部分属于某一级的if语句。

delphi pos函数

unit Unit1

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls

type
TForm1 = class(TForm)
Memo1: TMemo
Edit1: TEdit
Button1: TButton
procedure FormCreate(Sender: TObject)
procedure FormClose(Sender: TObject var Action: TCloseAction)
procedure Button1Click(Sender: TObject)
private
{ Private declarations }
public
{ Public declarations }
end

var
Form1: TForm1
mylist:Tstringlist//定义一个Tstringlist类型,用来读取memo1的内容。
m:integer//全局变量,用来测定读取到了mylist的第几行。
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject)
var
i:integer
begin
mylist:=Tstringlist.Create//逐行读取memo1的内容
for i:=0 to memo1.Lines.Count-1 do
mylist.Add(memo1.Lines.Strings[i])
m:=0//初始化全局变量m。
end

procedure TForm1.Button1Click(Sender: TObject)
var
n:integer
s:string
begin
edit1.Clear
if m < mylist.Count then//如果未到mylist未尾进行以下步骤。
begin
s:=mylist.Strings[m]//读取一行
n:=pos( ,s)//判断 号的位置
s:=copy(s,n 3,length(s)-(n 2))//复制QQ后面的内容,位置为n 3,长度为length(s)-(n 2)
if n <> 0 then//如果n不为0,既有 号,则进行下面步骤。
edit1.Text:=s
else//如果n为0,既没有 号,则edit1中注明没有。
edit1.Text:=第 inttostr(m 1) 行没有QQ
m:=m 1//m增加1,下次读mylist的下一行
end
else//如果读到了mylist未尾,则进行下面步骤。
begin
m:=0//将m恢复为0,下次点击button1时,从mylist的第一行开始。
edit1.Text:=搜索完毕,点击重新开始!
edit1.SetFocus
end
end

procedure TForm1.FormClose(Sender: TObject var Action: TCloseAction)
begin
mylist.Free//释放mylist。
end

end.

这个函数是我自己写的花了5分钟,在Delhpi7下调试通过!
今晚没时间写COPY了,如果你真的需要就给我发消息吧。

function MyPos(u: string s: string) : integer
var
i,j: integer
begin
Result := 0
for i := 1 to Length(s) do
begin
if s[i] = u[1] then
begin
j := 1
while j <= length(u) do
begin
if u[j] = s[i j-1] then
begin
j := j 1
continue
end
else
break
end//while
if j > Length(u) then
Result := i
else Result := 0
end //if
end //for
end
这个函数是我自己写的花了5分钟,在Delhpi7下调试通过!
今晚没时间写COPY了,如果你真的需要就给我发消息吧。

最新文章