VB环境下MSChart控件的应用与研究
vb的chart用法
vb的chart用法
一、概述
VB是一种常用的编程语言,其内置了图表控件,可以方便地创建各种图表。Chart控件可用于数据可视化,展示数据之间的关系和趋势。本篇文档将介绍VB中Chart控件的用法。
二、Chart控件的属性
1. Chart对象:Chart控件的根对象,代表整个图表。
2. ChartType:设置图表类型,如柱形图、折线图、饼图等。
3. ChartTitle:设置图表标题。
4. Series1~SeriesN:设置系列数据,用于绘制图表。
5. XAxisTitle、YAxisTitle:设置X轴和Y轴的标题。
6. Legend:设置图例的位置和显示方式。
7. PlotValues:绘制数据点或趋势线。
三、Chart控件的方法
1. AddSeries方法:添加系列数据。
2. Series.DataLabels.Show方法:显示数据标签。
3. Series.MarkerStyle属性:设置标记样式。
4. Chart.Export方法:导出图表为图片或PDF文件。
5. Chart.Refresh方法:刷新图表数据。
四、使用Chart控件的步骤
1. 添加Chart控件到窗体中。
2. 设置Chart对象的属性,如ChartType、XAxisTitle、YAxisTitle等。
3. 添加系列数据,可以使用DataGridView或数据库等数据源获取数据。
4. 调用AddSeries方法添加系列数据,并设置系列名称和颜色等属性。
5. 绘制数据点或趋势线,可以使用PlotValues属性。
MSChart控件的属性与属性对话框
MSChart控件的属性与属性对话框
t控件的属性
tType属性:用于设置或返回图表类型,MSChart控件图表类型与对应ChartType属性值如表8.7所示。如,ChartType=维直方图,ChartType=14则显示饼图。
表8.7 MSChart图表类型
格)属性
nt属性:用于表示图表中总格(行)数。例如:
控件显示二维数组Array_2(M,N),则总格(行)数RowCount=M。
unt=5,表示有5格(行)数据。
控件显示一维数组Array_1(N)的元素值,则总行数RowCount=1。
性:用于表示图表中某格(行)的序号。
控件显示二维数组Array_2(M,N),则图表中第I格的序号Row=I,当Row=1表示第1格(行)数据。
el属性:用于表示格(行)标签名,默认值为Ri。用户可以修改其值,如改为无锡地区人数、南京地区人数等。
lCount属性:用于表示格(行)标签数,MSChart控件允许设置多个格(行)标签。通常取值为1,当需要用2行以上的才修改此属性。
elIndex属性:用于表示格(行)标签序号,用户通过设置不同格(行)标签序号选择不同格(行)标签进行编辑。
性
ount属性:用于表示图表中每格(行)中的列数,即数组中列数N。如设置ColumnCount=3,则每格(行)中有3列,图格用3个矩形或3个扇形表示。
属性:用于表示图表中某格(行)某列的列序号,例如:
umn=1,表示图表中第1格(行)第1列。
Label属性:用于表示图表列标签名,默认为Ci。
LabelCount属性:用于表示图表某格中的列标签数。
vb.netMschart控件简单实例
Mschart控件简单实例
这几天公司制造部门所使用的程序中需要添加曲线图显示功能,因为以前没有做过这方面的开发,所以一直在网上找实例以便快速掌握技巧,将曲线图功能尽快做出来,通过google的搜寻,很失望,绝大部分MsChart控件方面的实例都是基于C++的,后来经过自己的慢慢摸索及参考C++实例方面的语法,然后通过自己的实践,掌握了部份功能,故将以下实例贴出给初次接触此控件的朋友参考.
原图见下链接
/photo/P-
LYisX4mF8jqQDUD68EmA==/1694197884822258957.jpg 所需环境:
Visual Studio 2008
.net平台升级至3.5 sp1
Mschart 控件、MSChart_VisualStudioAddOn、MSChartLP_chs
实例
首先在 2008中新建一个项目,然后新增一个名为form1的表单,将工具栏上的chart控件拖动到form1上,调整好具体位置。再将工具栏上的timer控件拖动到form1上,并设置间隔时间为1分钟或其它你觉得比较合适的时间,此时表单上的控件都已经完成,然后添加如下代码:
Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
Dim random As New Random()
Dim pointIndex As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MSCHART的使用之vb中利用MSCHART控件画二维散点图
MSCHART的使用之vb中利用MSCHART控件画二维散点图
2008年03月31日星期一 16:12
近日在学习傅立叶分解时,写了个小程序来验证自己对傅立叶分解的一些理解,为了更生动直观就需要画一些图形,以前总是用picture控件来实现,后来在网上看到VB中有个MSCHART控件可以来画很多类型的图形,就学习了一下,由于是第一次搞,所以按习惯在网上搜索相关帖子,发现没有一个很完整的关于MSCHART中二维散点图的例子,很是郁闷,经过我自己几天的努力,终于解决了这个问题.现以一个具体的例子来说明,希望我的这个例子能对大家有所帮助.这个例子是一个论坛上一位网友提出来的,但是这个问题一直到现在还没有人回答,我权当在这里回答一下吧.问题如下:
如何用VB画出我附件中的图,请各位知道的高手指点下,小弟感激不尽!
最好能根据我给的数据写出具体的源代码,或者类似的也可以。再次感谢!
上面是这个帖子的原始图形
根据此我写了下面的代码
Private Sub Form_Load()
'对于二维散点图来说,第一列代表了X轴坐标,第二列代表了Y轴坐标
'因此在定义二维数据时,第二维定义为0到1,第一维代表了第几点数据,可根据数据点数变化
'下面以数据点数有21点为列子
Dim MyData(20, 1) As Double
'-----x轴坐标值-----Y轴坐标值----------
MyData(0, 0) = 0: MyData(0, 1) = 180 '本句代表了:第一点数据的X轴坐标为0,Y轴坐标为180
MyData(1, 0) = 6: MyData(1, 1) = 60
MSChart
维普资讯 http://www.cqvip.com
MS h r 表控 件 在数 据监 控 系统 中的 应用 C at图
中 选 择 Mi ootC atC n rl6 0 0L B) c s f h r o to . ( E D 即 r
表时 . 是将 控件 绑定到 指定 的数据库的记 录集上 . 因
此 首 先 要 创 建 一 个 可 供 使 用 的 数 据 库 。 本 文 中 的 A cs ces数 据 库 是 利 用 V 中 自带 的 一 个 插 件 程 序 . B
MS h r 控 件 以图表 显示监控 系统 中 的数据 。 C at
关键词 : C at图表控 件 ; s a B s ; MS h r Viul a i 串行通信 ; D c A O
MS h r 控 件 的 常 用 属 性 如 下 : C at
1 引 言
计 算 机 与 通 信 的 紧 密 结 合 极 大 地 推 动 了工 业 自 动 化 的 进 程 。人 们 坐 在 计 算 机 前 就 可 以实 现 对远 端 设 备 的 集 中 监 控 . 而 提 高 了 系 统 的 稳 定 性 和 可 靠 从 性 。 VB具 有 面 向 对 象 的 设 计 方 法 . 好 的用 户 界 而 友 面 , 单 方 便 的 串 行 通 信 和 实 用 性 强 等 优 点 . 需 借 简 无 用 其 他 语 言 就 可 以 开 发 出 优 秀 的监 控 系 统 软 件 。 在 煤 矿 井 下 . 气 设 备 的 安 全 运 行 是 生 产 的 重 电 要 环 节 。 目前 . 气 设 备 的 保 护 、 控 技 术 单 一 、 电 监 分 散 , 便 于 动 态 管 理 。 了 使 管 理 及 维 护 人 员 能 及 时 不 为
巧用 VB6 之 Data Report 实现图片(Picture)、图表(MsChart)的打印及预览
巧用 VB6 之 Data Report 实现图片(Picture)、图表(MsChart)的打印及预览
VB 6.0 专业版和企业版中的数据报表设计器(Data Report Designer) 是用来实现打印数据库数据的有力工具。在通常状况下, DataReport 的数据源(DataSource)应该是由数据库(DataBase)的基本表(Table)、视图(View)或查询(Query)等生成的,更确切的说该数据源应是一个ADODB.Recordset (二维表),而且ADO 允许生成并打开任意无数据库实体的记录集。这样就可以为DataReport 随便设置一个数据源,用其实现实现图片打印的预览。首先,新建"标准Exe"工程,再为工程添加"Data Report" 。设置"工程属性"的启动对象为"DataReport"。先使DataReport "显示报表标头/注脚"(右鼠键快捷菜单),再绘制一个RptImage 控件到"报表标头"区域。然后,就可以编写程序代码了:
Private DataReport_Initialize()
'创建并打开一个任意的记录集,并将其设置为 DataReport 的数据源
Dim adoRecordset As New ADODB.Recordset
adoRecordset.Fields.Append "X", adVariant
adoRecordset.Open
Set Me.DataSource = adoRecordset
Const ErrorX = 400 '打印机横向误差
微软图表控件MsChart使用指南
微软图表控件MsChart使用指南
昨天在网上看到了微软发布了.NET 3.5框架下的图表控件,第一时间抓下来看了一下,发觉功能很强劲,基本上能想到的图表都可以使用它绘制出来,给图形统计和报表图形显示提供了很好的解决办法,同时支持Web和WinForm两种方式,不过缺点也比较明显,只能在最新的开发环境中使用,需要.Net 3.5 Sp1以及VS 2008的开发环境。
下面是下载地址:
mework 3.5)–
1.包含英文版,中文版。上面提供的链接是中文版的,可以更
改为英文版。
2.语言包:Microsoft Chart Controls for Microsoft .NET
Framework 3.5 Language Pack
3.Microsoft .NET Framework 3.5 的Microsoft 图表控
件的语言包,包含23中语言。
4.Microsoft Chart Controls Add-on for Microsoft Visu
al Studio 2008–
这个只有英文的,没找到中文的。
5.文档(Microsoft Chart Controls for .NET Framewor
k Documentation)–
这个只有英文的,没找到中文的。
6.WinForm 和的例子(Samples Environment
for Microsoft Chart Controls)–
这个只有英文的,没找到英文的。
7.Demo 下载:/msch
art
下了它的示例程序后,运行了一下,非常的强大,可以支持各种各样的图形显示,常见的:点状图、饼图、柱状图、曲线图、面积图、排列图等等,同时也支持3D样式的图表显示,不过我觉得最有用的功能还是支持图形上各个点的属性操作,它可以定义图形上各个点、标签、图形的提示信息(Tooltip)以及超级链接、Jav ascript动作等,而不是像其它图形类库仅生成一幅图片而已,通过这些,加上微软自己的Ajax框架,可以建立一个可以互动的图形统计报表了。
VB6.0中通过MSChart控件调用数据库
《VB6.0中通过MSChart控件调用数据库》
VB6.0中的MSChart控件是一个功能强大的高级图表工具,拥有丰富的图表绘制功能,可显示二维和三维的棒图、区域图、线形图、饼图等多种常用图表。近日我为了在双击图表的某个区域时将与该区域相对应的数据库的内容在DataGrid控件上显示出来,遇到了许多困难,最后用一个自定义的变量SelectSeries解决了问题,具体方法如下:设数据库名称为“学生信息”,有一Access表“学生成绩”,其内容为一个班学生的考试成绩,包括学号、姓名、成绩3个字段,成绩字段格式是字符型,值为“优”、“良”、“中”、“差”中的一个。
窗体Form1包括一个MSChart控件McScore,类型为二维饼图,用于显示每种成绩的学生数;一个ADO控件AdScore用于连接数据库;一个DataGrid控件DgScore用于以表格形式显示数据库内容。
工作过程为:双击饼图的某个区域,则DgScore显示相应成绩的学生名单。
代码如下:
Option Explicit
Dim SelectedSeries as Integer ′自定义变量
Dim Rs() as String ′提取记录集用的字符串数组
Private Sub Form_Load()
′设定DataGrid控件的数据源
DgScore.DataSource=″AdScore″
′设定ADO控件的连接字串和初始的记录源,即显示内容
AdScore.ConnectString=″Provider=Microsoft.OLEDB.3.51;Persist_Security Info=False;Data Source=学生信息″
在vb中使用mschart来绘制excel图表
在Visual Basic中使用MSChart控件绘制Excel图表*依皮提哈尔·穆罕买提1,那斯尔江·吐尔逊1,热依曼·吐尔逊2
(1.新疆大学数学与系统科学学院,新疆,乌鲁木齐,830046;
2. 新疆大学信息工程学院,新疆,乌鲁木齐,830046)
摘要:本文首先介绍如何使用Visual Basic中的MSChart控件,然后通过实例深入探讨利用MSChart控件绘制Excel数据源图表的方法。
关键词:Visual Basic;MSChart控件;Microsoft Excel数据表;图表
中图分类号:文献标识码:A
Using MSChart Control Drawing Excel Chart in Visual Basic Iptihar.Muhammat1,Nasirjan.Tursun1,Reyima.Tursun
(1.Mathematics and System Science Institute of Xinjiang University, Urumqi, Xinjiang, 830046)
(2. Information Engineering Institute of Xinjiang University, Urumqi, Xinjiang, 830046)
Abstract :This article discusses how to use the MSChart control and how that is used in the VB project to drawing Microsoft® Excel charts.
Microsoft Visual Studio 2010中MSChart控件用于仿真曲线样例
MSchart控件在C++6.0和Microsoft visual studio 2005中使用都需要额外安装控件,但是Microsoft visual studio 2010中已经内含此控件,所以此教程用于Microsoft visual studio 2010版本使用。
1:新建MFC工程,此处可以选择对话框程序,如图1所示,其余设置可默认。
图1
2:MSChart控件位于工具箱下端的常规控件选项卡中,若是工具箱面板中未找到,可以右击工具箱→选择项→COM组件中选择Microsoft Chart Control,version5.0。控件位置及图标如图2所示。
注:此处除Microsoft Chart Control,version5.0外,还有Microsoft Chart Control 6.0,所使用的是version5.0,但添加的类却是6.0,对于此处差别还不太清楚。
图2
3:添加Microsoft Chart Control控件到对话框程序中,如图3所示。
图3
4:点击Microsoft Chart Control控件,右端出现属性窗口,如图4所示,在此处可以对于此控件进行设置,下面对于各个控件属性含义进行具体讲解。
图4
更改属性页内属性,属性页位于属性列表上端快捷键最后一位,属性页如图5所示。
图5
属性列表主要包括以下几个方面的设置:
Chart主要包括对于图表类型的选择,此例中主要使用的是Line(2D),选项Show legend 为显示图例,在此例中需要进行勾选。设置如图6所示。
VB控件1
《 VB6.0中通过MSChart控件调用数据库》
VB6.0中的MSChart控件是一个功能强大的高级图表工具,拥有丰富的图表绘制功能,可显示二维和三维的棒图、区域图、线形图、饼图等多种常用图表。近日我为了在双击图表的某个区域时将与该区域相对应的数据库的内容在DataGrid控件上显示出来,遇到了许多困难,最后用一个自定义的变量SelectSeries解决了问题,具体方法如下:
设数据库名称为“学生信息”,有一Access表“学生成绩”,其内容为一个班学生的考试成绩,包括学号、姓名、成绩3个字段,成绩字段格式是字符型,值为“优”、“良”、“中”、“差”中的一个。
窗体Form1包括一个MSChart控件McScore,类型为二维饼图,用于显示每种成绩的学生数;一个ADO控件AdScore用于连接数据库;一个DataGrid控件DgScore用于以表格形式显示数据库内容。
工作过程为:双击饼图的某个区域,则DgScore显示相应成绩的学生名单。
代码如下:
Option Explicit
Dim SelectedSeries as Integer ′自定义变量
Dim Rs() as String ′提取记录集用的字符串数组
Private Sub Form_Load()
′设定DataGrid控件的数据源
DgScore.DataSource=″AdScore″
′设定ADO控件的连接字串和初始的记录源,即显示内容
AdScore.ConnectString=″Provider=Microsoft.OLEDB.3.51;Persist_Securit y Info=False;Data Source=学生信息″
mschart控件使用详解
一.数据源
说到绘制图表,可能很多人的第一反应除了是图表呈现的方式外,更关心的便是数据如何添加,记得在很多年前,哪时要绘制一个数据曲线图,一直找不到好的呈现方式,后来使用了SVG的绘图模式,不过在添加数据的时候可谓吃尽了苦头,毕竟,SVG只是一种描述语言,要动态的实现一个图表的绘制,是非常困难的.对于微软的图表控件,数据添加是一件很简单的方式,它支持多种数据添加方式,如:
·可以在图表的设计界面,在属性设置窗口中的Series属性下的Points中添加需要的数据.
·可以在图表的设计界面中,在属性中绑定一个数据源.
·可以在后台代码中,动态添加数据.
·可以在后台代码中设置一个或多个数据源,直接绑定到图表中.
在此处,我只着重讲解一下第3,4两点.对于第3点,相对来说比较简单,在后台代码中,找到要添加代码的Series,通过它下面Points的Add、AddXY、AddY等方法,即可以实现数据的添加.例如:
1. double t;
2. for(t = 0; t <= (2.5 * Math.PI); t += Math.PI/6)
3. {
4. double ch1 = Math.Sin(t);
5. double ch2 = Math.Sin(t-Math.PI/2);
6. Chart1.Series["Channel 1"].Points.AddXY(t, ch1);
7. Chart1.Series["Channel 2"].Points.AddXY(t, ch2);
8. }
复制代码
注:代码摘自微软的例子,上例中,Chart1为图表的名字,Channel 1、Channel 2分别表示两个Series数据序列)
MSchart图表控件在VisualStudio2008中的应用
msh r 在 Viu lSu i 0 8中 环 境 下 的 安 装 。 e at sa tdo2 0
摘 要 : 实 际的 软 件 项 目工程 开 发 中, 常会 遇 到 复 杂 的 数 据 , 在 经 用直 观 的 图表 方 式表 达 的情 况 , 以 为 了 方便 而直 观 的表 示数 据 , 所 引
入 了 Ms a 控 件 。该控 件 可 以加 载 到 vsa s do2 0 c r h t i l t i 0 8中使 用 , 以 方便 的 生 成各 种 2 3 的 图表 。 u u 可 D、D 关键 词 : 图表 控 件 ; S h  ̄; S 0 8 三 角函 数 ; 户界 面 M ca V 2 0 ; 用 中 图分 类 号 : P 1 T 31 文 献标 识 码 : A 文 章 编号 : 0 9 3 4 (0 00 — 8 6 0 1 0 — 0 42 1 )4 0 6 — 2
K e wor s hatc to ; S h  ̄;VS 08 y d :c r on r l M c a 20
1软 件 介 绍
V sa Sui 20 i l tdo 0 8是 微 软旗 下 为 程 序 开发 人 员 准 备 的 功 能强 大 、 持 完善 的 多兼 容 性 的程 序 开 发 平 台 . Mshn图 表 控 件正 u 支 而 ea
VB常用控件
VB.NET程序设计——常用控件的介绍
第7页
二. MSChart控件的主要属性
1.RowCount属性:返回或设置与图表关联的数据网格 的每个列中的行数。(虚拟数据网格可由 DataGrid 对 象表示。) 2.ColumnCount属性:返回或设置与图表关联的当前
数据网格中的列数。
说明: ✓ 一旦在窗体上放置了MSChart控件,则自动生成一个
步骤一:在【工具箱 】上点击右键,选中右键菜单的 【选择项】,将弹出【选择工具箱项】对话框,选择 【COM组件】选项卡,如下图。
VB.NET程序设计——常用控件的介绍
第4页
步骤二:点击【浏览】按钮,在如下图的路径中找到 【MSCHRT20.OCX】,然后点击【打开】按钮。
VB.NET程序设计——常用控件的介绍
第5页
步骤三:此时在【选择工具箱】的【COM组件】中就 出现了“microsoft chart control,version 6.0(OLEDB)”组件,将其勾选上后点击【确定】按钮。
VB.NET程序设计——常用控件的介绍
第6页
此时在工具箱中就有了microsoft chart control, version 6.0(OLEDB)这个控件。
含图表将显示的值。
VB.NET程序设计——常用控件的介绍
第12页
TreeviBiblioteka Baiduw控件
VB mschart控件的使用
一、先看个小例子
Private Sub Form_Load()
Dim MyData(20, 1) As Double
'-----x轴坐标值-----Y轴坐标值----------
MyData(0, 0) = 0: MyData(0, 1) = 180 '本句代表了:第一点数据的X轴坐标为0,Y轴坐标为180
MyData(1, 0) = 6: MyData(1, 1) = 60
MyData(2, 0) = 8: MyData(2, 1) = 60
MyData(3, 0) = 11: MyData(3, 1) = 0
MyData(4, 0) = 16: MyData(4, 1) = 0
MyData(5, 0) = 19: MyData(5, 1) = 60
MyData(6, 0) = 25.8: MyData(6, 1) = 60
MyData(7, 0) = 28.8: MyData(7, 1) = 0
MyData(8, 0) = 31.8: MyData(8, 1) = 60
MyData(9, 0) = 40.3: MyData(9, 1) = 60
MyData(10, 0) = 43.3: MyData(10, 1) = 0
MyData(11, 0) = 93.3: MyData(11, 1) = 0
MyData(12, 0) = 96.3: MyData(12, 1) = 60
MyData(13, 0) = 99.3: MyData(13, 1) = 0
MyData(14, 0) = 105.3: MyData(14, 1) = 0
VBMSChart控件
VB MSChart 控件
以图形方式显示数据的图表。
语法
MSChart
说明
MSChart控件支持以下特性:
真三维表示。
支持所有主要的图表类型。
数据网格成员支持随机数据,数据数组。
MSChart控件与数据网格(DataGrid对象)相关连。这种数据网格是存有已图表化数据的表。数据网格中也包括用于在图表中标识系列和分类的标签。图表应用程序的设计人员通过从表单或数组中插入或输入数据,来给数据网格填充信
息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 MSChart控件内容显示不清楚的解决方法
在MSChart控件中,它的横纵坐标值是可以自己来控制的,但是
往往我们在自己用时,一个坐标值(纵)是固定死的,而另一个(横)是
根据自己要显示的数据来自动实现的。这
样不可避免地就会有很多列值,但是它的
显示范围是一定的,是不可以改变的,很
有可能会显示不完全或者显示不清楚。以
4 经济效益分析
从2005年6月至2007年6月底,在GJ、MTZ、WZT等3个油田实施 冲击波解堵,共15井次,其中Z2-22、G6-55两口井基本无效,有效 12井次,措施有效率80%,累计增产原油14144.1t。效益统计显示: 投入约70.5万元,创效益约为2292.76万元,投入产出比约为1:32.5,经 济效益十分显著。
(4)冲击波解堵施工周期短、费用低,对储层没有污染,经济 效益显著。
(5)对于地层亏空严重的井,应首先完善注采对应关系,使地 层压力水平恢复到0.55以上再应用冲击波解堵,会取得更好的增产效 果。
作者简介 尹萍(1972-),工程师,1995年毕业于石油大学(华 东)采油专业,现从事采油工程科研、生产工作。
2005.4
(收稿日期:2008·07·09)
(接116页)分析产量下降的主要原因应是洗井造成地层污染。由于 距注水井只有150m左右,不宜实施水力压裂,2007年12月46日对该 井实施冲击波解堵,在机采参数不变的情况下,产液量达17.4m3/d, 产油量从0.7t/d上升到3.7t/d。该井自2007年12月实施冲击波解堵以 后,没有采取其它措施,已累计增油2199.7t。
.RowLabel = ""
Else
.RowLabel = mRecordset_main!qk
'行显示的内容(油田区块)
End If
If Not IsNull(mRecordset1.Fields(0).Value) Then
k = k + mRecordset1.Fields(0).Value
End If
参考文献 [1] 陈风波,冒燕,李海鸿 . 基于FPGA的直接数字频率合成器的设 计[J].微计算机信息,2006,22-2:190 [2] 刘亚海,林争辉 . 基于FPGA的小数分频器的实现[J].现代电子技 术,2005,194(3):113-114 [3] 徐志军,徐光辉 . CPLD/FPGA的开发与应用[M].北京:电子工 业出版社,2002 [4] 褚振勇,翁木云 . FPGA设计及应用[M].西安:西安电子科技大 学出版社,2002 [5] 高玉良,李延辉等 . 现代频率合成与控制技术.北京:航空工业 出版社[M].2002,9 作者简介 张横云 (1974-),女,硕士,讲师,研究方向:计算 机网络、软件工程。
某个油田的区块做横坐标,井口数做纵坐
标而形成的“井口数统计图”为例,如图
1所示。
图1 井口数统计图
在此图中,由于区块过多,显示得不清楚,完全分不出哪个区块
对应的数值。解决这样的问
题,操作步骤为:
(1)将区块用编码表
示,如图2所示。
(2)用CommandButton
按钮,显示编码所表示的区
图2 井口数统计数据编码图
.row = j
If IsNull(mRecordset1.Fields(0).Value) Then
.Data = 0
Else
.Data = mRecordset1.Fields(0).Value
'行数据值(总记录个数)
End If
If IsNull(mRecordset_main!qk) Then
首先新建一个窗体,选择“工程”菜单中的“部件”,在弹出的 对话框中找到“Microsoft Chart Control 6.0(OLEDB)”,将其前面的 复选框选中点击“应用”,后“确定”,那么在“工具箱”中就显示 此控件了。这样就可以将MSChart控件放到窗体合适的位置了,同时 就可以对它做任意的操作了。
HScroll1.Visible = False
Else
MSChartTJ.Width = 280 * mRecordset_main.RecordCount
HScroll1.Visible = True
End If
With MSChartTJ
'井口数直方图
.RowCount = mRecordset_main.RecordCount
If mRecordset_main.RecordCount > 10 Then '防止行数多了时,显示不开
CommandJKS.Visible = True '按钮能用
If 280 * mRecordset_main.RecordCount < 10425 Then
MSChartTJ.Width = 10425
[1] Steven Holzner.VisualBasic 6技术内幕[M].北京:机械工业出版
社,1999
[2] 丁爱萍 . VisualBasic 程序设计 .西安:西安电子科技大学出版
社, 2004-06-01
[3] 高春艳等. Visual Basic开发技术大全 . 北京:人民邮电出版社,
块即“区块与编码的对照表”,如图3所示。
图3 区块与编码的对照表
3 MSChart控件自动调整的实现方法
对应数据很多时,可以将MSChart控件本身的宽度改变。同时为 了能看到变宽后的内容还使用了Hscroll控件来控制,Hscroll控件是水 平滚动条,完全可以和MDI 窗体上的滚动条一样的使用。实现方法 操作步骤为:①将MSChart控件的宽度(Width)属性随数据改变;②将 MSChart控件与Hscroll控件绑定。
的,直接显示区块真正的名称,不需要对区块进行编码表示。 设当前MSChart控件的name为MSChartTJ;用到的数据记录集为
mRecordset_main; 对应的数据表为:p_cx_tj P_cx_tj表结构为:
表1 p_cx_tj表
具体代码如下:
With MSChartTJ
'井口数直方图
.RowCount = mRecordset_main.RecordCount
网络纵横
2008年第9期 146
VB环境下MSChart控件的应用与研究
李旭东
(山东胜利职业学院)
摘 要 在Visual Basic 6.0环境下,MSChart控件还有些不能实现的功能,如横坐标的内容显示不清楚,MSChart控件的宽度如何自 动调整以及调整后如何显示看不见的部分。本文主要针对以上问题,就如何改进及应用MSChart控件进行了探讨。
5 结论与认识
(1)冲击波解堵工艺现场应用成功率较高,为物理法解堵的首 选工艺。
(2)选井过程中,要找出油井产量下降的主要原因,如属于钻 井泥浆污染、油井结垢、洗井堵塞等机械杂质及有机垢造成的油水井 近井地带污染,其实施效果更好。
(3)选层过程中,要分析和考虑储集层的孔/渗/饱特性,同时要 充分利用油水井的动态监测资料,科学合理的选井选层,做到有的放 矢。
由(2)式 ̄(6)式的推导可知,改进的小数分频器的最大时偏
小于等于0.5 ,即相位差始终满足
,相位杂散获得很大
程度的减小。
3 结论
小数分频在不改变降低基准频率的情况下提高频率分辨力,解决 了转换速率和频率分辨率之间的矛盾,改进的小数分频进一步减小了 相位杂散,提高了小数分频的瞬时脉冲频率的精度。本文作者创新 点:采用以比较器和常数寄存器为主的电路结构改进的小数分频技术
'行数 (总共有
多少行)
While Not mRecordset_main.EOF
j=j+1
sql1 = "select count(jh),sum(sjjs) from p_cx_tj where qk='" &
mRecordset_main!qk & "'"
mRecordset1.Open sql1, mobjCnn
(收稿日期:2008·06·24)
(接119页)周期内(设其最小周期为N)实现相位与要求的脉冲完 全吻合。改进后的小数分频第K+1次脉冲相位差可以表示为:
将频率合成器的输出脉冲可能引起的最大时偏从原有F-NPLL结构的 一个基准时钟 降低到0.5 。这种电路具有结构简单、易于实现 和集成、非常适合ASIC设计等优点。
isn = HScroll1.Max j = HScroll1.Value + MSChartTJ.Left MSChartTJ.Left = MSChartTJ.Left - j End Sub Private Sub HScroll1_Scroll() MSChartTJ.Left = 0 - HScroll1.Value End Sub 4.3 用CommandButton按钮,显示编码所表示的区块即“区块与编码 的对照表” 在给MSChart控件赋值时,已经将Mmsgbox做成一个字符串,并 且是Public类型的。具体代码如下: Private Sub CommandJKS_Click() MsgBox Mmsgbox, vbOKOnly, "区块与编号的对比" End Sub
关键词 MSChart控件 实现方法 Vb实现程序
MSChart控件是以图形方式显示数据的图表,可以按照一定的规 范将数据以图表的形式绘制出来。可以通过在控件的属性页中设置数 据来创建图表,或者也可以从其它数据源,如 Microsoft Excel 的电子 数据表中检索出要绘制的数据。
1 MSChart控件的载入
4 Vb的实现
4.1 将MSChart控件的宽度(Width)属性随数据改变 为了实现此功能,在此分了两种形
式:如果是不大于10个区块时,还是显 示区块真正的名称,如图4所示;如果区 块大于10,则就用编码表示区块。具体实 现代码如下:
(1)区块不大于10个时: 区块不大于10时,原始宽度是很满足 图4 区块不大于10显示效果图
If Not IsNull(mRecordset1.Fields(1).Value) Then
js = js + mRecordset1.Fields(1).Value
End If
MRecordset1.Close
mRecordset_main.MoveNext
Wend
End With
(2)区块大于10个时的具体代码:
5 结论
MSChart控件是一个比较复杂的技术。对VB中的控件而言,除了 前面自身内置的几个属性,一些功能也可以借助其它控件来辅助实 现。另外,在具体的编程过程中,可能还要根据自己具体的要求来做 某些此控件本身无法完成的事情。该方法已经成功应用于胜利企业版 IDDS软件中,取得了良好的效果。
参考文献
'行数 (总共有
Βιβλιοθήκη Baidu
多少行)
147
2 0 0 8年第9期
网络纵横
While Not mRecordset_main.EOF j=j+1 sql1 = "select count(jh),sum(sjjs) from p_cx_tj where qk='" & mRecordset_main!qk & "'" mRecordset1.Open sql1, mobjCnn .row = j if IsNull(mRecordset1.Fields(0).Value) Then .Data = 0 Else .Data = mRecordset1.Fields(0).Value '行数据值(总记录个数) End If .RowLabel = j if IsNull(mRecordset_main!qk) Then Mmsgbox = Mmsgbox & " " & j & " " & "" Else Mmsgbox = Mmsgbox & " " & j & " " & mRecordset_main!qk '行显示的内 容(区块) End If If Not IsNull(mRecordset1.Fields(0).Value) Then k = k + mRecordset1.Fields(0).Value End If If Not IsNull(mRecordset1.Fields(1).Value) Then js = js + mRecordset1.Fields(1).Value End If mRecordset1.Close mRecordset_main.MoveNext Wend End With 4.2 将MSChart控件与Hscroll控件绑定具体代码 Private Sub HScroll1_Change() Dim j As Long, isn As Integer