博文

Demonstrate the Graphics object's drawin(2006-06-19 19:50:00)

摘要:This program demonstrates the Graphics object's drawing methods: DrawLine, DrawLines, DrawPath, DrawEllipse, DrawPie, DrawRectangle, DrawRectangles, DrawArc, DrawPolygon, DrawString, DrawBezier, DrawBeziers, DrawClosedCurve, DrawCurve, and DrawImage. Imports System.Drawing.Drawing2D ... Private Sub Form1_Paint(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles _ MyBase.Paint ' Draw a line. e.Graphics.DrawLine(Pens.Black, 10, 10, 30, 20) ' Draw a series of connected lines. Dim pts() As Point = { _ New Point(10, 20), _ New Point(30, 30), _ New Point(50, 10), _ New Point(30, 10), _ New Point(50, 30) _ } e.Graphics.DrawLines(Pens.Blue, pts) ' Draw a path. ' Make the path. Dim graphics_path As New GraphicsPath graphics_path.AddLine(10, 40, 60, 40) graphics_path.AddEllipse(60, 30, 30, 20) e.Graphics.DrawPath(Pens.Red, graphics_path) ' ......

阅读全文(2379) | 评论:0

用数据源控件进行数据访问(2006-06-18 21:15:00)

摘要:对 ASP.NET 网页的常规要求是能够显示或更新数据。您可以使用数据源控件轻松地添加对网页的数据访问。数据源控件封装数据访问(选择、更新、删除和插入记录)所需的常见功能。随后,您可以将页上的其他控件绑定到数据源控件,绑定的控件在需要显示数据时可以调用数据源控件。
例如,如果要使用 Microsoft SQL Server 数据库中的数据,则可以向页中添加一个 SqlDataSource 控件。使用连接信息(服务器名称、数据库、身份验证信息)配置 SqlDataSource 控件,并指定用于选择和更新数据的 SQL 查询。然后,可以使用简单的属性设置将诸如 GridView 或 DropDownList 的控件绑定到该 SqlDataSource 控件。页的 HTML 可能类似于下面的形式:




 


<aspqlDataSource id="sqlCategories" runat="server"
ConnectionString="server=MySqlServer; Integrated Security=SSPI; Database=Northwind" SelectCommand="Select * From Categories"
/>
<aspropDownList DataSourceId=" sqlCategories" runat="server"/>
当页运行时,DropDownList 控件自动在 SqlDataSource 控件上调用 Select 查询以获取数据。通过使用数据源控件和简单的数据绑定,无需编写任何代码即可创建功能强大的数据绑定 ASP.NET 网页。
数据源控件的功能

数据源控件旨在简化 ASP.NET 网页中的数据访问。同时,数据源控件保留了以编程方式使用数据库功能的灵活性。下面的列表汇总了数据源控件作为一个组的功能。主题 http://bbs.mscommunity.com/Forums/ShowThread.aspx?PostID=10832 提供了有关 ASP.NET 中各个数据源控件的功能的更多详细信息。通过数据源控......

阅读全文(4206) | 评论:0

Visual Basic.NET和GDI+共创图标编辑器(2006-06-18 21:08:00)

摘要:果想自己设计一个个性独特的ico图片,然后让它成为如"我的电脑","回收站"这样的图标该怎么做?就只有用一些专门的画图工具。因为windows的的画图程序无法创建ico文件。于是本人利用.net和GDI+就编写了一个这样的画图工具。 虽然现在有很多文章都介绍了GDI+技术,但都只是纯粹的GDI+的简单应用的介绍,至少我还没有看见一篇利用GDI+开发一个完整软件或程序片段的文章。

  这个程序实现了以下的功能:将BMP、JPG、jpeg、GIF、.png、.tiff文件转化成ico文件,可以对转化后的文件进行编辑;创建并编辑一个新的ico文件;对已有的ico文件进行编辑。所有被编辑的文件都保存为ico文件,可以在任何可使用ico文件的地方使用它们。

  我先说明一下什么是GDI+。GDI+ 是GDI(Windows 早期版本提供的图形设备接口)的后续版本,是Microsoft Windows XP操作系统即后续版本的图形显示技术。它已经集成到了.net开发环境中,所以不管你的OS是什么版本,只要安装了.NET框架,就有了GDI+(注意:是.net框架,而不是.net开发环境,所以win98中也可以使用GDI+)。当然它也提供了传统的api,可以由.net或非.net开发工具调用它。由于他和GDI的使用有很大的差别,所以要使用GDI+就必须从头学。GDI+要比GDI简单得多。

  现在就来看一下如何实现这个软件:先添加picturebox,0penfiledialog,savefiledialog,colordialog,domainupdown,label控件;然后添加两个菜单即它们的子菜单,添加的菜单如下"文件"菜单包括"新建","打开","保存","退出","功能"菜单包括"直线","选择颜色"代码如下,在代码后给出程序说明:

Public Class Form1
Inherits System.Windows.Forms.Form
Public imagepen, newbit, changiamge, mpen 'movepen,moveb,,grh,filenames,endpen
Dim xd, yd, xu, yu, pk, ps

Privat......

阅读全文(1696) | 评论:0

Visual Basic环境下Video/ Audio压缩数据流播放技术 (2006-06-04 21:12:00)

摘要:Visual Basic环境下Video/ Audio压缩数据流播放技术
国防科技大学
张汉华 计科峰
---- 1. 引言

---- 银行的数字化监视监控系统是目前比较有市场及应用前景的开发项目,基于不同的MPEG采集卡与硬件外围设备开发的监视监控系统在国内外都有比较成型的技术。为了满足实时监视、实时采集压缩、随时回放、压缩数据流的传播等具体要求,在该系统中使用了一种用于网络视频/音频多点传输(视频广播)的视频数据采集卡,提供AVI(MPEG I Frame压缩编码)采集、MPG采集。发送端广播MPEG流,接受端接受MPEG流并显示,网络传输采用WinSock 2 IP-Multicast。如果本机为发送端,网络上另外任何一台PC可以作为接收端。只要指定不同端口号,同时可以有多台PC机作为发送端,多台PC机作为接收端接收不同发送端的视频数据,也可在传送数据的同时在本机将数据存为MPEG文件。本文主要介绍在VB的环境下开发MPEG卡采集的Audio/Video数据播放的一些编程技巧。

---- 2. MPEG的内容与发展简介

---- 多媒体信息主要包括图像、声音和文本三大类。其中视频、音频等信号的信息量是非常大的,而且这些信息的表达方式、输入、输出的要求也各不同。对这些数据进行有效的表达和适当处理是很重要的,它使多媒体信息压缩技术成为多媒体通信领域中的关键技术之一。ISO与IEC于1988年联合成立的MPEG(Moving Picture Expert Group),致力于运动图像及其伴音编码的全球标准化工作。它包括MPEG系统:MPEG视频、MPEG音频。为了推动社会由文本信息时代向多媒体信息时代过渡,ISO继MPEG-1、2和4后又推出了MPEG-7。

---- MPEG-1制定于1993年(ISO/IEC 11172),是针对1.5Mbit/s以下数据传输率的数字存储媒质运动图像及其伴音编码的国际标准。视频压缩率为26:1。MPEG-2制定于1995年(ISO/IEC 13818),是CCIR601建议的图像质量DVB、HDTV和DVD制定的3-10Mbit/s的运动图像及其伴音编码的国际标准。与前面基于信息论的波形编码理论,针对一定比特率的视频、音频编码的MPEG标准不......

阅读全文(1720) | 评论:0

用VB开发多通道仪表数据采集程序(2006-06-04 21:11:00)

摘要:用VB开发多通道仪表数据采集程序
(作者:李湘江 2000年10月10日 11:39)

  1.前言

  实时数据采集系统过去在DOS操作系统下一般是采用汇编语言开发制作。随着Windows操作系统的普及应用,数据采集及工业控制等软件的开发也上升到 Windows环境下。可视化软件开发平台的出现,为软件开发提供了强大的图形界面功能,使得开发出来的各种应用软件具有良好的人机交互功能。汇编语言的特点是功能强、运行速度快,但编程复杂、调试难,而高级语言具有良好的可读性及方便的调试手段。

  Visual Basic 是Windows环境下简单、易学、高效的可视化编程语言开发系统,以其所见即所得的可视化界面设计风格和32位面向对象的程序设计等特点,已广泛地应用于各个领域,是很多计算机软件开发人员采用的开发工具。VB不但提供了良好的界面设计能力,而且在微机串口通信方面也有很强的功能。采用 VB开发Winodws下的数据采集和工业控制应用软件十分方便,尤其软件界面设计非常便捷,编程工作量较小,开发周期短,特别适合非计算机专业的工程技术人员掌握和使用。

  

  2.MSComm控件特点

  MSComm控件是Microsoft提供的扩展控件,用于支持 VB程序对串口的访问,该控制“隐藏”了大部分串口通讯的底层运行过程和许多烦琐的处理过程,同时支持查询方法和事件驱动通讯的机制,事件驱动通讯是交互方式处理串口事务的一种非常有效的方法,特别适合 Windows程序的编写。在串口通讯过程中,当发送数据、收到数据或产生传输错误时,触发MSComm控件的OnComm事件,然后可以通过判断 CommEvent属性值获得事件类型,再根据事件类型进行相应数据处理。因此用其实现微机串口的数据通讯相当简单,以很少的程序代码就可以轻松实现串口的访问和数据通讯。

  

  3.实时数据采集示例程序

  下面给出的应用实例,通过对一台工业八通道实时检测仪表数据通讯协议进行分析,利用VB6.0开发微机通过串口对多通道工业仪表进行实时数据采集的编程技术。给出的程序代码具有通用性,并有详示,可以直接或稍加改动后用于其它数据采集或实时控制程序中。

  ......

阅读全文(2362) | 评论:0

Visual Basic的九次蜕变(2006-06-04 21:07:00)

摘要:Visual Basic从1991年诞生以来,现在已经13年了。BASIC是微软的起家产品,微软当然不忘了这位功臣。随着每一次微软技术的浪潮,Visual Basic都会随之获得新生。可以预见,将来无论微软又发明了什么技术或平台,Visual Basic一定会首先以新的姿态登上去的。如果你想紧跟微软,永远在最新的技术上最快速地开发,你就应该选择Visual Basic。



  1991-西雅图夜空的雷电

  随着Windows 3.0的推出,越来越多的开发商对这个图形界面的操作系统产生了兴趣,大量的Windows应用程序开始涌现。但是,Windows程序的开发相对于传统的DOS有很大的不同,开发者必须将很多精力放在开发GUI上,这让很多希望学习Windows开发的人员却步。1991年,微软公司展示了一个叫Thunder的产品,所有的开发者都惊呆了,它竟然可以用鼠标“画”出所需的用户界面,然后用简单的BASIC语言编写业务逻辑,就生成一个完整的应用程序。这种全新的“Visual”的开发就像雷电(Thunder)一样,给Windows开发人员开辟了新的天地。这个产品最终被定名为Visual Basic,采用事件驱动,Quick BASIC的语法和可视化的IDE。Visual Basic 1.0带来的最新的开发体验就是事件驱动,它不同于传统的过程式开发。同时,VBX控件让可视化组件的概念进入Visual Basic。Visual Basic 1.0是革命性的BASIC,它的诞生也是VB史上的一段佳话。

  Visual Basic 1.0

  1992-渐入佳境的Visual Basic,由于Windows 3.1的推出,Windows已经充分获得了用户的认可,Windows开发也进入一个新的时代。Visual Basic 1.0的功能过于简单,相对于Windows 3.1的强大功能没有发挥出来。所以,微软在1992年推出了新版本Visual Basic 2.0。这个版本最大的改进就是加入了对象型变量,比如

Dim b As CommandButton
Dim c As Control

  而且有了最原始的“继承”概念,对象型变量分为一般类型(Control和Form......

阅读全文(1879) | 评论:0

在VB.NET中给菜单加上图标(2006-05-26 20:13:00)

摘要:Adding icons to menus in VB.NET 'IconsMenuMain.vb
'Module for adding icons to menus... Imports System
Imports System.ComponentModel
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Drawing.Text
Imports System.Windows.Forms
Module IconsMenuMain   Dim m_Font As New Font("Arial", 8)   Sub MeasureItems(ByVal EvMeasureItem As System.Windows.Forms.MeasureItemEventArgs, _
           ByVal Mi As MenuItem)
    Dim sf As StringFormat = New StringFormat()
    sf.HotkeyPrefix = HotkeyPrefix.Show
    sf.SetTabStops(60, New Single() {0})
    EvMeasureItem.ItemHeight = 22
    EvMeasureItem.ItemWidth = CInt(EvMeasureItem.Graphics.MeasureString(GetRealText(Mi), _
                       &......

阅读全文(2571) | 评论:0

在VB.NET中使用MS Access存储过程(2006-05-26 19:58:00)

摘要:介绍
  
  
  
   最新发布的MS Access中,微软已经尽努力使这种产品成为一个真正全功能的关系数据库系统。 存储过程,一个通常和企业数据库系统例如SQLServer相关的功能,现在也可以在Access里找到了。 自从Access2000以来,Access已经具备了存储过程的功能,而且是Jet 4 Database Engine自带的。如果你习惯于在SQL SERVER里使用存储过程,那么你就会很熟悉它们如何在Access里使用。 但是要记住有一些限制。我会稍后作讨论。
  
  
   这篇文章分成两个部份。 第一部份会详细描述如何在使用ADO.NET和Visual Basic.NET在Access里创建存储过程。 第二部份则会示范如何利用在第一部分创建的存储过程来创建一个数据访问层,并且在你自己的应用程序中使用。 这篇文章中的代码已经在Access2002种测试通过,即使如此,它也应该能运行于Access2000。
  
   存储过程如何在Access里工作?
  
   不像在Access里的其它的对象,存储过程没有用户界面,并且不能在Access的界面里创建。 要建立它们的方法只有编码。我将示范如何在ADO.NET中实现这些代码。
  
   当一个存储过程被添加到Access数据库时,JET Engine会把存储过程转换到一个查询对象。 对一个Access开发者而言,这就象编写一个简单的查询,是不必要的工作。 然而,它确实有它的优点。考虑一下,一个应用系统必须为了分开Access版和SQL SERVER版而分成2个系统的情况吧。 使用存储过程会使为应用程序的数据库访问层写代码变得更容易,程序在不同的版本之间区别很小。
  
   创建存储过程
  
   为了示范,我会先显......

阅读全文(2272) | 评论:0

如何用VB.Net创建一个三层的数据库应用程序(2006-05-26 19:55:00)

摘要:1. 概论:
  
  本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务。
  
   ADO.NET创建Windows三层结构应用程序的体系架构如下图所示:
  
  
  
  该结构分三个层次:表示层、业务层、数据层。
  
  数据层:代表物理数据库。
  
  业务层:负责数据层与表示层之间的数据传输。
  
  表示层:应用程序的客户端,它通过业务层来访问数据库。
  
  表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现。这样可以大大提高应用程序的性能,而且,什么时候更新数据完全由你决定,提高了编程的灵活性。
  
  2.实例:
  
   这里我们具体做一个实例来看看如何用VB.NET创建三层结构的应用程序。
  
  数据库:我们选择SQL SERVER 的NorthWind数据库。
  
  业务层:我们创建一个WebService作为中间层。(需要安装IIS服务)
  
  表示层:我们写一个Windows Form
  
  第一步:创建WebService。
  
  具体步骤如下:
  
  1. 新建一个项目,选择ASP.NET Web服务,命名为:”WebService For 业务层”。
  
  2. 添加两个Sql DataAdapter,一个为Cu......

阅读全文(1715) | 评论:0

Visual Basic6编程中的汉字处理(2006-05-05 22:33:00)

摘要:在DOS时代,拥有一个华丽的汉字菜单几乎是每个高档中文应用程序必须的包装。中文Windows操作系统的出现使得高级开发平台实现全中文的提示和界面非常容易和方便。在一般的应用程序中已经很少需要去专门考虑汉字处理的问题。   但是在许多工程控制和字符串处理的环境中,汉字字符的处理仍然有别于西文字符的处理,需要加以专门的考虑。   一、VB6对汉字处理的支持   对汉字处理,VB6主要是提供了一些输入法设置方面的支持。它提供了一个ImeMode属性和ImeStatus函数来确定和设置输入法的状态。而且此属性和方法只在VB6的东亚区版本中有效。   IMEStatus函数返回一个整数,用来指定当前Windows的输入法(IME)方式。   下面是中文地区的返回值:   常数 值 描述   vbIMENoOP 0 不安装IME(缺省)   vbIMEOn 1 打开IME   ImeMode属性返回或者设置被选定的对象的 IME (Input Method Editor,输入方法编辑器)状态。   可以先用ImeStatus函数来检测当前的输入状态,并用IMEMode来控制其输入状态。   如Text1.IMEMode=0(预定值)、=1(切换为中文输入)、=2(切换为英文输入)   对于简体汉字和繁体汉字 IME,只能使用设置 0 到 2。设置 3 到 10 对于汉字系统是无效的。   VB6功能上对汉字处理的直接支持也仅限于此。对于汉字字符串的处理,VB6并没有提供专门的函数和方法。   二、确定汉字字符串的长度   各个版本的VB对汉字字符的长度定义并不相同。在Windows 3.x中,VB3中认为每个汉字的长度为2字节。VB自从32位版本以後,不管中英文字,均以2 bytes来储存,这与中文Win95的汉字内核有关。但是VB4以后,VB认为每个汉字的长度为1。这在处理包含汉字的字符串时带来很多的不便。   由于Len、Left、Mid等字符串函数认为一个汉字和一个西文字符的长度都为1,因此处理汉字字符串时有一定的难度。实现上必须要能把汉字按照两个字符(字节)的形式读出。因此在截取汉字字符串的子串时需特别注意。   由于汉字处理和汉字字模存储的特殊性,在许多情况下我们希望汉字字符的长度为2,英文字符为1。......

阅读全文(2455) | 评论:0