博文

VB必藏小技巧(2005-09-22 20:45:00)

摘要: VB_小技巧
 
  获取X字符串包含字母“B”的数量,最简单方法===========================
    UBound(Split(x, "B"))

剪贴板相关===========================================================

  '全选
  Private Sub mnuSelectAll_Click()
  RichTextBox1.SelStart = 0
  RichTextBox1.SelLength = Len(RichTextBox1.Text)
  End Sub
  
  '粘贴
  Private Sub mnuPaste_Click()
  RichTextBox1.SelText = Clipboard.GetText
  End Sub
  
  '查找
  Private Sub mnuFind_Click()
  sFind = InputBox("请输入要查找的字、词:", "查找内容", sFind)
  RichTextBox1.Find sFind
  End Sub
  
  '继续查找
  Private Sub mnuFindOn_Click()
  RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1
  RichTextBox1.Find sFind, , Len(RichTextBox1)
  End Sub


TextBox操作==========================================================

1、限制只能输入数字

参考下列程序:
Sub Text1_KeyPress(KeyAscii As Integer)
If K......

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

身份证号码校验位计算函数(VB版)(2005-09-22 20:43:00)

摘要: 身份证号码校验位计算函数(VB版) 点击数:443    发布日期:2005-7-8 9:24:00   【评论】【打印】【收藏此页到365Key】


  function fcs(s)'s为17位号码,含“19”,仅返回最后的校验位
sum1 = Mid(s, 1, 1) * 7 + Mid(s, 2, 1) * 9 + Mid(s, 3, 1) * 10 + Mid(s, 4, 1) * 5 + Mid(s, 5, 1) * 8 + Mid(s, 6, 1) * 4 + Mid(s, 7, 1) * 2 + Mid(s, 8, 1) + Mid(s, 9, 1) * 6 + Mid(s, 10, 1) * 3 + Mid(s, 11, 1) * 7 + Mid(s, 12, 1) * 9 + Mid(s, 13, 1) * 10 + Mid(s, 14, 1) * 5 + Mid(s, 15, 1) * 8 + Mid(s, 16, 1) * 4 + Mid(s, 17, 1) * 2
Select Case sum1 Mod 11
Case 0
fcs = "1"
Case 1
fcs = "0"
Case 2
fcs = "x"
Case 3
fcs = "9"
Case 4
fcs = "8"
Case 5
fcs = "7"
Case 6
fcs = "6"
Case 7
fcs = "5"
Case 8
fcs = "4"
Case 9
fcs = "3"
Case 10
fcs = "2"
End Select
end function......

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

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......

阅读全文(2915) | 评论: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......

阅读全文(2038) | 评论: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所有控件:限于......

阅读全文(2933) | 评论: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.......

阅读全文(1663) | 评论: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......

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

76种语言说“我爱你”!(2005-09-22 19:23:00)

摘要: 76种语言说“我爱你”! 点
  法语:Je t'aime,Je t'adore
德语:Ich liebe Dich
希腊语:S'agapo
犹太语:Ani ohev otach(male or famale),Ani ohevet otcha (male or famale)
匈牙利:Szeretlek
爱尔兰:taim i'ngra leat
爱沙尼亚:Mina armastan sind
芬兰:Min rakastan sinua
比利时佛兰芒语:IK zie u graag
意大利语:ti amo,ti vogliobene
拉丁语:Te amo,Vos amo
拉托维亚:Es tevi Milu
里斯本:lingo gramo-te bue',chavalinha
立陶宛:Tave Myliu
马其顿:Te sakam
马耳他:Inhobbok
波兰语:Kocham Cie,Ja cie kocham
葡萄牙:Eu amo-te
罗马尼亚:Te iu besc,Te Ador
荷兰:IK hou van jou
英语:I love you
捷克:Miluji te
丹麦:Jeg elsker dig
阿尔萨斯:Ich hoan dich gear
亚美尼亚:Yes Kezi Seeroom yem
巴伐利亚:I mog di narrisch gern
保加利亚:ahs te obicham
西班牙加泰隆语:T'estim
克罗地亚:Volim te
阿塞疆语:Men seni serivem
孟加拉:Ami tomay bhalobashi
缅甸:chit pa de
柬埔寨:Bong salang oun
菲律宾:Mahal Kita,Iniibig Kita
印度古吉拉特语:Hoon tane prem karun chuun
北印度语:main tumse pyar karta hoon
印度尼西亚:Saj......

阅读全文(1224) | 评论: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
  当我需要向客户发送数据时,只需调用......

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

嫁人千万不要嫁农村的姐妹们,为了大家的终生幸福,嫁人不要嫁农村的!(2005-09-20 22:31:00)

摘要:嫁人千万不要嫁农村的姐妹们,为了大家的终生幸福,嫁人不要嫁农村的!

当你谈恋爱的时候,你会觉得无比的甜蜜和幸福。因为能够到城里来念大学、和你相识的男孩子,都是从农村跳龙门走出来的优秀分子,他们坚定、上进、能吃苦、有一定的阅历,和他们在一起总是会对生活充满憧憬。
但这一切只能局限在纯粹的感情层面上,当你们要从恋爱进入“结婚”,走进现实生活的时候,就会发现原来感情在现实的力量面前远没有你所想象的那么强大。

第一眼见到他,你可能已经被他迷住了。
终于,你们走到一起了,走过了4年被象牙塔包围不受现实力量侵害的日子,终于要开始面对现实了。他凭着他的优秀,能拿到较高的工资。他凭着他的上进心,能够在事业上开创一番局面。他凭着他从农村出来的淳朴和责任心,让你绝对没有情敌的威胁。你会感到那么心醉,觉得世间好男人就是这样的了。
事实真的是这样的么?

首先是生活观念的冲突。
当你们小时候被父母带着去游乐园吃棉花糖坐过山车的时候,你们的男朋友是在地里耍泥巴。当你们7岁生日礼物是一架钢琴——也许你并不喜欢,他们可能在那个时候才得到人生第一双属于自己的袜子。当你们高三时候父母总是会鼓励你们考好成绩上好大学,他们的父母在忧心成绩优秀的儿子能不能交上昂贵的学费。
由于这样生活环境的不同,在将来漫长的生活当中你才会发现你们之间共同语言有多么苍白,话题渐渐稀少。他或许更喜欢沉溺在网络游戏或者哥们喝酒聊天当中,你也许和女伴一道逛街买名牌时间更多。就连看一部电影你们的着眼点都会有很大差异,你才会发现——沟通原来这么困难。

然后就是不可避免的经济问题。
你是家里的姣姣女,你的父母靠着一辈子的辛苦有了一定的积蓄和家底,当然不会让自己心爱的女儿吃苦。所以他们会把你的男朋友照顾得很好,给你们足够多的钱,甚至让你们娱乐的时候也不用担心花费太大。你的他花钱可能会很节省,但如果他的家庭向工资高的他伸手的时候,无论是你还是他都没有任何理由拒绝。基于对他的爱,可能连你都会鼓励他给更多的钱。

结婚,前奏就是房子。你的父母也许可以和你坐下来谈谈,拿出5万10万来,作为房子的首付款或者装修钱。
他呢?你完全不必奢望。他连上大学的钱都是困难重重,已经工作并且成为顶梁柱的他怎么可能从父母手中再拿钱,......

阅读全文(2209) | 评论:7