爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • Smart帮助主页
  • 学习手册

  • 开发手册

    • 通讯协议

    • 交互输出

      • 打印

      • 条码

      • 图表

        • 图表展示
        • ECharts图表
          • 1. 说明
          • 2. 设计明细
          • 3. 程序设计
            • 3.1. 程序初始设置
            • 3.2. 事件设置
          • 4. 运行结果
      • 窗体

      • 手写板

    • 媒体存取

    • 人工智慧

    • 实例运用

目录

ECharts图表

# Smart之EChart图表

# 1. 说明

  范例通过ECharts,来实现图表数据信息的展示。ECharts是一个使用 JavaScript 实现的开源可视化库,可提供直观,交互丰富,可高度个性化定制的数据可视化图表。详情可点击Echarts网站 (opens new window)进行了解。

  通过范例学习,可以学习在Smart中引入ECharts进行图表展示。

# 2. 设计明细

  开启Smart智慧控制平台,分别加入下插图之控件。或者通过点击菜单栏[文件]-[打开项目]选择项目打开该范例。

  ①:TWebBrowser组件,控件名称为WebBrowser1。

  ②:TMemo组件,控件名称为Memo1。

  ③:TPanel组件,控件名称为Panel1。

  ④:TSwitchButton组件,控件名称为SwitchButton1。

  ⑤:TImage组件,控件名称为Image1。

  • Main窗体属性设置

    • Caption:设置窗体标题=EChart图表。
    • ClientHeight:设置窗体客户区高度=670。
    • ClientWidth:设置窗体客户区宽度=1168。
  • ①WebBrowser1属性设置

    • Align:设置控件对齐=True。
  • ②Memo1属性设置

    • Height:设置控件高度=645。
    • Width:设置控件宽度=761。
    • Visible:设置控件是否可见=False。
    • Lines:设置文本内容。点击右侧的[...]或者双击该属性打开编辑器,输入如下内容。
option = {
    tooltip: {
        trigger: 'item',
        formatter: "{a} <br/>{b}: {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        x: 'left',
        data:['直达','营销广告','搜索引擎','邮件营销','联盟广告','视频广告','百度','谷歌','必应','其他']
    },
    series: [
        {
            name:'访问来源',
            type:'pie',
            selectedMode: 'single',
            radius: [0, '30%'],

            label: {
                normal: {
                    position: 'inner'
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data:[
                {value:335, name:'直达', selected:true},
                {value:679, name:'营销广告'},
                {value:1548, name:'搜索引擎'}
            ]
        },
        {
            name:'访问来源',
            type:'pie',
            radius: ['40%', '55%'],
            label: {
                normal: {
                    formatter: '{a|{a}}{abg|}\n{hr|}\n  {b|{b}:}{c}  {per|{d}%}  ',
                    backgroundColor: '#eee',
                    borderColor: '#aaa',
                    borderWidth: 1,
                    borderRadius: 4
                    rich: {
                        a: {
                            color: '#999',
                            lineHeight: 22,
                            align: 'center'
                        },
                        hr: {
                            borderColor: '#aaa',
                            width: '100%',
                            borderWidth: 0.5,
                            height: 0
                        },
                        b: {
                            fontSize: 16,
                            lineHeight: 33
                        },
                        per: {
                            color: '#eee',
                            backgroundColor: '#334455',
                            padding: [2, 4],
                            borderRadius: 2
                        }
                    }
                }
            },
            data:[
                {value:335, name:'直达'},
                {value:310, name:'邮件营销'},
                {value:234, name:'联盟广告'},
                {value:135, name:'视频广告'},
                {value:1048, name:'百度'},
                {value:251, name:'谷歌'},
                {value:147, name:'必应'},
                {value:102, name:'其他'}
            ]
        }
    ]
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
  • ③Panel1属性设置

    • Caption:设置面板显示的内容,此处需清空默认内容。
    • Height:设置控件高度=222。
    • Width:设置控件宽度=185。
    • Color:设置颜色显示的颜色=clWindow。
  • ④SwitchButton1属性设置

    • Height:设置控件高度=50。
    • Width:设置控件宽度=50。
  • ⑤Image1属性设置

    • Height:设置控件高度=50。
    • Width:设置控件宽度=50。
    • Stretch:设置图片拉伸=True。
    • Picture:设置图片。点击Picture属性右侧的[...]按钮,打开文件上传界面,点击[Load...]从文件浏览器中选择对应的图片文件上传,返回该界面下,待显示出图片后点击[OK]加载图片。

# 3. 程序设计

# 3.1. 程序初始设置

  该程序无初始设置。

# 3.2. 事件设置

  • ④SwitchButton1-OnSwitch事件

  当开启或者关闭该按钮时,对应的用于构造图表的设置内容文本框会显示或者关闭。

procedure TMyHandler.SwitchButton1Switch;
// 开启、关闭配置信息
begin
  FThis.Memo1.Visible := FThis.SwitchButton1.IsChecked;
end;
1
2
3
4
5
  • ⑤Image1-OnClick事件

  当点击该按钮时,显示图表。

procedure TMyHandler.Image1Click;
var
 Str:TStringlist;
 strSPMC,strSL,PathStr:string;
Begin
   Str := TStringlist.Create;
       strSPMC := '1,';
        strSL :=  '6,';
   try
    //str.add('< html> ');
    str.add('<html> ');
    str.add('<head> ');
    str.add('    <meta http-equiv="content-type" content="text/html";charset="utf-8"> ');
    //str.add('    <title>ECharts</title> ');
   // str.add('    <-- 引入 echarts.js --> ');
    str.add('    <script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/4.1.0/echarts.min.js"></script> ');
    str.add('</head> ');
    str.add('<body> ');
    //str.add('    <-- 为ECharts准备一个具备大小(宽高)的Dom --> ');
    str.add('    <div id="main" style="width: 1100px;height:600px;"></div> ');
    str.add('    <script type="text/javascript"> ');
    //str.add('        // 基于准备好的dom,初始化echarts实例 ');
    str.add('        var myChart = echarts.init(document.getElementById(''main'')); ');
    str.add(' ');
    str.add('        // 指定图表的配置项和数据 ');
    str.Add(FThis.Memo1.Lines.Text);
    //str.add('        var option = { ');
    //str.add('            title: { ');
    //str.add('                text: ''类别销售对比''');
    //str.add('            }, ');
    //str.add('            tooltip: {}, ');
    //str.add('            legend: { ');
    //str.add('                data:[''销量'']');
    //str.add('            }, ');
    //str.add('            xAxis: { ');
    //str.add('                data: [' + strSPMC + '] ');
    //str.add('            }, ');
    //str.add('            yAxis: {}, ');
    //str.add('            series: [{ ');
    //str.add('                name: ''品类'', ');
    //str.add('                type: ''bar'', ');
    //str.add('                data: [' + strSL + '] ');
    //str.add('            }] ');
    //str.add('        }; ');
    str.add(' ');
    str.add('        // 使用刚指定的配置项和数据显示图表。 ');
    
    str.add('        myChart.setOption(option); ');
    str.add('    </script> ');
    str.add('</body> ');
    str.add('</html>');
  //生成并保存网页
    PathStr := '\index.html';
    str.SaveToFile(PathStr);
  //加载本地网页
    FThis.WebBrowser1.Navigate(PathStr); 
   Finally
   //Except {ErrorMsg / RaiseMsg(Const Error:String)}
     Str.Free;
   End;
End;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

# 4. 运行结果

  通过工具栏保存,将程序保存为 sdb 项目文件。

  使用鼠标点击工具栏运行(Run),测试运行结果。点击右下角的ECharts图标,初次启动可能需要等待一段时间,部分设备在该阶段的运行过程中可能会弹出安全警报提示,在该界面下点击[是(Y)]按钮,打开图表,点击右下角的开关按钮,可开启或者关闭配置文本框的显示。

图表展示
窗体相互传值

← 图表展示 窗体相互传值→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式