Delphi总结使用TStrings的一些技巧

先把要讨论的几个属性列出来:
1、CommaText
2、Delimiter & DelimitedText
3、Names & Values & ValueFromIndex 
先看第一个:CommaText。怎么用呢?用代码说话:
const
  constr :String = 'aaa,bbb,ccc,ddd';
var
  strs :TStrings;
  i :Integer;
begin
  strs := TStringList.Create;
  strs.CommaText := constr;
  for i := 0 to Strs.Count-1 do
    ShowMessage(Strs[i]);
end;
执行了这段代码后,可以看到ShowMessage显示出来的分别是:aaa bbb ccc ddd。
也就是说,strs.CommaText := constr这一句的作用,就是把一个字符串以'',''为分割符,分段添加到TStrings中。
那么如果不是以'',''来分割,又该怎么做呢?现在看第二个例子。使用Delimiter和DelimitedText。
const
  constr :String = 'aaa\bbb\ccc\ddd';
var
  strs :TStrings;
  i :Integer;
begin
  strs := TStringList.Create;
  strs.Delimiter := '\';
  strs.DelimitedText := constr;
  for i := 0 to Strs.Count-1 do
    ShowMessage(Strs[i]);
end;
可以看到, 显示的效果和第一个例子是一模一样的。解释一下:
Delimiter为分隔符,默认为:'',''。DelimitedText就是按Delimiter为分隔符的一个串,得到赋值后回把这个字符串按Delimiter的字符添加到TStrings中。
说到这里,有想起一个属性,QuoteChar。其默认值为:''"''(不包括单引号)
有何用呢?看例子:
const
  constr :String = '"aaa"\"bbb"\"ccc"\"ddd"';
var
  strs :TStrings;
  i :Integer;
begin
  strs := TStringList.Create;
  strs.Delimiter := '\';
  strs.DelimitedText := constr;
  for i := 0 to Strs.Count-1 do
    ShowMessage(Strs[i]);
end;
显示出来的仍然是aaa bbb ccc ddd。为什么不是:"aaa" "bbb" "ccc" "ddd"呢?
再来看一个例子:
const
  constr :String = '|aaa|\|bbb|\|ccc|\|ddd|';
var
  strs :TStrings;
  i :Integer;
begin
  strs := TStringList.Create;
  strs.Delimiter := '\';
  strs.QuoteChar := '|';
  strs.DelimitedText := constr;
  for i := 0 to Strs.Count-1 do
    ShowMessage(Strs[i]);
end;
显示出来的又是aaa bbb ccc ddd。对比一下,应该不难明白吧?这个就不多说了,用得也不多。
但是还要多说一句,当Delimiter为:'',''而QuoteChar为:''"''时,DelimitedText和CommaText是同等的。
最后要说的三个是:Names & Values & ValueFromIndex。
看看下面的代码:
const
  constr :String = '0=aaa,1=bbb,2=ccc,3=ddd';
var
  strs :TStrings;
  i :Integer;
begin
  strs := TStringList.Create;
  strs.CommaText := constr;
  for i := 0 to strs.Count-1 do
  begin
    ShowMessage(strs.Names[i]);
    ShowMessage(strs.Values[strs.Names[i]]);
    ShowMessage(strs.ValueFromIndex[i]);
  end;
end;
通过这个例子不难看出:
这个时候strs中的内容是:
0=aaa
1=bbb
2=ccc
3=ddd
而Names中则是:
0
1
2
3
在Values中则是:
aaa
bbb
ccc
ddd
这几个属性用来处理ini文件是非常好用的。
另外说一句,在Delphi6下似乎没有ValueFromIndex这个属性

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Delphi 语言中,您可以使用网络协议组件(如 indy)来开发 POST 接口。 下面是一个使用 Indy 组件发送 POST 请求的示例代码: ``` uses IdHTTP; var http: TIdHTTP; response: string; parameters: TStringList; begin http := TIdHTTP.Create(nil); try parameters := TStringList.Create; try parameters.Add('param1=value1'); parameters.Add('param2=value2'); response := http.Post('http://www.example.com/post-endpoint', parameters); finally parameters.Free; end; finally http.Free; end; end; ``` 在这里,我们创建了一个 TIdHTTP 对象,然后使用 TStringList 对象来存储参数。 然后,我们使用 TIdHTTP 对象的 Post 方法发送 POST 请求并获取响应。 请注意,这只是示例代码,您需要根据实际情况调整代码以适应您的 POST 接口。 ### 回答2: Delphi是一种强大的编程语言,可以用于开发各种类型的应用程序,包括Web应用程序。使用Delphi开发POST接口可以轻松地处理来自客户端的POST请求,并提供相应的响应。 首先,我们可以使用Delphi中的THTTPServer组件来创建一个简单的Web服务器,该服务器可以处理客户端的请求。通过设置THTTPServer组件的相关属性,我们可以指定服务器的端口号和绑定的IP地址。 然后,我们可以使用Delphi的函数或过程来处理来自客户端的POST请求。首先,我们需要解析客户端发送的HTTP请求,获取POST请求中的参数和数据。Delphi提供了一些内置的函数和类,如TStringList和TIdHTTP,可以帮助我们轻松地解析HTTP请求。 接下来,我们可以根据需要执行相应的操作,如处理POST请求中的参数和数据,执行一些业务逻辑,然后生成响应数据。最常见的方式是将响应数据以JSON的格式返回给客户端。 最后,我们可以使用Delphi中的TIdHTTPServer组件或其他相应的组件来发送响应数据给客户端。通过设置TIdHTTPServer组件的相关属性,我们可以指定响应的HTTP状态码和相应的报文头。 在编写Delphi代码之前,我们需要了解POST请求的格式和API接口的具体要求。根据API文档提供的说明,我们可以使用Delphi来处理POST请求,并提供相应的数据。 总之,使用Delphi语言开发POST接口非常方便。通过使用Delphi提供的各种组件和函数,我们可以轻松地处理POST请求,提供API的服务,并返回相应的响应数据给客户端。 ### 回答3: Delphi是一种强类型的编程语言,可以用来开发各种类型的应用程序,包括Web应用程序。在Delphi中,我们可以使用Indy组件库来创建和管理HTTP请求,从而开发一个可以进行POST请求的接口。 首先,我们需要在Delphi中安装Indy组件库。在安装完成后,我们可以在Component Palette中找到Indy组件,并在需要的地方进行使用。 接下来,我们需要创建一个用于处理POST请求的接口。可以在项目中创建一个新的单元或者类来实现接口的功能。在该单元或类中,我们可以使用TIdHTTP组件来发送POST请求,并设置请求的URL和参数。 例如,我们可以创建一个名为TPostInterface的类来实现POST接口,其中包含一个名为SendPostRequest的方法,如下所示: ```delphi unit PostInterface; interface uses SysUtils, Classes, IdHTTP; type TPostInterface = class public function SendPostRequest(const AURL: string; const AParams: TStrings): string; end; implementation { TPostInterface } function TPostInterface.SendPostRequest(const AURL: string; const AParams: TStrings): string; var HTTP: TIdHTTP; begin HTTP := TIdHTTP.Create(nil); try Result := HTTP.Post(AURL, AParams); finally HTTP.Free; end; end; end. ``` 在上述代码中,我们使用TStrings类型的参数来传递POST请求的参数。在调用SendPostRequest方法时,需要设置好目标URL和参数列表。该方法会返回一个字符串结果,即从服务器接收到的响应内容。 通过以上步骤,我们可以使用Delphi语言开发一个可以进行POST请求的接口。在实际应用中,我们可以根据具体需求来扩展和优化这个接口,以满足项目的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值