文档库 最新最全的文档下载
当前位置:文档库 › 在POWERBUILDER中使用WINSOCK控件的方法

在POWERBUILDER中使用WINSOCK控件的方法

在POWERBUILDER中使用WINSOCK控件的方法
在POWERBUILDER中使用WINSOCK控件的方法

---- 随着资源共享和实时通讯的需要,很多计算机应用程序早已甩开单兵作战的模式,转入联合行动。

---- 网络在计算机世界里,越来越发挥着举足轻重的作用。在WINDOWS应用程序中,处理实时通讯最常用到的还是MICROSOFT公司提供的WINSOCK控件。许多资料都细述了WINSOCK在VB中的使用方法,就连WINDOWS本身提供的hlp文件也是针对VB而写的。笔者因为实际应用的需要,琢磨出了WINSOCK控件在PB中的应用方法。好东西不敢独自享用,拿出来与大家共享。

---- 下面以一个简单程序为例,说明WINSOCK控件在PB中的使用:

---- 一、在窗口中添加WINSOCK控件:

---- 在应用中新开一个窗口,在窗口画板中点击controls-->OLE菜单项,弹出Insert object窗口,单击Insert control标签,从列表框中双击选定Microsoft Winsock control,将winsock的图标贴在窗口上。

---- 在程序中该控件名称定为winsock_a(甲方)和winsock_b(乙方)。

---- 二、设置信息输入输出文本框:

---- 在窗口中增加一个按钮cb_1,两个单行文本框sle_1,sle_2,分别用于输入要发送的字符串和接受对方发送的字符串。

---- 三、设置通讯协议:

---- WINSOCK控件允许用户以UDP和TCP两种协议中任选一种进行通讯。

---- 1.UDP协议设置:UDP协议是一种无连接的通讯协议,在通讯之前,需要绑定remotehost 和remoteport属性,如果需要双向通讯,还要设置localport属性。

---- 在甲方(本机地址为:134.1.1.1)窗口的Open事件中加入如下语句:

winsock_a.object.protocol=1

//winsock通讯协议设为UDP协议

winsock_a.object.remotehost="134.1.1.2"

//对方的ip地址

winsock_a.object.remoteport=6000

//对方的winsock通讯端口号

winsock_a.object.localport=6001

//本机的winsock通讯端口号

winsock_a.object.bind

//绑定通讯协议

---- 在乙方(本机地址为:134.1.1.2)窗口的Open事件中加入如下语句:

winsock_b.object.protocol=1

//winsock通讯协议设为UDP协议

winsock_b.object.remotehost="134.1.1.1"

//对方的ip地址

winsock_b.object.remoteport=6001

//对方的winsock通讯端口号

winsock_b.object.localport=6000

//本机的winsock通讯端口号

winsock_b.object.bin

//绑定通讯协议

---- 2.TCP协议设置:TCP协议在通讯前需要进行连接。

---- 在甲方(作为服务器端)窗口的Open事件中加入如下语句:

winsock_a.object.protocol=0

//winsock通讯协议设为TCP协议

winsock_a.object.localport=6001

//本机的winsock通讯端口号

winsock_a.listen()

//启动监听

---- 在甲方winsock_a控件的Connectionrequest事件中加入如下语句:

//接受到对方的连接请求后

if winsock_a.object.state<>0 then

winsock_a.close()

end if

winsock_a.accept(requestID)

//建立直接连接

//requestID是Connectionrequest事件自己的参数

---- 在乙方(作为客户端)窗口的Open事件中加入如下语句:

winsock_b.object.protocol=0

//winsock通讯协议设为TCP协议

winsock_b.object.remotehost="134.1.1.2"

//对方的ip地址

winsock_b.object.remoteport=6000

//对方的winsock通讯端口号

winsock_b.connect() //发出连接请求

---- 3.无论采用哪种协议,都要在窗口的Close事件中加入如下语句:

if winsock_a/*或winsock_b*/.object.state<>0 then

winsock_a.close()

end if

---- 否则可能第二次使用时发生异常问题

---- 三、开始通讯

---- 在按钮cb_1(caption属性设为‘发送’)的click事件中加入如下语句:

winsock_a/*或winsock_b*/.object.send (sle_1.text)

---- 在winsock_a/*或winsock_b*/控件的dataarrival事件中加入如下语句:

//接受到对方数据后

string datastr1

winsock_a/*或winsock_b*/.object.getdata (def datastr1)

sle_2.text=datastr1 //将数据字符串显示在文本框中

---- 以上程序实际上体现了聊天器的底层工作原理,稍加修改扩充就可以做成一个很好的聊天软件。

文:达伟春

湖南省怀化市电信局计算机中心

各种控件的详细使用介绍

各种控件的详细使用介绍:常用属性,常用事件,常用的方法 控件的分类(控件根据所属的基类,进行划分) 根据是否能容纳其他控件,可以分为: 容器类控件(包括:表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组,工具栏,容器控件) 非容器类控件(包括:标签,文本框,编辑框,命令按钮,复选框,列表框,组合框,微调框,形状,计时器,线条,图像) 另外一种划分方法,是根据控件和数据环境中数据源的关系进行划分,控件分为:绑定型控件是指内容可以和与数据环境后端的表、视图或查询中的字段和内存变量相关联的控件。在该控件中输入、修改或选择的值将保存在数据源中,而数据源中值的改变,也将改变控件的值。(复选框,文本框,编辑框,列表框,组合框,表格,选项按钮组,微调框,activex控件) 非绑定型控件是指其内容不与后端的表、视图和查询中的字段或内容相关联的控件。(命令按钮,命令按钮组,线条,标签,计时器,形状,图像) 一、标签控件(Label)——非容器类控件,非数据绑定控件 用以显示文本,显示提示信息。标签上的显示文本由caption属性指定。 其中的文本在表单运行时不能被用户直接修改。 常用属性: 常用事件:mousemove 鼠标移动事件mousedown 鼠标按下左键事件 Click 单击事件mouseup 释放鼠标左键事件

【范例】参考实验作业HomeWork7-1-1.scx。 二、文本框与编辑框——非容器类控件,数据绑定控件 文本框——用以显示或编辑表中的非备注型字段的数据。 编辑框——用途与文本框相似,用以显示或编辑长字段或备注型字段的数据。 两者均为数据绑定控件,非容器类控件 文本框的常用属性: ?ControlSource 指定与文本框绑定的数据源 ?Value 指定文本框的当前选定的值 例如:value=0 表示文本框中的数据设置为数值型,不能输入字母或汉字?PasswordChar 用设定的字符来显示用户输入的值,而实际输入保存在value属性中。 例如:PasswordChar=*或者其他的符号。文本框中显示为*或其他符号

(完整版)MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理 ================================================= MSFlexGrid总行数和总列数的定义: MSFlexGrid1.Rows = 5 '规定表格的总行数为5行 MSFlexGrid1.Cols = 2 '规定表格的总列数为2行 MSFlexGrid某一单元格的文本内容 MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) ="https://www.wendangku.net/doc/7f7169705.html, " 定义第3行第2列的文本内容为:“https://www.wendangku.net/doc/7f7169705.html,” 右键选中MSFlexGrid的 Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbRightButton Then MSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5 MSFlexGrid1.RowSel = MSFlexGrid1.Row '右键选种当前行---备用u3u3: 'MSFlexGrid1.Col = 0 'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1 '右键选种当前单元格---备用u3u3: 'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5 'MSFlexGrid1.Col = MSFlexGrid1.Col 'Text1.Text = MSFlexGrid1.Text End If End Sub

PB开发(1)

第三部分用PowerBuilder开发数据库应用系统 第一章 P owerBuilder简介 ●介绍PB的特点; ●应用程序的组成,开发步骤; ●PB开发环境 ●一个应用程序实例 一、 PB的特点 1.什么是PB? ●PB是一个图形界面的,面向对象的数据库应用系统开发工具; ●能够开发功能强大的,运行在多个平台的,能够操作多个数据库的应用系统; ●可以开发客户/服务器、分布式、Internet应用系统。 (1) 客户/服务器结构:(双层) ●这种结构的核心是当前端用户(客户工作站)需要后台服务器的服务时, 仅发出请求;而服务器接收请求后,执行相应的功能,并把满足条件的 那部分数据反馈给前台客户端; ●数据库服务器上的DBMS集中负责管理数据库服务器上的数据和资源,它 向客户端提供一个开放的使用环境,客户端的用户通过数据库接口和 SQL语言访问数据库;也就是说,它只要能通过网络协议和数据库接口 程序连接到服务器,就可以对数据库进行访问; ●在此结构中,应用程序和应用逻辑可以根据需要划分在服务器或客户工 作站; (2) 多层客户/服务器结构:(分布式结构) ●有三个逻辑层,客户层是面向用户服务的,把数据和应用呈现给用户的 逻辑,在客户端实现,中间层是面向商业规则的,在应用服务器上实现, 服务器层是面向数据服务的,在数据库服务器上实现; ●强调组件开发,相对独立的组建模块安排在服务器上,供所有的客户端 应用程序访问; (3) Internet应用系统 ●处理分三层,类似于多层客户/服务器结构; ●商务和表现服务驻留在Web服务器上,而客户使用简单的浏览器,这种 结构可支持任何配有浏览器的客户机。 2.提供强有力的开发环境 ●用它来建立用户容易使用的各种应用程序; ●开发人员还可以通过PB修改他们的数据库; ●PB为应用的开发提供了全面的综合性的支持,概括如下: (1) 事件驱动的应用程序 ●PB的应用程序是事件驱动的,即用户通过各种动作控制应用程序的流 程; ●用户可以通过编写脚本来说明当事件触发时,要完成的处理过程;

基于PowerBuilder的学生成绩管理系统的设计与实现-2019年精选文档

基于PowerBuilder 的学生成绩管理系统的设计与实 信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,但还有由于计算机操作不方便而继续用手工进行劳动的人。学生成绩管理和分析系统为教务人员带来了极大的方便。该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。通过操作手册,使用者可以了解本软件的基本工作原理。操作人员只需输入一些简单的汉字、数字,即可达到自己的目的。 现今成绩管理的繁琐给教务人员带来了诸多不便,教学办公室缺少一种完善的成绩管理软件,为了方便的管理学生成绩,因此开发了此学生成绩管理和分析系统。 学生成绩管理和分析系统的目标: 1)节约资源,提高学生信息的精确度:能够减少很多不必要的资源,不用像以前那样用冗余的纸张式的管理。大大节省了学院资源。并且计算机的存储与快速查询功能大大提高了学生成绩管理的效率,并且还提高了成绩信息管理的精确度。 2)方便快速的操作,精简人员,节约开支:方便快速的操作,可减少学生信息管理的漏洞,又可减少工作的错误,并且操作非常简单,可减少许多不必要的工作人员,这无论从物质上还

是工作人员的工资上都为学院节约了开支,为学院增加了财富。 1系统分析 成绩管理系统主要针对三类用户:学生、教师、管理员。 个良好的成绩管理系统不仅要求有方快捷的操作、简单有效的管理,而且要有高级的安全性以及很强的通用性。根据需求分析,使用面向对象的设计技术,系统应具有如下的几个功能模块: 1) 用户登录模块 学生用户和教师用户登录以后只能输入相关查询条件进行一系列相关的成绩查询。 管理员登录以后不仅有学生用户和教师用户的所有权限,且可以对数据库和基础信息进行维护。 2) 系统维护模块 若系统在应用过程中出现问题确实需要进行初始化时,系统 管理员就可以对系统进行初始化操作。 3)基本信息维护模块 在此模块中,系统管理员可以对基本信息进行维护,如对班级信息、学生信息、课程信息等进行维护。 4)数据库管理模块 此模块可以对数据库中的数据进行备份和还原。 5)成绩管理模块 此模块只有管理员有权限进行操作,管理员登录后可以对学生成绩进行插入、删除、修改、保存等操作并且能导入和导出学

Winsock控件基础(VB6.0)

Winsock控件基础(VB6.0) 1.Winsock控件基础 Winsock控件在程序设计时,看不到这个控件显现在执行的窗体之中,但是它可以提供有关网络通讯方面的程序设计依据。此外,在这个控件的使用上,您可以非常容易地要求控件为您调用TCP或是UDP网络服务的功能。因此,当您在编写有关住从式架构的应用程序时,您可以不需要了解TCP 通讯协议或是低级的Winsock api调用方式。 通常,以笔者的经验,除了必须与标准通讯协议进行互动外,仅仅是进行一般性相互通讯、交换数据时,Winsock控件可以满足您的要求。因此您可以非常容易地通过属性的设置以及控制方法的调用,与远程的设备进行连接并且相互交换信息。关于这些应用方面以及调用方式,笔者将在接下的探索中,慢慢地研究Winsock的应用方式。 1-1TCP基础 不论是在Internet或是Internet网络之中,以目前流行的趋势,多半都会使用TCP协议来进行远程设备的连接。TCP 协议的全名为“传输控制协议(transfer control protocol)”,这是一种在Internet上使用的主要协议,例如http,ftp,smtp 等,都是属于这个中面向连接的协议。因此,当您使用TCP 协议连接两个网络上的设备时,将可以在它们之间交换希望

交换的数据。 同时,如果您开发的应用程序属于主从式应用架构(或是 n-tear(多层次))应用系统时,将必须要知道应用系统主机的ip地址(利用RemoteHost属于取得)以及连接端口号(利用remoteport属于取得)。在这些数据完全备齐之后,您才可以进行进一步的调用、连接。 因此,如果正在建立主机端应用程序时,必须指定本机,必须指定本机(执行应用程序所在的计算机)所用的连接端口号(localport属于),接着将Winsock控件设置为“监听(listen)”,即可等候远程客户端进行调用与连接。因此,当主机端接收到客户端调用并且要求连接的信息时,将会触发“要求连接()”的事件,接着进行标准“允许”或是“拒绝”的程序。 一旦主机端与客户端连接完成之后,您将可以开始使用“传送数据(senddata)”方法,将数据传送给对方,并且利用“传送完成(sendcomplete)”事件,来检测数据是否传送完毕。同时,在数据传达对方的计算机时,将会触发对方计算的“接收数据(dataarrival)”事件。此时,您可以使用“取得数据(getdata)”方法,来去出这些接收到的数据。 上述的程序将周而复始地发生,直到发生“中断连接(closed)”事件或是不正常断线为止。这种连接与数据传输的方式,则是属于Winsock控件TCP协议的运行特色。图1-1所示为

控件使用

、控件mscomm32.ocx 的几个重要属性 CommPort:设置并返回通讯端口号。 Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口。 Input:从接收缓冲区返回和删除字符。 Output:向传输缓冲区写一个字符串。 InBufferCount:返回接收缓冲区中等待的字符数,该属性在设计时无效,可以把InBufferCount 属性设置为0 来清除接收缓冲区。 InBufferSize:设置并返回接收缓冲区的字节数,接收缓冲区的大小。Rthreshold:产生OnComm 事件之前要接收的字符数。设置Rthreshold 为1,接收缓冲区收到每一个字符都会使MSComm 控件产生OnComm 事件。设置为0(缺省值)则不产生OnComm 事件。 CommEvent:返回最近的通讯事件或错误。该属性在设计时无效,在运行时为只读。只要有通讯错误或事件发生时都会产生OnComm 事件,CommEvent 属性存有该错误或事件的数值代码。CommEvent 属性返回2 表示收到Rthreshold 个字符。该事件将持续产生直到用Input 属性从接收缓冲区中删除数据。 2、实例: 该事例演示如何控制COM口发送命令及如何接收数据。本事例采用轮讯方式。适用于通讯数据 不是很巨大的和要求不是很高速的情况下。 (1)在VFP中,建立一个新的表单 (2)插入文本(命名为TEXT1,用来显示读取的数据) (3)建立Microsoft Communication Control1 控件在工具栏中点插入ole容器控件,选择Microsoft Communication Control 控件(NAMe为mscomm1) (4)建立一个按纽命名为command1 (5)在CHICK属性里下如下代码: **存储变量名字 buffer="" ** 使用COM1。 https://www.wendangku.net/doc/7f7169705.html,mPort = 1 **9600 波特,无奇偶校验,8 位数据,一个停止位。 thisform.MSComm1.Settings = "9600,N,8,1" * 告诉控件读入整个缓冲区。 thisform.MSComm1.InputLen = 0 * 打开端口。 thisform.MSComm1.PortOpen = True **将attention 命令送到调制解调器。这是MODEM的状态读取命令 thisform.MSComm1.Output = "ATV1Q0" & Chr$(13) ** CHR(13)是回车符号,用来表示命令结束 **等待数据返回到串行端口。 vv=1 do while .t. Buffer = thisform.MSComm1.Input *从串行端口读"OK" 响应。

Winsock控件使用手册

Winsock控件使用手册 TCP基本知识 TCP(Transfer Control Protocol)允许你创建并维护一个与远程计算机的连接,使用该连接,两台计算机之间就可以交换数据了。 如果你在创建一个客户应用程序,你必须知道服务器计算机的名字 用RemoteHost属性,监听的端口号RemotePort属性,调用Connect方法。 创建服务器应用程序,设置要监听的端口号,调用Listen方法。 当客户建立连接请求时,产生ConnectionRequest事件。要完成该连接,在ConnectionRequest 事件中调用Accept方法。 一旦建立了连接,两台计算机之间就可以发送和接受数据了。 发送数据,调用SendData方法。 接受数据,产生DataArrival事件。在DataArrival事件中调用GetData方法来检取数据。 UDP基本知识 UDP(User Datagram Protocol)是无连接的协议。 与TCP操作不同,计算机并不建立一个连接。并且,UDP应用程序可以是客户也可以是服务器。 传输数据,设置客户计算机的LocalPort属性,指发送方只需要将RemoteHost属性设置为客户计算机及指接收方的IP地址,将RemotePort属性设置为客户计算机上的LocalPort,调用SendData发送数据。客户计算机在DataArrival中使用GetData检取数据。 Winsock控件的属性 BytesReceived属性, LocalHostName属性, LocalIP属性, LocalPort属性, RemoteHost属性(ActiveX控件), SocketHandle属性, State属性(Winsock控件), Protocol属性(Winsock控件), Name属性, Parent属性, RemoteHost属性(ActiveX控件), RemotePort属性(ActiveX控件), Index属性(ActiveX控件), Tag属性(ActiveX控件), Object属性(ActiveX控件)。 Winsock控件的方法 Accept方法, Bind方法, Close方法(Winsock控件), Listen方法,PeerData方法,

基于VB6.0的winsock控件的远程数据传输的方法

【摘要】在Visual Basic 6.0 环境下,利用Winsock控件实现与远程数据采集端连接和数据传输。与传统数据传输方法进行比较,该方法简单且易于实现,并充分利用了网络资源。介绍了Winsock控件,结合示例程序,说明了该方法实现流程。最后通过实验,证实该方法进行远程数据传输的可靠性。 【关键词】数据传输;协议;VB6.0;Winsock控件 在远程数据采集和传输系统中,传统的方法有 2 种:一是采用RS-485进行远程控制;二是通过调制解调器进入电话线来实现远程控制,然而这2 种方法都有自己的缺点。这样一来就限制了它们的应用范围。 本文介绍了在VB6.0中利用Winsock控件来实现服务器端与远程客户端建立连接并进行数据传输的方法。 一、基于Winsock控件的远程数据传输 (一) Winsock控件简介 Microsoft提供的Winsock控件,是ActiveX控件的一种。在VB 中可以将其添加到工具箱中以便使用。在程序运行时,Winsock控件是不可见的,但通过对其属性、方法、事件的设置及应用可轻松地实现计算机间的远程连接,该控件为用户提供了访问TCP和UDP网络及其方便的途径,不需要了解低级Winsock API调用实现的细节。VB 的Winsock控件内部几乎封装了所有的Internet协议,以类的形式提

供了属性、方法、事件,使得程序得到了极大的简化。 Winsock控件的常用属性如表1。 (二)传输协议 在使用Winsock控件时,首先要考虑使用什么通信协议。可供选择的协议有传输控制协议(TCP)和用户数据报协议(UDP),都是位于传输层的协议、使用端口号来识别应用程序,区别在于连接的状态。TCP协议是一个基于连接的协议,在收发数据前必须建立连接,并且该连接可靠性强,使数据无差错地传输,适合有确认信息的、重要的、数据量大(如声音和图像)的文件。UDP协议是不与对方建立连接而是直接就把数据报发送过去。传输速度较快也较便宜,适用于少量数据传送、可靠性要求不高的文件传输。本文中均选用TCP协议。 (三)远程数据传输系统软件设计 1、远程传输系统软件流程 软件在Visual Basic环境下开发,利用Winsock控件完成客户端与服务器端的相互通讯。 创建客户端程序时,必须知道服务器端的IP地址(RemoteHost 属性)和服务器“侦听”的端口(RemotePort 属性)然后调用Connect 方法请求与服务器连接。 创建服务器端程序时,必须设置一个收听端口(LocalPort属性)并调用Listen方法侦听端口,本论文中使用的IP地址为202.205.84.222,使用的端口号为2020。当客户端请求连接时就会发生ConnectionRequest事件。为了完成连接,可调用ConnectionRequest

KVDBGrid控件使用方法

KVDBGrid控件使用方法 KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。 一、控件功能: 1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。 2.开发状态可设置显示表头。 3.运行状态可编辑表格中数据。但不更新数据库。 4.运行状态可动态设置过滤条件,刷新显示。 5.可打印表格中显示的数据,可进行横向和纵向分页。 二、使用说明: 1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。 2.按下鼠标左键,并拖动,在画面上绘制出表格区域。 3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。 4.设置控件属性:选择控件右键菜单中“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源: 单击“浏览”按钮可选择或新建ODBC数据源。 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。 选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上

移”,“下移”按钮来选择要显示的字段和显示顺序。 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。 最后在“查询条件”中设置限制条件(ODBC SQL语法)。如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入: 原料罐液位>10 and 日期=’2001/9/1’ (2)、表格属性: 可设置表格的一般属性。 说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由 使用者在设计状态编辑其显示内容。 (3)、颜色: 可设置表格颜色,背景颜色,文本颜色等信息。 (4)、字体:

VB中Winsock控件的使用

VB中Winsock控件的使用 -------------------------------------------------------------------------------- 前一段时间,一个名叫Y AI的‘病毒’在我国闹的沸沸扬扬,许多不明真相的人对他感到神秘莫测,可是究其实质无非也就是一个远程控制软件罢了,只不过他的服务器端程序隐藏的十分好而已。其实在VB5中有一个基于TCP\IP协议的Winsock控件,利用他改改属性,写几段代码,我们同样可以来一回Y AI.由于篇幅所限,在这里我们只来看看对远程计算机的重启,关闭功能室如何实现的。打开VB5后,在工具箱中并不能看到Winsock控件,通过鼠标右键单击工具箱点“部件”,再将“Microsoft Winsock Control 5.0”选中确定后,就可以将Winsock控件添加到工具箱中了。 远程控制功能是基于客户机/服务器这一模型来实现的,所以程序的编制也应分两部分进行:一部分是服务器端--也就是被控制的一方,另一部分是客户端--控制方。服务器程序要守侯在一个固定或不固定的网址(IP)上等待客户程序的请求;客户程序则向服务器程序所在的网址请求连接,连接成功后通过交换信息即可得到相应的服务。因此设置Winsock属性时,服务器端应设置LocalPort和应用Listen方法进行监听,客户程序则要设置RemoteHost 和RemotePort及应用Connect方法请求连接,并用Senddata方法互换信息。下面是Winsock 控件的相关属性,方法和事件。(略去一些暂用不到的) *属性 ------------------------------------------------------------------------- LocalHostName | 本地机器名 LocalIP | 本地机器IP地址 LocalPort | 本地机器通信程序的端口(0<端口<65536) RemoteHost | 远程机器名 RemotePort | 远程机器的通信程序端口 state | 连接的当前状态(文后有详细说明) Protocal | 使用TCP或UDP协议(这里我们选‘0-sckTCPProtocal’) -------------------------------------------------------------------------- *方法 -------------------------------------------------------------------------- Listen Listen方法用于服务器程序,等待客户访问。 格式:Winsock对象.listen Connect Connect方法用于向远程主机发出连接请求 格式:Winsock对象.connect [远程主机IP,远程端口] Accept Accept方法用于接受一个连接请求 格式:Winsock对象.accept Request ID Senddata 此方法用于发送数据

MFC控件使用详细教程

使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件

续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: ?Windows 95 ?Windows NT 3.51及以后版本 ?Win32s 1.3 ?注意: ?Visual C++ 4.2及以后版本不再支持Win32s。 (2) ActiveX控件

ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: ?类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 ?类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 ?类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG

VB中使用WINSOCK控件编写网络程序

VB中使用WinSock控件编写网络程序 WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器并进行数据交换。这两种协议都能用来创建客户端和服务端应用程序。就像定时器控件一样,WinSock控件运行时没有一个可视的界面。 可能的用途 创建客户端应用程序,它能在信息到达中央服务器之前把用户的信息收集起来。 创建服务端应用程序,它能作为来自多个用户的数据一个集中处理点。 创建“聊天”程序。 协议的选择 当我们使用WinSock控件时,首先要确定的是使用TCP还是UDP协议。它们之间主要的区别在于连接状态: TCP协议控件是一个基于连接的协议,就像电话机一样,用户必须在通话之前建立连接; UDP是一个无连接的协议,两台计算机之间的事务处理就像传纸条一样:一台计算机向另一台计算机发送消息,但是它们之间并没有一个明确的连接路径。另外,发送的单个信息量的大小取决于网络。 通常,你要创建的应用程序的类别就决定了你要选择的协议。以下是几个能够帮助你选择合适的协议的问题: 当发送或接收数据时,该应用程序需要从服务端或客户端获得认证吗?如果要的话,那么TCP协议就正好需要在发送或接受数据前建立明确的连接。 要发送的数据量大吗?(就像图片、声音文件之类)一旦建立了连接,TCP协议就会保持连接并保证数据的完整性。但是,这种连接会占用的更多的处理器资源,成本也会更高一些。 数据是陆续传输的,还是一次全部传完呢?比如,如果你要创建的应用程序在某些任务完成时会告知具体的计算机,那么选择UDP协议会更合适一些。UDP协议也更适合于发送小量数据。 协议的配置 配置你的应用程序所用到的协议:在设计阶段,单击工具窗口里的协议,选择sckTCPProtocol或sckUDPProtocol。你也可以在代码里配置协议,就像下面这样: Winsock1.Protocol=sckTCPProtocol 确定你的计算机名

PowerBuilder控件使用手册

PB控件使用介绍 一、PB中使用Microsoft Web Browser控件步骤: 在pb的某窗口中加入OLE对象,选择Insert control(插入控件),然后选中"Microsoft WEB 浏览器",(随系统而定的版本),就可以在这个窗口直接使用IE浏览器控件了。 常用函数:(对这个ole控件取名叫ole_web) ole_web.object.navigate(string ls_url) file://浏览某url, 譬如:ole_web.object.navigate('https://www.wendangku.net/doc/7f7169705.html,') 就是浏览 https://www.wendangku.net/doc/7f7169705.html, 页面,当然支持本地文件,也支持本地图片文件的浏览,如jpeg,jpg,gif,png等等,如果是不支持的文件,则直接弹出选择打开文件对话框,和ie一模一样。 ole_web.object.goback() file://回退(如果没有内容可退,则会弹出错误,可以屏蔽该错误) ole_web.object.goforward() file://前进,同上 常用事件: documentcomplete : url请求的页面完成; downloadcomplete:url中请求的下载完成; 常用属性: ole_web.object.width :pixel高度,需要转换为pbunit高度才可以调整 ole_web.object.height:同上 ole_web.object.offline:离线方式,true,false两者之一

你甚至可以用pb写出一个和ie类似的界面用来进行浏览网页或图片。 二、在程序中打印 在程序中如何提供打印功能呢?这里有三种调用打印函数的格式可供选择。 1. 对数据窗口控制或者数据窗口可以使用这种打印格式。 DATAWINDOWNAME.Print(cancel_window) 这里cancel_window 是一个布尔值,它指出是否要显示一个用户可以用来中止打印动作的窗口。 这种格式只适用于打印单个数据窗口的内容,如果要在同一个作业当中打印多个数据窗口的内容,就要使用PRINTDATAWINDOW函数。 2. 对任何对象均可使用第二种语法。 OBJECTNAME.Print(job#,x,y,{width,height}) 这种打印格式是直截了当的。JOB#指出作业,X和Y指出打印作业指出的打印区。WIDTH 和 HEIGHT指出打印的长度和宽度。如果不特别的说明长宽的值,那么就使用对象原来的大小。 3. 打印函数的第三种格式可以用来打印串值: Print(job#,{tab1,}string_value{,tab2}) 其中,TAB1说明打印开始之前打印光标应该移动到哪里(千分之一英寸为单位)。什么是打印光标呢?POWER BUILDER使用打印光标来保持打印区域内依次打印最后结

坐席控件开发接口使用说明最新

呼叫中心坐席端控件(EasyAgc.ocx)使用说 明 为什么需要坐席端控件 在一个完整的呼叫中心系统中,坐席端软件是一个重要的组成部分。坐席人员通过坐席端软件与呼叫中心服务器(CCS)进行交互,完成对通讯设备的控制和相关信息的交换,如坐席的登录、注销、离席、复席、应答、呼出、转移等等动作,都是通过坐席端软件与CCS的通信完成的。一般来说,坐席端软件与CCS之间的通信是建立在TCP/IP的基础上的。具体的通信包格式可以自行定义。为了降低坐席端软件的开发难度和加快坐席端软件的开发速度,通行的做法是把坐席端软件分成通信模块与业务模块两部分。其中业务模块会随客户的需求变化而变化,一般都需要进行定制开发;而通信部分则相对变化较少,不论什么行业的呼叫中心,其坐席端软件一般都需要包括坐席的登录,注销,呼出,应答,挂断,转移等基本通信功能。因此有必要把坐席软件的通信模块进行封装,以OCX控件的方式提供给最终用户,最终用户不需要了解坐席端与CCS之间的通信包格式,也不必学习Socket通信的开发技术,只需访问OCX控件公布的方法和属性,对OCX控件公布的事件进行响应,就可以完成坐席端软件通信模块的开发。 坐席端控件支持的开发语言 北京同力信通软件公司坐席端控件符合Windows控件标准,理论上支持所有可以支持控件的开发语言,成功通过北京同力信通软件公司公司测试的语言包括: Delphi 7.0 Visula Basic 6.0 Visual C++ 6.0 IE6.0-VBScript/Jscript 坐席端控件的接口 方法 tlaOpen tlaClose tlaLogin tlaLogoff tlaACW tlaWCA

组态王视频控件使用方法

组态王视频控件使用方法 第一步建立一个组态王工程; 第二步建立一个新画面; 第三步添加视频控件’具体步骤如下: 1插入通用控件video control 图1 Ifi人控件 图2 2、单击确定后鼠标变成“ +”状,按住鼠标左键,拉出一个矩形框,松开即可;

图3第三步添加按钮; 图4 第四步设置视频控件动画连接属性,完成后点击“确定”按钮,然后在开发系统界面的文件下拉菜单下选择全部存;

图5 第五步编辑按钮动画连接属性; 1、双击“打开视频”按钮,弹出下图对话框,单击“按下时”; 图6

弹出图XXX对话框选择“控件属性和方法”按钮,弹出(图8)对话框; 图7

选择“ Open Video ”单击确定弹出(图10)对话框了; 授伸名珊 |确定 両毎习 ZJ 取消 查若类型 1揑件方法 2d 屈性戒方进 Kb outB ox CapVll^ToAVI ^LoselTideo G E tl'evKum Zip enAVI 图8 KeadFort

图10 “LONG nReslnde”代表设备号,右键“我的电脑—管理—设备管理器一图像处理设备”双击你安装的视频设备就可以查看你的视频设备号。 关闭视频:视频练习.CIoseVideo(); 拍照:视频练习.SaveVideoFrame(LPCTSTR IpszPicName)" LPCTSTR IpszPicNam” 照片的保存地址和名称; 回放:视频练习.OpenAVI(LPCTSTR lpszFileName) “LPCTSTR lpszFileNam e要回 放的视频保存位置及名称; 摄像:视频练习.CapVideoToAVI(LPCTSTR IpszAVIName)'LPCTSTR lpszAVINam”表示录制的视频将保存的位置及视频文件名称; 抓拍:视频练习.SaveVideoFrameToRect(LPCTSTRlpszPicName) ;“ LPCTSTR IpszPicName”表示抓拍的图片即将保存的BMP文件的位置和名称; 设置视频源:视频练习.VideoSource();设置视频的来源,即选择视频设备; 停止摄像:视频练习.StopCapVideo();

KVHTrend控件使用方法

KVHTrend控件使用方法 KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。通过该控件,不但可以实现历史曲线的绘制,还可以实现ODBC数据库中数据记录的曲线绘制,而且在运行状态下,可以实现在线动态增加/删除曲线、曲线图表的无级缩放、曲线的动态比较、.曲线的打印等。该曲线控件最多可以绘制16条曲线。 1、创建历史曲线控件: 在组态王开发系统中新建画面,在工具箱中单击“插入通用控件”或选择菜单“编辑” 下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图1所示。 图1 历史曲线控件 2、设置控件固有属性: 控件创建完成后,在控件上单击右键,在弹出的快捷菜单中选择“控件属性”命令,弹出历史曲线控件的固有属性对话框,如图2所示。

控件固有属性含有两个属性页:曲线、坐标系。下面详细介绍每个属性页中的含义。 2、1 曲线属性页 如图2所示,曲线属性页中下半部分为定义在绘制曲线时,历史数据的来源,可以选择组态王的历史数据库或其它数据库为数据源。 曲线属性页中上半部分“曲线”是定义曲线图表初始状态的曲线变量、绘制曲线的方式、是否进行曲线比较等: ?列表框:显示已经添加的变量的名称及绘制方式定义等。 ?“增加”按钮:增加变量到曲线图表,并定义曲线绘制方式。 单击该按钮,弹出如图3所示的对话框。 图2 历史曲线控件固有属性

在POWERBUILDER中使用WINSOCK控件的方法

---- 随着资源共享和实时通讯的需要,很多计算机应用程序早已甩开单兵作战的模式,转入联合行动。 ---- 网络在计算机世界里,越来越发挥着举足轻重的作用。在WINDOWS应用程序中,处理实时通讯最常用到的还是MICROSOFT公司提供的WINSOCK控件。许多资料都细述了WINSOCK在VB中的使用方法,就连WINDOWS本身提供的hlp文件也是针对VB而写的。笔者因为实际应用的需要,琢磨出了WINSOCK控件在PB中的应用方法。好东西不敢独自享用,拿出来与大家共享。 ---- 下面以一个简单程序为例,说明WINSOCK控件在PB中的使用: ---- 一、在窗口中添加WINSOCK控件: ---- 在应用中新开一个窗口,在窗口画板中点击controls-->OLE菜单项,弹出Insert object窗口,单击Insert control标签,从列表框中双击选定Microsoft Winsock control,将winsock的图标贴在窗口上。 ---- 在程序中该控件名称定为winsock_a(甲方)和winsock_b(乙方)。 ---- 二、设置信息输入输出文本框: ---- 在窗口中增加一个按钮cb_1,两个单行文本框sle_1,sle_2,分别用于输入要发送的字符串和接受对方发送的字符串。 ---- 三、设置通讯协议: ---- WINSOCK控件允许用户以UDP和TCP两种协议中任选一种进行通讯。 ---- 1.UDP协议设置:UDP协议是一种无连接的通讯协议,在通讯之前,需要绑定remotehost 和remoteport属性,如果需要双向通讯,还要设置localport属性。 ---- 在甲方(本机地址为:134.1.1.1)窗口的Open事件中加入如下语句: winsock_a.object.protocol=1 //winsock通讯协议设为UDP协议 winsock_a.object.remotehost="134.1.1.2" //对方的ip地址 winsock_a.object.remoteport=6000 //对方的winsock通讯端口号 winsock_a.object.localport=6001 //本机的winsock通讯端口号 winsock_a.object.bind

新控件XtraReport使用

软件工程研究所 新控件报表使用方法版本号:13.2.6 制作人:艾传波 2014/11/23

目录 一、提前准备 (2) 二、连接数据库 (3) 三、拖入数据集 (5) 四、报表控件使用 (6) 4.1设置属性实现报表 (6) 4.2通过动态编码实现报表 (17)

一、提前准备 以学生管理系统为例,数据库脚本如下: create table S ( SNO VARCHAR2(3), SNAME VARCHAR2(10), SEX VARCHAR2(10), ADDRESS VARCHAR2(50), MAJOR VARCHAR2(50) ); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('1', '赵一','男','湖北大学三期公寓3037','计算机科学与技术'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('2', '钱二','男','湖北大学三期公寓1000','计算机科学与技术'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('3', '孙三','男','湖北大学三期公寓6890','计算机科学与技术'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('4', '李四','女','湖北大学三期公寓1234','软件工程'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('5', '王五','女','湖北大学三期公寓357','软件工程'); insert into S (SNO, SNAME,SEX,ADDRESS,MAJOR) values ('6', '张六','女','湖北大学三期公寓7688','软件工程'); create table C ( CNO VARCHAR2(3), CNAME VARCHAR2(30), CTEACHER VARCHAR2(10) ); insert into C (CNO, CNAME, CTEACHER) values ('1', '语文', '语文老师'); insert into C (CNO, CNAME, CTEACHER) values ('2', '数学', '数学老师'); insert into C (CNO, CNAME, CTEACHER) values ('3', '英语', '英语老师'); insert into C (CNO, CNAME, CTEACHER) values ('4', '历史', '历史老师'); insert into C (CNO, CNAME, CTEACHER) values ('5', '地理', '地理老师'); insert into C (CNO, CNAME, CTEACHER) values ('6', '生物', '生物老师'); create table SC ( SNO VARCHAR2(3),

相关文档