VB代码,源程序
前些日子,看了一点关于开源的文章,思索了这么些日子,觉得还是开源好,又不是什么机密东西。而且开源了,其他人看了,或许能开发出更好用、更多功能的软件,或许也能把本软件升级到VISTA中去?
功能很简单、代码不复杂,一般会点VB编程的人应该都可以看懂的。
人们都是Linux系统是因为开源,很多人都在完善它才使得它的漏洞少了,但我认为,不是因为它的漏洞少,是因为现在用它的人少,黑客们懒得去弄它。弄他的人少了,自然漏洞就少了,如果真像Windows系统这样子的用的人这么多,那么估计它早起筛子了。毕竟只是会用的人要比会完善它的人要多得多。如果W系统真得开源的话,我想,大概我们不用用有系统的电脑了。。。黑客们得到了它的源代码的话,那么用W系统的也就不用再安装什么防火墙、杀毒软件了,装了也没用。源码都让人得到了,那漏洞不是百出了嘛。
闲话不多说了,放代码吧。不过为了本站的些许利益,还是保留点权利吧:
1、注册用户可下载。
2、其它的也不做太多限制了。只是希望,10个下载里能有三两个能把本站加入收藏,没事了常来看看
3、如果有款哥款姐的,支持点赞助就更好啦!
代码文件的一点说明:
1、需要使用VB6打开。
2、文件说明:
333.ico 程序图标文件
Form1.frm 主窗体文件
Form1.frx 主窗体二进制文件
Form2.frm 高级功能窗体文件
Form2.frx 高级功能窗体二进制文件
Form3.frm 关机提示窗体文件
Module1.bas 模块1,一些效果及功能
Module2.bas 模块2,INI文件读写
MSINET.OCX Microsoft Internet Transfer Control 6.0控件
MSSCCPRJ.SCC Visual SourceSafe的配置
time.ini 程序INI文件
xp.res XP窗体资源文件
工程1.Amp 保存了最后保存工程时候的情况,比如编辑到了第几行。
工程1.vbp VB工程文件
工程1.vbw VB 的工作区文件
3、修改请保留版权及网站链接。
功能很简单、代码不复杂,一般会点VB编程的人应该都可以看懂的。
人们都是Linux系统是因为开源,很多人都在完善它才使得它的漏洞少了,但我认为,不是因为它的漏洞少,是因为现在用它的人少,黑客们懒得去弄它。弄他的人少了,自然漏洞就少了,如果真像Windows系统这样子的用的人这么多,那么估计它早起筛子了。毕竟只是会用的人要比会完善它的人要多得多。如果W系统真得开源的话,我想,大概我们不用用有系统的电脑了。。。黑客们得到了它的源代码的话,那么用W系统的也就不用再安装什么防火墙、杀毒软件了,装了也没用。源码都让人得到了,那漏洞不是百出了嘛。
闲话不多说了,放代码吧。不过为了本站的些许利益,还是保留点权利吧:
1、注册用户可下载。
2、其它的也不做太多限制了。只是希望,10个下载里能有三两个能把本站加入收藏,没事了常来看看
3、如果有款哥款姐的,支持点赞助就更好啦!
代码文件的一点说明:
1、需要使用VB6打开。
2、文件说明:
333.ico 程序图标文件
Form1.frm 主窗体文件
Form1.frx 主窗体二进制文件
Form2.frm 高级功能窗体文件
Form2.frx 高级功能窗体二进制文件
Form3.frm 关机提示窗体文件
Module1.bas 模块1,一些效果及功能
Module2.bas 模块2,INI文件读写
MSINET.OCX Microsoft Internet Transfer Control 6.0控件
MSSCCPRJ.SCC Visual SourceSafe的配置
time.ini 程序INI文件
xp.res XP窗体资源文件
工程1.Amp 保存了最后保存工程时候的情况,比如编辑到了第几行。
工程1.vbp VB工程文件
工程1.vbw VB 的工作区文件
3、修改请保留版权及网站链接。
在VB编程中通常要与数据库打交道,对于数据量较小的应用,一般选用Access作为数据库,因为Access数据库比较简单,功能也比较齐全,数据的备份、拷贝都很方便,且程序发布时不需要额外单独安装其它的数据库管理软件。因此,在功能能够满足要求的条件下,Access数据库往往成为一些小型数据库软件的首选。
关于用VB操作Access库表的方法有多种,一般初学者往往会使用数据控件,许多资料上也大都以此作为操作Access数据库的起点来介绍,因为这个方法使用起来非常简单,但使用数据控件的方法在程序编码上往往不够灵活。现在介绍一下其它两种操作Access数据库的方法。
第一种:使用数据库对象
首先,要进行有关数据对象的声明,代码如下。
生成工作区,打开数据库,然后再根据需要打开相应的库表。
这种方法的优点是代码比较简单,要求的环境为DAO 2.5/3.51,其中表名可以换成SELECT语句,即根据条件打开所需要的记录集,这种方法可脱离数据控件,可以比较方便灵活地操作数据库表,增加了程序的灵活性。
提示:经过测试发现,这种方法只能打开Access97库表,对于Access2000库表却无能为力,会弹出库表格式不对的出错提示。另外,对数据环境的要求仍比较多。
第二种:使用ADODB
首先,声明一个链接变量,并根据需要声明记录集变量。
建立与数据库的链接,如果数据库没有口令,最后一行可以不写(写上也不会错)。
这种方法虽然代码长一些,但对数据环境要求低,且结构清晰,所编写的发布程序也大为减小。由于与链接SQL Server等数据库的方法一样,因而大量的操作数据库的代码相同,当数据库需要由Access扩充到一些大型数据库,或由一些大型数据库裁剪出一个简单数据库时,程序的移植会比较方便。
另外,这种方法对于Access97及Access2000均能很好地支持,兼容性好。对于大量插入、删除、修改等操作,只在Connection层进行即可,既可提高速度又可减少代码。
如果还要获取具体的记录集内容,则须再根据条件打开具体的库表,代码如下:
提示:一般情况下,建议使用第二种方法。
关于用VB操作Access库表的方法有多种,一般初学者往往会使用数据控件,许多资料上也大都以此作为操作Access数据库的起点来介绍,因为这个方法使用起来非常简单,但使用数据控件的方法在程序编码上往往不够灵活。现在介绍一下其它两种操作Access数据库的方法。
第一种:使用数据库对象
首先,要进行有关数据对象的声明,代码如下。
Dim MyWs As Workspace
Dim MyDB As Database
Dim WordTab As Recordset
Dim MyDB As Database
Dim WordTab As Recordset
生成工作区,打开数据库,然后再根据需要打开相应的库表。
Set MyWs = DBEngine.CreateWorkspace″″ ″Admin″ ″″ dbUseJet
Set MyDB = MyWs.OpenDatabase数据库名称 False False
Set WordTab = MyDB.OpenRecordset″表名″ dbOpenDynaset
Set MyDB = MyWs.OpenDatabase数据库名称 False False
Set WordTab = MyDB.OpenRecordset″表名″ dbOpenDynaset
这种方法的优点是代码比较简单,要求的环境为DAO 2.5/3.51,其中表名可以换成SELECT语句,即根据条件打开所需要的记录集,这种方法可脱离数据控件,可以比较方便灵活地操作数据库表,增加了程序的灵活性。
提示:经过测试发现,这种方法只能打开Access97库表,对于Access2000库表却无能为力,会弹出库表格式不对的出错提示。另外,对数据环境的要求仍比较多。
第二种:使用ADODB
首先,声明一个链接变量,并根据需要声明记录集变量。
Dim LocCnn1 As ADODB.Connection
Dim LocRst1 As ADODB.Recordset
Dim LocRst1 As ADODB.Recordset
建立与数据库的链接,如果数据库没有口令,最后一行可以不写(写上也不会错)。
Set LocCnn1 = New ADODB.Connection
LocCnn1.Open ″Provider=Microsoft.Jet.OLEDB.4.0User ID=Admin″ & _
″Data Source=″ & App.Path & ″\数据库名称.mdb″& _
″Mode=Share Deny NoneExtended Properties=''Persist Security Info=False″ & _
″Jet OLEDBDatabase Password='asp561rbc'″
LocCnn1.Open ″Provider=Microsoft.Jet.OLEDB.4.0User ID=Admin″ & _
″Data Source=″ & App.Path & ″\数据库名称.mdb″& _
″Mode=Share Deny NoneExtended Properties=''Persist Security Info=False″ & _
″Jet OLEDBDatabase Password='asp561rbc'″
这种方法虽然代码长一些,但对数据环境要求低,且结构清晰,所编写的发布程序也大为减小。由于与链接SQL Server等数据库的方法一样,因而大量的操作数据库的代码相同,当数据库需要由Access扩充到一些大型数据库,或由一些大型数据库裁剪出一个简单数据库时,程序的移植会比较方便。
另外,这种方法对于Access97及Access2000均能很好地支持,兼容性好。对于大量插入、删除、修改等操作,只在Connection层进行即可,既可提高速度又可减少代码。
如果还要获取具体的记录集内容,则须再根据条件打开具体的库表,代码如下:
Set LocRst1 = New ADODB.Recordset
LocRst1.CursorType = adOpenKeyset
LocRst1.LockType = adLockOptimistic
LocRst1.Open ″SELECT FROM 表名″ LocCnn1adCmdText
LocRst1.CursorType = adOpenKeyset
LocRst1.LockType = adLockOptimistic
LocRst1.Open ″SELECT FROM 表名″ LocCnn1adCmdText
提示:一般情况下,建议使用第二种方法。
用VB6编写的程序虽然有了XP的窗口效果,但按钮等还是98的样式,比较难看,虽然有的朋友们写了一些控件可以使用XP的按钮,但我们用VB一般都尽量少使用控件、OCX、DLL等,因些我们就想办法是不是能给封到程序文件里。
首先,我们要说说怎么让VB编译出来的程序显示为XP风格。
我们以abc.exe这个程序为例:
首先,我们在D盘根目录中建立一个abc.exe.manifest的文件,方法为,打开记事本,复制下边的内容到记事本中,然后选择保存,保存类型选择为所有文件,编码为UTF-8。这里要注意的是:保存出来的文件大小为4的倍数,一般这个文件大小为:692字节。否则不能在下面的步骤中不能正常编译。如果大小不为4的倍数,则可以在下面的代码最后加空格,直接保存为UTF-8格式后大小为4的倍数为止。
首先,我们要说说怎么让VB编译出来的程序显示为XP风格。
我们以abc.exe这个程序为例:
首先,我们在D盘根目录中建立一个abc.exe.manifest的文件,方法为,打开记事本,复制下边的内容到记事本中,然后选择保存,保存类型选择为所有文件,编码为UTF-8。这里要注意的是:保存出来的文件大小为4的倍数,一般这个文件大小为:692字节。否则不能在下面的步骤中不能正常编译。如果大小不为4的倍数,则可以在下面的代码最后加空格,直接保存为UTF-8格式后大小为4的倍数为止。
在 VB 编程中有时需要对系统的任务栏的各个部分(如开始菜单按钮、时钟等等)进行各类操作(如隐藏、显示、有效、无效)等等,这是如何实现的呢,主要就是通过 ShowWindow、EnableWindow 来完成的。
下面将通过一个自定义的函数(ShowHideTaskbar ),来完成“隐藏”,“显示”任务栏各部分的操作。
注释:使用示例
注释:ShowHideTaskbar "任务栏", "隐藏"
注释:ShowHideTaskbar "任务栏", "显示"
注释:ShowHideTaskbar "图标", "隐藏"
注释:ShowHideTaskbar "图标", "显示"
注释:ShowHideTaskbar "程序按钮", "隐藏"
注释:ShowHideTaskbar "程序按钮", "显示"
注释:ShowHideTaskbar "开始菜单", "隐藏"
注释:ShowHideTaskbar "开始菜单", "显示"
注释:ShowHideTaskbar "时钟", "隐藏"
注释:ShowHideTaskbar "时钟", "显示"
注释:ShowHideTaskbar "快速启动", "隐藏"
注释:ShowHideTaskbar "快速启动", "显示"
下面将通过一个自定义的函数(ShowHideTaskbar ),来完成“隐藏”,“显示”任务栏各部分的操作。
注释:使用示例
注释:ShowHideTaskbar "任务栏", "隐藏"
注释:ShowHideTaskbar "任务栏", "显示"
注释:ShowHideTaskbar "图标", "隐藏"
注释:ShowHideTaskbar "图标", "显示"
注释:ShowHideTaskbar "程序按钮", "隐藏"
注释:ShowHideTaskbar "程序按钮", "显示"
注释:ShowHideTaskbar "开始菜单", "隐藏"
注释:ShowHideTaskbar "开始菜单", "显示"
注释:ShowHideTaskbar "时钟", "隐藏"
注释:ShowHideTaskbar "时钟", "显示"
注释:ShowHideTaskbar "快速启动", "隐藏"
注释:ShowHideTaskbar "快速启动", "显示"
引言:
以前才学VB的时候下载了一个高人写的文件传输工具,觉得很神奇。后来自己慢慢了解了一点VB,慢慢琢磨了那位高人写的程序,对程序作了大部分修改,增加了一个人性化控制和功能,使文件传输工具更加完善了。但是由于最近我们公司要对一部分人屏蔽外网而那些人又非得聊天和传文件,所以就写了这个工具。程序写的时间比较短也没有经过严格测试,肯定存在一些问题,希望大家原谅,更希望有兴趣的朋友更加完善它,由于本人时间有限也只能写到这个程度了,比如对群聊功能的增加,使用LIST来显示计算机名等等,这些本来是很简单的工作我确实是没时间了。以下是对这个程序用到的 主要控件--Winsock控件的一些说明,希望大家对它有个小的了解,这样对接触本程序也不会太陌生,因为时间关系程序没有太多的注释希望大家见谅,如果有什么疑问的可以跟帖。
对于局域网用户中的编程爱好者来说,如果能自己编一个局域网通信程序,那么这一切将是多么美妙!可是,如果要从头开始完全由自己来编写一段用于通信的程序,必须对相关的网络协议及其他的一些较底层的技术有较深入的了解,这可不是一件容易的事。而现在有了Winsock控件,一切就不同了,它已经替你封装了所有烦琐的技术细节,并提供了访问TCP和UDP网络服务的方便途径。你只需通过设置控件的属性并调用其方法就可轻易连接到一台远程计算机中,并且还可以双向交换数据,而这一切都不需你了解TCP的细节或调用低级的Winsock APIs。
以前才学VB的时候下载了一个高人写的文件传输工具,觉得很神奇。后来自己慢慢了解了一点VB,慢慢琢磨了那位高人写的程序,对程序作了大部分修改,增加了一个人性化控制和功能,使文件传输工具更加完善了。但是由于最近我们公司要对一部分人屏蔽外网而那些人又非得聊天和传文件,所以就写了这个工具。程序写的时间比较短也没有经过严格测试,肯定存在一些问题,希望大家原谅,更希望有兴趣的朋友更加完善它,由于本人时间有限也只能写到这个程度了,比如对群聊功能的增加,使用LIST来显示计算机名等等,这些本来是很简单的工作我确实是没时间了。以下是对这个程序用到的 主要控件--Winsock控件的一些说明,希望大家对它有个小的了解,这样对接触本程序也不会太陌生,因为时间关系程序没有太多的注释希望大家见谅,如果有什么疑问的可以跟帖。
对于局域网用户中的编程爱好者来说,如果能自己编一个局域网通信程序,那么这一切将是多么美妙!可是,如果要从头开始完全由自己来编写一段用于通信的程序,必须对相关的网络协议及其他的一些较底层的技术有较深入的了解,这可不是一件容易的事。而现在有了Winsock控件,一切就不同了,它已经替你封装了所有烦琐的技术细节,并提供了访问TCP和UDP网络服务的方便途径。你只需通过设置控件的属性并调用其方法就可轻易连接到一台远程计算机中,并且还可以双向交换数据,而这一切都不需你了解TCP的细节或调用低级的Winsock APIs。
字符串取反
Function RStr(Str As String) As String
For i = Len(Str) To 1 Step -1
RStr = RStr & Mid(Str, i, 1)
Next
End Function
For i = Len(Str) To 1 Step -1
RStr = RStr & Mid(Str, i, 1)
Next
End Function
对功能进行了升级和大量修改.
最新版源码下载:
下面是旧版的
新建一个窗体,放入以下控件:()内为控件的Caption属性.
list1放在窗体最上边,label1(长度:)和text1为一组,label2(数量:)和text2为一组,lable3(位置:)和text3为一组,最后再放置一个Command1(生成)按钮.
自行将控件放置在适当的位置.
将以下代码复制到窗体代码中:
Dim TempPsdString As String
Dim tem(3) As String
Private Sub Command1_Click()
Dim i As Integer
Dim TmpStr As String
List1.Clear
Open Text3 & "pwd.txt" For Output As #1
Print ""
Close #1
For i = 0 To Text2 - 1
TmpStr = GetStr(Text1)
List1.AddItem TmpStr
Open Text3 & "pwd.txt" For Append As #1
Print #1, TmpStr
Close #1
Form1.Caption = "密码生成器" & "--已完成" & Int(i / (Text2 - 1) * 100) & "%"
Next
If MsgBox("已生成" & Text2 & "个" & Text1 & "字符的密码" & vbCr & "是否打开密码文件查看?", vbYesNo + vbInformation, "任务完成") = vbYes Then Shell "notepad.exe " & Text3 & "pwd.txt"
Form1.Caption = "密码生成器"
End Sub
Function GetStr(Index As Integer) As String
If Index < 1 Then Exit Function
Dim i As Integer
Dim TmpStr As String
For i = 1 To Index
Randomize
TmpStr = Mid(TempPsdString, Int(Len(TempPsdString) * Rnd) + 1, 1)
GetStr = GetStr + CStr(TmpStr)
Next
End Function
Private Sub Form_Load()
Text3 = App.Path
If Right(Text3, 1) <> "\" Then Text3 = Text3 & "\"
Text3 = App.Path
If Right(Text3, 1) <> "\" Then Text3 = Text3 & "\"
tem(0) = "0123456789"
tem(1) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
tem(2) = "abcdefghijklmnopqrstuvwxyz"
tem(3) = "~!@#$%^&*()_+[]:,.<>?/*-"
TempPsdString = tem(0) + tem(1) + tem(2) + tem(3)
End Sub
高级功能:自主选择密码字符:
按上边的方法添加完控件后.再添加一个控件组:Check1,复制Check,并粘贴3次.得到一个Check1的控件数组.从Check1(0)-Check(3)
并添加以下代码到窗体代码中:
Private Sub Check1_Click(Index As Integer)
TempPsdString = ""
For i = 0 To 3
If Check1(i).Value = 1 Then TempPsdString = TempPsdString & tem(i)
Next
If TempPsdString = "" Then MsgBox "必须选择一项!": Check1(Index).Value = 1
End Sub
最新版源码下载:
下面是旧版的
新建一个窗体,放入以下控件:()内为控件的Caption属性.
list1放在窗体最上边,label1(长度:)和text1为一组,label2(数量:)和text2为一组,lable3(位置:)和text3为一组,最后再放置一个Command1(生成)按钮.
自行将控件放置在适当的位置.
将以下代码复制到窗体代码中:
Dim TempPsdString As String
Dim tem(3) As String
Private Sub Command1_Click()
Dim i As Integer
Dim TmpStr As String
List1.Clear
Open Text3 & "pwd.txt" For Output As #1
Print ""
Close #1
For i = 0 To Text2 - 1
TmpStr = GetStr(Text1)
List1.AddItem TmpStr
Open Text3 & "pwd.txt" For Append As #1
Print #1, TmpStr
Close #1
Form1.Caption = "密码生成器" & "--已完成" & Int(i / (Text2 - 1) * 100) & "%"
Next
If MsgBox("已生成" & Text2 & "个" & Text1 & "字符的密码" & vbCr & "是否打开密码文件查看?", vbYesNo + vbInformation, "任务完成") = vbYes Then Shell "notepad.exe " & Text3 & "pwd.txt"
Form1.Caption = "密码生成器"
End Sub
Function GetStr(Index As Integer) As String
If Index < 1 Then Exit Function
Dim i As Integer
Dim TmpStr As String
For i = 1 To Index
Randomize
TmpStr = Mid(TempPsdString, Int(Len(TempPsdString) * Rnd) + 1, 1)
GetStr = GetStr + CStr(TmpStr)
Next
End Function
Private Sub Form_Load()
Text3 = App.Path
If Right(Text3, 1) <> "\" Then Text3 = Text3 & "\"
Text3 = App.Path
If Right(Text3, 1) <> "\" Then Text3 = Text3 & "\"
tem(0) = "0123456789"
tem(1) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
tem(2) = "abcdefghijklmnopqrstuvwxyz"
tem(3) = "~!@#$%^&*()_+[]:,.<>?/*-"
TempPsdString = tem(0) + tem(1) + tem(2) + tem(3)
End Sub
高级功能:自主选择密码字符:
按上边的方法添加完控件后.再添加一个控件组:Check1,复制Check,并粘贴3次.得到一个Check1的控件数组.从Check1(0)-Check(3)
并添加以下代码到窗体代码中:
Private Sub Check1_Click(Index As Integer)
TempPsdString = ""
For i = 0 To 3
If Check1(i).Value = 1 Then TempPsdString = TempPsdString & tem(i)
Next
If TempPsdString = "" Then MsgBox "必须选择一项!": Check1(Index).Value = 1
End Sub
Public connSTR As String '定义一个公用变量
Public Function CData() '连接数据库,
On Error GoTo errEnd
dbName = App.Path
If Right(dbName, 1) <> "\" Then dbName = dbName + "\"
dbName = dbName + "Data.mdb"
connSTR = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbName & ";Persist Security Info=False"
Exit Sub
errEnd:
MsgBox err.Description, vbOKOnly + vbExclamation, "打开数据库出错"
End Function
下面是模块代码,请将其复制到模块中.
'汉字转拼音
Public Function py(mystr As String) As String
If Asc(mystr) < 0 Then
If Asc(Left(mystr, 1)) < Asc("啊") Then
py = "0"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("啊") And Asc(Left(mystr, 1)) < Asc("芭") Then
py = "A"
Exit Function
End If
[separator]
If Asc(Left(mystr, 1)) >= Asc("芭") And Asc(Left(mystr, 1)) < Asc("擦") Then
py = "B"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("擦") And Asc(Left(mystr, 1)) < Asc("搭") Then
py = "C"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("搭") And Asc(Left(mystr, 1)) < Asc("蛾") Then
py = "D"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("蛾") And Asc(Left(mystr, 1)) < Asc("发") Then
py = "E"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("发") And Asc(Left(mystr, 1)) < Asc("噶") Then
py = "F"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("噶") And Asc(Left(mystr, 1)) < Asc("哈") Then
py = "G"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("哈") And Asc(Left(mystr, 1)) < Asc("击") Then
py = "H"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("击") And Asc(Left(mystr, 1)) < Asc("喀") Then
py = "J"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("喀") And Asc(Left(mystr, 1)) < Asc("垃") Then
py = "K"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("垃") And Asc(Left(mystr, 1)) < Asc("妈") Then
py = "L"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("妈") And Asc(Left(mystr, 1)) < Asc("拿") Then
py = "M"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("拿") And Asc(Left(mystr, 1)) < Asc("哦") Then
py = "N"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("哦") And Asc(Left(mystr, 1)) < Asc("啪") Then
py = "O"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("啪") And Asc(Left(mystr, 1)) < Asc("期") Then
py = "P"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("期") And Asc(Left(mystr, 1)) < Asc("然") Then
py = "Q"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("然") And Asc(Left(mystr, 1)) < Asc("撒") Then
py = "R"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("撒") And Asc(Left(mystr, 1)) < Asc("塌") Then
py = "S"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("塌") And Asc(Left(mystr, 1)) < Asc("挖") Then
py = "T"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("挖") And Asc(Left(mystr, 1)) < Asc("昔") Then
py = "W"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("昔") And Asc(Left(mystr, 1)) < Asc("压") Then
py = "X"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("压") And Asc(Left(mystr, 1)) < Asc("匝") Then
py = "Y"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("匝") Then
py = "Z"
Exit Function
End If
Else
If UCase(mystr) <= "Z" And UCase(mystr) >= "A" Then
py = UCase(Left(mystr, 1))
Else
py = mystr
End If
End If
End Function
'汉字转拼音完
下面是使用代码:
Private Sub Text1_Change()'text1l输入时在label1中即时显示拼音
If Option1.Value = True Then
Label1.Caption = ""
Dim a As Integer
a = Len(Text1.Text)
For i = 1 To a
Label1.Caption = Label1.Caption & py(Mid(Text1.Text, i, 1))
Next i
End If
End Sub
Private Sub Command1_Click()'按command1后在label1显示拼音
Dim a As Integer
Label1.Caption = ""
a = Len(Text1.Text)
For i = 1 To a
Label1.Caption = Label1.Caption & py(Mid(Text1.Text, i, 1))
Next i
End Sub
'汉字转拼音
Public Function py(mystr As String) As String
If Asc(mystr) < 0 Then
If Asc(Left(mystr, 1)) < Asc("啊") Then
py = "0"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("啊") And Asc(Left(mystr, 1)) < Asc("芭") Then
py = "A"
Exit Function
End If
[separator]
If Asc(Left(mystr, 1)) >= Asc("芭") And Asc(Left(mystr, 1)) < Asc("擦") Then
py = "B"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("擦") And Asc(Left(mystr, 1)) < Asc("搭") Then
py = "C"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("搭") And Asc(Left(mystr, 1)) < Asc("蛾") Then
py = "D"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("蛾") And Asc(Left(mystr, 1)) < Asc("发") Then
py = "E"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("发") And Asc(Left(mystr, 1)) < Asc("噶") Then
py = "F"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("噶") And Asc(Left(mystr, 1)) < Asc("哈") Then
py = "G"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("哈") And Asc(Left(mystr, 1)) < Asc("击") Then
py = "H"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("击") And Asc(Left(mystr, 1)) < Asc("喀") Then
py = "J"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("喀") And Asc(Left(mystr, 1)) < Asc("垃") Then
py = "K"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("垃") And Asc(Left(mystr, 1)) < Asc("妈") Then
py = "L"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("妈") And Asc(Left(mystr, 1)) < Asc("拿") Then
py = "M"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("拿") And Asc(Left(mystr, 1)) < Asc("哦") Then
py = "N"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("哦") And Asc(Left(mystr, 1)) < Asc("啪") Then
py = "O"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("啪") And Asc(Left(mystr, 1)) < Asc("期") Then
py = "P"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("期") And Asc(Left(mystr, 1)) < Asc("然") Then
py = "Q"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("然") And Asc(Left(mystr, 1)) < Asc("撒") Then
py = "R"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("撒") And Asc(Left(mystr, 1)) < Asc("塌") Then
py = "S"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("塌") And Asc(Left(mystr, 1)) < Asc("挖") Then
py = "T"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("挖") And Asc(Left(mystr, 1)) < Asc("昔") Then
py = "W"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("昔") And Asc(Left(mystr, 1)) < Asc("压") Then
py = "X"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("压") And Asc(Left(mystr, 1)) < Asc("匝") Then
py = "Y"
Exit Function
End If
If Asc(Left(mystr, 1)) >= Asc("匝") Then
py = "Z"
Exit Function
End If
Else
If UCase(mystr) <= "Z" And UCase(mystr) >= "A" Then
py = UCase(Left(mystr, 1))
Else
py = mystr
End If
End If
End Function
'汉字转拼音完
下面是使用代码:
Private Sub Text1_Change()'text1l输入时在label1中即时显示拼音
If Option1.Value = True Then
Label1.Caption = ""
Dim a As Integer
a = Len(Text1.Text)
For i = 1 To a
Label1.Caption = Label1.Caption & py(Mid(Text1.Text, i, 1))
Next i
End If
End Sub
Private Sub Command1_Click()'按command1后在label1显示拼音
Dim a As Integer
Label1.Caption = ""
a = Len(Text1.Text)
For i = 1 To a
Label1.Caption = Label1.Caption & py(Mid(Text1.Text, i, 1))
Next i
End Sub
下面是模块代码
'窗体透明代码开始
Public Const WS_EX_LAYERED = &H80000
Public Const GWL_EXSTYLE = (-20)
Public Const LWA_ALPHA = &H2
Public Const LWA_COLORKEY = &H1
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
'窗体透明代码结束
下面是使用代码:最下边的一行中的255为透明度.值为0-255,0为完全透明,255为完全不透明
Dim rtn As Long
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, 0, 255, LWA_ALPHA
'窗体透明代码开始
Public Const WS_EX_LAYERED = &H80000
Public Const GWL_EXSTYLE = (-20)
Public Const LWA_ALPHA = &H2
Public Const LWA_COLORKEY = &H1
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
'窗体透明代码结束
下面是使用代码:最下边的一行中的255为透明度.值为0-255,0为完全透明,255为完全不透明
Dim rtn As Long
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, 0, 255, LWA_ALPHA



2008
11:40
1865
2
下载文件 (已下载 13 次)


