博文

VB条形码编码(2005-09-22 20:42:00)

摘要: VB条形码编码 点击数:488    发布日期:2005-7-3 22:17:00   【评论】【打印】【收藏此页到365Key】


 
VB条形码编码
类型:转载

    条形码技术广泛应用于各行各业,你随便拿起一本书、一包薯片都可以在外包装上找到,利用条码读取机便可将这一条条黑白相间、粗细不同的垂直线条识别而转换为具体的数值,并将这个数值返回到计算机中进行处理。正是这样,有了条形码技术,人们很方便就能取得该商品的有关信息如商品名称、规格、价格等,因为每种商品都有其对应的条形码,这个条形码计算机(终端、服务器)中就可以迅速返回用户,从数据库中读取约定的商品,信息使得销售、进货、存货等等管理更有效率,也对防止假冒伪劣又一定的抑制作用。
条码的编码方式有多种,不同行业,不同国家标准也不尽相同。条形码通过线条的粗细来表达其数值。至于接口方式一般也有多种,如键盘口的、串行口的。一般传感装置是光罩式的,也有笔式的。
上面笼笼统统地谈了一些关于条形码的知识,可帮助你更好地阅读以下更深入的内容。条形码有关概念先说到这里,接着是详细具体的编程实现方法。

     
一、条形码的读取
    用过键盘口式的扫条码工具的朋友就知道,它就如同在鍵盘上按下数字鍵一样,基本不需任何编程和处理。但如果你使用的是其它接口的话,可能你就要为该设备编写通讯代码了。以下有一段简单的25针串口的条码读取器通讯代码。
Option Explicit
Dim sData As String
Private Sub Form_Load()
With MSComm1
   .CommPort = 3 '设为COM3,试运行的系统而定,你可提供一个Combox让用户选择。
   .PortOpen = True '打开通讯端口
End With
End Sub

&nb......

阅读全文(2975) | 评论:1

在VB中调用CHM 帮助的几种方法(2005-09-22 20:41:00)

摘要: 在VB中调用CHM 帮助的几种方法 点击数:483    发布日期:2005-6-24 14:59:00   【评论】【打印】【收藏此页到365Key】


  在VB中调用CHM 帮助的几种方法
类型:转载
一个应用程序不论编制得如何完美,在很多情况下用户还是会对如何使用它提出问题。 Visual Basic 提供了对两种不同帮助系统的支持:传统的 Windows 帮助系统 (WinHelp)和新的 HTML 帮助(CHM帮助)。当我们制作好帮助文件后,就需要在程序的适当位置编写代码进行调用,本文将讨论几种在程序中调用CHM帮助文件的方法。
方法一 使用F1键:
这种方法最简单,只需如下代码即可:
Private Sub Form_Load()
App.HelpFile = app.path & "\help.chm" '调用与主程序同目录下的help.chm帮助文件,按F1键调用
End Sub

方法二 使用SendKeys方法:
Private Sub Form_Load()
App.HelpFile = app.path & "\help.chm"
End Sub
private Sub CmdHelp_Click()
SendKeys "{F1}" '发送击键到活动窗口
End Sub

方法三 使用Shell函数:
private Sub CmdHelp_Click()
Shell "hh.exe help.chm", vbNormalFocus 'help.chm为指定的帮助文件,可包含路径。
End Sub

方法四 使用HtmlHelp函数:
先声明如下API:
Option Explicit
Private Declare Function HtmlHelpA Lib "hhctrl.ocx" (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVa......

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

VB的工程限制(2005-09-22 20:39:00)

摘要: VB的工程限制  
  转载自:http://www.vb60.com

Visual Basic 的工程限制
Visual Basic 的工程限制(摘自Visual Basic 6.0 中文版程序员指南)

一个单项工程可以包含多达 32,000
个"标识符"(非保留字),它们包括(但不限于)窗体、控件、模块、变量、常量、过程、函数和对象。注意,实际的标识符数受可用内存的限制。
Visual Basic 中的变量名不多于 255 个字符,而窗体、控件、模块和类名不多于 40 个字符。Visual Basic
不限制工程中不同对象的实际数目。

◆控件限制◆

每个非图形的控件(除形状、直线、图像和标签之外的所有控件)都使用一个窗口。每个窗口都使用系统资源,所以可同时存在的窗口总数受到可用资源的限制。确切的限制取决于可用的系统资源和使用的控件类型。为了减低系统资源的消耗,在创建或显示图形时,可以使用形状、直线、标签和图像控件而不用图片框控件。
1、控件总数
单个窗体允许使用的最大控件数目取决于使用的控件类型和可用的系统资源。然而,有每个窗体只允许 254
个控件名的固定限制。因为数组中的所有控件共享一个控件名,所以控件数组仅对这一限制计数一次。在所有的版本中,对控件数组索引的限制是在 0 到
32,767 的范围之内。如果在每个控件的顶层上再安放控件,例如在框架中嵌套框架控件,VisualBasic 一般只接受不多于 25 层的嵌套控件。
2、对特殊控件的限制
下表列出了用于 Visual Basic 中特殊控件的属性限制。
List和ListCount列表框控件和组合框控件:项数最多为32K,对每项大小的限制为1K(1024 字节);
Text文本框控件:限制为64K;
Caption标签控件:限于1024字节;
命令按钮控件、复选框控件、框架控件和选项按钮控件:限于255个字符,任何超过这些限制的标题均被截尾;
自定义控件属性的标题:限于32K
菜单控件:限于235个字符
Tag所有控件:仅限于可用的内存大小
Name所有控件:限于......

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

让你的VB程序支持多国语言的切换(2005-09-22 20:38:00)

摘要: 让你的VB程序支持多国语言的切换
 
  本文摘自网上,版本归原作者所有,转载请注明!!!

以前做过一个vb的小项目,客户需要软件同时能够支持中文和英文,为此写了一个自动语言切换的模块来用,不敢独享,拿来给大家参考一下

 模块 MdlLanMgr.bas :
  Attribute VB_Name = "ModuleLanMgr"
  Option Explicit

  Private Declare Function GetPrivateProfileString& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String)

  Private LanguageFileName As String

  '选择语言

  Public Sub SelectLanguage(LanName As String)
  On Error Resume Next
  
  Select Case LanName '根据用户选择的语言的名称,分别读取不同的语言文件
  Case "English":
  LanguageFileName = AddSplash(App.Path) & "English.Lan"
  Case "Chinese(Simplify)":
  LanguageFileName = AddSplash(App.Path) & "ChineseS.Lan"
  Case "Chinese(Traditional)":
  LanguageFileName = AddSplash(App.Path) & "ChineseT.......

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

windowkeyizai开始运行的命令(2005-09-22 20:31:00)

摘要:开始——运行。。。。。。大家一定很熟悉了吧,但出了PING,REGEDIT,MMC之外还还记得什么吗?那就来这儿

看看吧!
winver---------检查Windows版本
wmimgmt.msc----打开windows管理体系结构(WMI)
wupdmgr--------windows更新程序
wscript--------windows脚本宿主设置
write----------写字板
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天

mem.exe--------显示内存使用情况
Msconfig.exe---系统配置实用程序
mplayer2-------简易widnows media player
mspaint--------画图板
mstsc----------远程桌面连接
mplayer2-------媒体播放机
magnify--------放大镜实用程序
mmc------------打开控制台
mobsync--------同步命令

dxdiag---------检查DirectX信息
drwtsn32------ 系统医生
devmgmt.msc--- 设备管理器
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc---磁盘管理实用程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dvdplay--------DVD播放器

net stop messenger-----停止信使服务
net start messenger----开始信使服务
notepad--------打开记事本
nslookup-------网络管理的工具向导
ntbackup-------系统备份和还原
narrator-------屏幕“讲述人”
ntmsmgr.msc----移动存储管理器
ntms......

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

vb中如何实现支持客户-服务器编程(2005-09-22 19:21:00)

摘要:现在大多数语言都支持客户-服务器模式编程,其中VB给我们提供了很好的客户-服务器编程方式。下面我们用VB来实现TCP/IP网络编程。
  TCP/IP协议是Internet最重要的协议。VB提供了WinSock控件,用于在TCP/IP的基础上进行网络通信。当两个应用程序使用Socket进行网络通信时,其中一个必须创建Socket服务器侦听,而另一个必须创建Socket客户去连接服务器。这样两个程序就可以进行通信了。
  1.创建服务器,首先创建一个服务端口号。并开始侦听是否有客户请求连接。
  建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件)
  添加两文本框Text1,Text2,和一按钮Command1
  Private Sub Form_Load()
  SockServer.LocalPort = 2000 ′服务器端口号,最好大于1000
  SockServer.Listen ′开始侦听
  End Sub
  Private Sub Form_Unload(Cancel As Integer)
  SockServer.Close
  End Sub
  Private Sub SockServer_Close()
  SockServer.Close
  End Sub
  Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
  SockServer.Close
  SockServer.Accept requestID ′表示客户请求连接的ID号
  End Sub
  ′当客户向服务器发送数据到达后,产生DataArrival事件,在事件中接收数据,GetData方法接收数据。
  Private Sub SockServer_Data
Arrival(ByVal bytesTotal As Long)
  Dim s As String
  SockServer.GetData s
  Text1.Text = s
  End Sub
  当我需要向客户发送数据时,只需调用......

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

vb字符串使用了三种字符集 (2005-09-20 22:20:00)

摘要: vb字符串使用了三种字符集:ANSI、DBCS 和 Unicode
Unicode 和 ANSI/DBCS 之间的差别如下:

ANSI
ANSI 是个人计算机使用得最普遍的字符集。由于 ANSI 标准使用单一字节表示每个字符,因此最多只能有 256 个字符和标点符号代码。虽然对英语来说已经足够了,但不能完全支持其它语言。

DBCS
发行在亚洲大部分地区的 Microsoft Windows 系统使用 DBCS。它支持很多不同的东亚语言字母,如汉语、日语和朝鲜语。DBCS 使用数字 0–128 表示 ASCII 字符集。其它大于 128 的数字作为前导字节字符,它并不是真正的字符,只是简单的表明下一个字符属于非拉丁字符集。在 DBCS 中,ASCII 字符的长度是一个字节,而汉语、日语、朝鲜语和其它东亚字符的长度是 2 个字节。
其汉字的编码方法参看我发的“汉字编码原理”,里面的“国家标准汉字机内码”就是DBCS字符集。

Unicode
Unicode 是用两个字节表示每个字符的字符编码方案。国际标准组织 (ISO) 几乎为每种语言的每个字符和符号在 0 到 65,535 (216 – 1) 范围内定义了一个数字(再加上为将来发展保留的一些空余空间)。在所有 32 位版本的 Windows 中,部件对象模型 (COM) 都使用 Unicode,它是 OLE 和 ActiveX 技术的基础。Windows NT 全部支持 Unicode。虽然 Unicode 和 DBCS 都是双字节字符,但它们的编码方案完全不同。
至于汉字的Unicode编码原理,我目前还没有找到这方面的资料,如果那位朋友有,希望能发上来与大家共享,谢谢!!!
......

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

Winsock编程框架(2005-09-20 22:20:00)

摘要:Winsock编程框架
     在TCP应用中,为了建立一个网络连接实例(Instance)的服务器端,只需设置本地服

务端口号,然后服务器调用方法Listen进入阻塞状态,等待来自客户的连接请求。与此对

应的客户端不但要将Winsock的属性RemoteHost置为服务器的名称(IP地址或网络代号),

还应设置服务器所监听的相应服务的端口号(RemotePort),如FTP服务在21号端口,HTTP

在81号端口等。然后调用方法Winsock.Connect向服务器发出请求。服务器接收到客户请

求时,事件ConnectionRequest将被触发。如服务器愿意提供服务,则可调用Accept方法

接受连接。


  一旦连接建立,两端均可使用SendData或GetData进行数据的发送或接收。事件

DataArrival将在另一端数据准备就绪时被触发。


  UDP协议的实现与TCP不同的是,调用Sockets的两端无需建立连接便可进行数据的传

输。因此,一个UDP应用可以同时担任服务器或客户的角色。


  以下程序代码为Visual Basic Windows Sockets编程的基本框架。


   注释:服务器方


   Private Sub Command1.Click()


   注释:设置本地服务端口号


   Winsock1.localport=2048
注释:服务器进入监听状态


   Winsock1.listen


   End Sub
  Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)


  注释:收到客户连接请求


  注释:检查Socket状态


  If Winsock1.State <> sckClosed Then Wi......

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

vb实现远程控制(2005-09-20 22:18:00)

摘要:做完了这些准备工作,就可以开始着手编写代码了。
在Form窗口上点击鼠标右键,选择查看代码,并在代码窗口中输入如下代码:
Private Sub Form_Load()
Winsock1.RemoteHost = "对方计算机名"
'如果想通过对方IP连接的话,请把上面一行改为Winsock1.RemoteHostIP="对方IP"。
Winsock1.RemotePort = 1001
'可以任意填写,最好在1000以上
End Sub

Private Sub cmdconnect_Click()
Winsock1.Connect         '连接主机
Cmdcommand.Enabled=True   '将cmdcommand按钮设为有效
cmdconnect.Enabled = False
End Sub

Private Sub cmdCommand_Click()
Dim CommandMain As String
CommandMain = InputBox("请输入命令:", "命令窗口")
Winsock1.SendData CommandMain '向服务器端发送数据
End Sub
    看到这里应该祝贺你,你已经完成了客户端的编写。不要这麽吃惊,真的就这麽简单。
当然前面已经说过,这种程序是由两部分组成的,所以光学会做客户端还不够。你还必须要
编写一个服务器端来接受并执行客户端所发出的命令,否则的话你所发出的命令就会"一去兮
,不复返也"。
    编写服务器端的程序前,必须明确的是:你到底要服务器端计算机做什麽?我们假定要
服务器端计算机在接受到reboot命令后重启计算机,接受到shutdown命令后关闭计算机,接
受到logoff命令后注销计算机、接收到close命令后退出本程序以及接受到其他命令后默认为
Message消息。为此我们必......

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

vb教程(2005-09-20 22:08:00)

摘要:不同作用范围变量的声明方式
作用范围              局部变量             模块级变量           公用变量
声明方式             Dim,ststic    Dim,private           Public
声明位置            过程内部               通用部分         模块的声明段
其他过程能否调用      不能                     能           能
其他模块能否调用      不能&nb......

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