有关VB6的鄙视与恶心从线上到线下无处不在,同事也说VB6已经淘汰好多年了,不具备现代的编程特性。可我偏偏要用VB6编写小工具来处理日常问题。就如我在《用自己最拿手的语言编写程序》中说的能解决实际问题无论用什么语言写程序都一样!
由于本人日常工作中从事桌面、 络方面的应用软件开发,用的语言工具是C、C51、Basic、Gambas。还从事电子电路的制作与维修。所以,用软件的知识来辅助电子方面的工作就显得非常的方便。这次我就用VB6写一个小小的电子方面的工具—色环电阻计算器。 来证明VB6是不是想反对者所讲的那么不堪一用?如需电阻计算器.exe程序的读者,请私信!
在电子电路中存在大量的色环电阻,对于本人来说懒得背色环的值,这个时候如果有个能直观显示电阻值的小工具就显得非常的方便了。色环电阻也就是常见的直插电阻,根据色环的数量一般分为四色环和五色环。每个色环所代表的含义各不相同,下表是每种颜色代表的意义。
颜色 |
代表的数字 |
有效值后0的个数 |
误差 |
黑色 |
0 |
0 |
|
棕色 |
1 |
1 |
1 |
红色 |
2 |
2 |
0.1 |
橙色 |
3 |
3 |
0.01 |
黄色 |
4 |
4 |
0.001 |
绿色 |
5 |
5 |
|
蓝色 |
6 |
6 |
|
紫色 |
7 |
7 |
|
灰色 |
8 |
8 |
|
白色 |
9 |
9 |
|
金色 |
无效 |
-1 |
|
银色 |
无效 |
-2 |
|
无色 |
无效 |
无效 |
知道了各种颜色的意义后编写程序就非常的容易了。下面介绍下四环与五环电阻的读数方法。
四色环读数方法:
第一个色环:第一个有效数字;第二个色环:第二个有效数字;第三个色环:表示倍率;第四个色环:表示误差,即精度;
四色环举例:第一个色环:棕色,代表1;第二个色环:紫色,代表7;第三个色环:红色,代表10的平方;第四个色环:棕色,代表±1%;
所以,这个电阻的阻值为17×10^2=1700Ω=1.7K欧姆,误差为±1%。
五色环读数方法:第一个色环:第一个有效数字;第二个色环:第二个有效数字;第三个色环:第三个有效数字;第四个色环:表示倍率;第五个色环:表示误差,即精度;
五色环举例:第一个色环:棕色,代表1;第二个色环:紫色,代表7;第三个色环: 黑色,代表0;第四个色环:棕色,代表10;第五个色环:棕色,代表±1%;
所以,这个电阻的阻值为170×10=1700Ω=1.7K欧姆,误差为±1%。
下面是本色环电阻计算器的关键代码:
Private Function retNumAndStr(ByVal s As String, Num As Single) As String Dim tmp As String Select Case Right(s, 1) Case "1" Num = Val(s) retNumAndStr = "Ω" Case "0" Num = Val(s) retNumAndStr = "Ω" Case "K" Num = Val(s) ' * 1000 retNumAndStr = "KΩ" Case "M" Num = Val(s) '* 1000000 retNumAndStr = "MΩ" End SelectEnd FunctionPrivate Sub CalcNum(ByVal BiaoZhi As Label, XiaoZhi As Label, DaZhi As Label, ByVal WuCha As Label) Dim tmp As String, tmp1 As String, wc As String, s As String Dim sigTmp As Single s = BiaoZhi.Caption wc = WuCha.Caption tmp = Right(s, 2) sigTmp = Val(s) Select Case tmp Case "KΩ" tmp1 = "KΩ" Case "MΩ" tmp1 = "MΩ" Case Else tmp1 = "Ω" End Select XiaoZhi.Caption = sigTmp * (1 - Val(wc) / 100) & tmp1 DaZhi.Caption = sigTmp * (1 + Val(wc) / 100) & tmp1 End SubPrivate Function Calc(ByVal a As Single, ByVal b As Single, ByVal c As Single, ByVal d As Single, Optional ByVal isFour As Boolean = True) As Single Dim tmp As Single If isFour Then tmp = (a * 10 + b) * d Else tmp = (a * 100 + b * 10 + c) * d End If Calc = tmpEnd Function
下面是截图
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!