自定HTTP Client客户端
# Smart之自定HTTP Client客户端
- 文档号:S-EQ-DEM-2030
# 1. 功能
采用HTTP协议,通过HTTP访问数据服务器的功能,该示例需与Smart之HTTP Server服务器配合使用。在使用本范例前请先启动HTTP Server服务器的范例。
通过本范例学习,您可以掌握Smart智慧控制平台访问HTTP服务器的功能。
# 2. 设计明细
开启Smart智慧控制平台,分别加入下插图之控件。或者通过点击菜单栏[文件]
-[打开项目]
选择范例项目文件来打开该范例。
①:TImage组件,控件名称为Image1
。
②:TLabel组件,控件名称为Label2
。
③:TLabel组件,控件名称为Label1
。
④:TEdit组件,控件名称为EditHost
。
⑤:TLabel组件,控件名称为Label3
。
⑥:TEdit组件,控件名称为EditPort
。
⑦:TImage组件,控件名称为ImageSend
。
⑧:TMemo组件,控件名称为Memo1
。
⑨:TLabel组件,控件名称为Label4
。
⑩:TSwitchButton组件,控件名称为SwitchButton1
。
(11):TMemo组件,控件名称为Memo2
。
Main窗体属性设置
BorderStyle
:设置边界样式=bsDialog
。Caption
:设置窗体显示的标题=自定HTTP Client客户端
。ClientHeight
:设置客户区窗体的高度=438
。ClientWidth
:设置窗体客户区的宽度=465
。
①Image1属性设置
Align
:设置控件对齐方式=alClient
。Stretch
:设置图片拉伸适应于控件。Picture
:设置图片。点击Picture
属性右侧的[...]
按钮,打开文件上传界面,点击[Load...]
从文件浏览器中选择对应的图片文件上传,返回该界面下,待显示出图片后点击[OK]
加载图片。
③Label2属性设置
Caption
:设置标签内容=地址:
。Font
:设置字体,双击该属性或者点击属性右侧的[...]
以打开字体设置界面。
④EditHost属性设置
Text
:设置文本此处设置服务器的地址,例如192.168.0.110
。Name
:设置控件名称=EditHost
。Font
:设置字体。双击该属性或者点击属性右侧的[...]
以打开字体设置界面。
⑤Label3属性设置
Caption
:设置标签内容=端口:
。Font
:设置字体,双击该属性或者点击属性右侧的[...]
以打开字体设置界面。
⑥EditPort属性设置
Text
:设置文本此处设置服务器的端口号,例如8806
。Name
:设置控件名称=EditPort
。NumbersOnly
:设置只允许输入数字=True
。Font
:设置字体。双击该属性或者点击属性右侧的[...]
以打开字体设置界面。
⑦ImageSend属性设置
Height
:设置控件高度=32
。Width
:设置控件宽度=32
。Stretch
:设置图片拉伸=True
。Name
:设置控件名称为ImageSend
。Picture
:设置图片。点击Picture
属性右侧的[...]
按钮,打开文件上传界面,点击[Load...]
从文件浏览器中选择对应的图片文件上传,返回该界面下,待显示出图片后点击[OK]
加载图片。
⑧Memo1属性设置
Lines
:设置内容,双击该属性或者点击右侧的[...]
打开编辑器,输入如下内容。
⑨Label4属性设置
Caption
:设置标签内容=日志
。Font
:设置字体,双击该属性或者点击属性右侧的[...]
以打开字体设置界面。
⑩SwitchButton1属性设置
Height
:设置控件高度=56
。Width
:设置控件宽度=56
。Stretch
:设置图片拉伸=True
。SwitchOff
:设置处于关闭状态时显示的图片。点击属性右侧的[...]
按钮,打开文件上传界面,点击[Load...]
从文件浏览器中选择对应的图片文件上传,返回该界面下,待显示出图片后点击[OK]
加载图片。
SwitchOn
:设置处于开启状态时显示的图片。点击属性右侧的[...]
按钮,打开文件上传界面,点击[Load...]
从文件浏览器中选择对应的图片文件上传,返回该界面下,待显示出图片后点击[OK]
加载图片。
# 3. 程序设计
# 3.1. 程序初始化设置
该程序无初始化设置。
# 3.2. 事件设置
- ⑦ImageSend-OnClick事件
点击以发送内容。
procedure TMyHandler.ImageSendClick;
//点击以将SQL传递至HTTP服务器中
var
v,vSQL:string;
begin
vSQL := FThis.Memo1.Lines.Text;
v:=paxfunc.NetHttpPost('http://' + FThis.EditHost.Text + ':' + FThis.EditPort.Text + '/opensql',vSQL,'text/plain','application/json',nil);
if v <> '' then
//返回的结果传递
FThis.Memo2.Lines.Add(paxfunc.urlDecode(v));
end;
2
3
4
5
6
7
8
9
10
11
- ⑩SwitchButton1-OnSwitch事件
点击开启或关闭日志框的显示。
procedure TMyHandler.SwitchButton1Switch;
//显示日志
begin
FThis.Memo2.Visible := FThis.SwitchButton1.IsChecked;
end;
2
3
4
5
# 4. 运行结果
通过工具栏保存,将程序保存为 sdb 项目文件。
使用鼠标点击工具栏运行(Run),测试运行结果。在服务器端设置端口号,点击启动按钮,下方显示HTTP服务 已启动
。在客户端处填写服务器的地址端口号信息,填写查询的SQL内容,点击右侧的发送按钮,下方日志处会接收到查询的结果集。服务端的数据表格也会显示查询的结果。
