VB6 判断输入的数字是不是为数组中的某个元素值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB6 判断输入的数字是不是为数组中的某个元素值相关的知识,希望对你有一定的参考价值。
简单的说,我想用VB做账号密码登陆,账号密码注册写入到硬盘某个ini文件。能正常读出。
但我想在用户输入账号密码的时候判断他是不是ini文件里面的账号。我说的是很多个账号密码。少量的一个或3个4个的我会做。求教育!!!我写的具体代码入下...
Private Sub Command1_Click()
'以下为登陆部分
Dim OKID As Integer
Dim OKPSD As Integer
Dim OK As Integer
Dim Load() As Byte
Dim temp
Dim a
Dim i As Integer
Open "D:\test.ini" For Binary As #1 '以二进制方式打开 "D:\test.ini"文件 文件编号为1号方便调用
ReDim Load(1 To LOF(1)) As Byte '重新定义数组大小从load(从1到所有文件长度,意思是从1到1号文件的全部字节结束)类型为字节型
Get #1, 1, Load '1号文件从从第1个字节开始读取文件到变量load
Close 1
a = StrConv(Load, vbUnicode) '将2进制的文件load转换成vbUnicode(ISO国际标准化字符)StrConv是字符串转换函数
'格式为strconv(xx变量或数组必填参数,转换成什么样必填) 想想有没有必要转换,有没有替代品?
temp = Split(a, "" & vbCrLf) '变量=split(变量,""&回车vbcrlf)
For i = 0 To UBound(temp)
Print temp(i)
Next
OK = Text1.Text
//////////////////////////////////////////////卡在这里了
'下面应该怎么写,怎么判断OK是不是=temp这个数组中某个元素?
End Sub
Private Sub Command2_Click()
If Text1.Text = "" Then
MsgBox "请输入你要注册的ID"
Exit Sub
End If
If Text2.Text = "" Then
MsgBox "请输入你要注册的PSD"
Exit Sub
End If
Open "D:\test.ini" For Append As #1
Print #1, Text1.Text
Print #1, Text2.Text
Close #1
先判断输入是否为数字:
text1=trim(text1) '去除空格if isnumeric(text1)=False then exit sub '不是数字结束
然后与数组的所有值比较,看是否相同即可。
'SZ 数组名称For i= 0 to Ubound(SZ) '循环所有数组
if SZ(i)=Cstr(text1) then '比较是否相同
Msgbox "数组中有相同值" & Text1 '相同提示
End if
Next '未结束继续 参考技术A temp = Split(a, "" & vbCrLf) '变量=split(变量,""&回车vbcrlf)
OK = Text1.Text
For i = 0 To UBound(temp)
Print temp(i)
ifc temp(i)=cstr(ok) then msgbox ""
Next追问
请问ifc temp(i)=cstr(ok)这句什么意思?能解释下么?怎么还要加个c
追答多个c,笔误。
追问temp为variant字符串,ok为integer整型数,无法正确比较。
你要么改ok为string,要么用cstr()转换整型到串。
这个问题已经解决了。非常感谢。但另一个问题又出来了。一起帮我解决了吧。哈哈
我目的是,例用户注册时a(0)账号a(1)密码。a(2)账号,a(3)又是密码,依次类推!用户在text1里输入账号时,他要对应a(0),在text2输入密码时,他要对应a(1)这样才正确。但是问题来了,他输入账号a(0)再在text2里输入a(3)我这程序也当他是正确的。有没有办法解决?
for i=0 to 100
if a(i)=text1 and a(i+1)=text2 then
msgbox "OK"
else
msgbox "ERR"
endif
next
Python:如何判断列表中的元素是否包含某个数字?
例如,如果我输入:
li=[33];
3 in li
我明白了:
False
如果我检查33是否存在,当然我得到“真实”。如何正确检查列表元素中是否存在数字?
一个非常简单的方法是这个:
li = [33,44,55]
['3' in str(x) for x in li]
这给了
[True, False, False]
通过使用列表推导,我们通过li
的元素,将值转换为str
。然后检查字符串中是否为'3'(或您想要的任何值)。此操作的结果是li
的长度列表,其值为True
或False
。
这也适用于n位数字,即
['31' in str(x) for x in [1314]]
也返回true。
在这里,我们隐含地假设li
的所有元素都可以作为字符串。
这是一个比较的功能方法:
lst = [5, 1, 23, 6, 33, 31, 15]
res = list(map(lambda x: '3' in x, map(str, lst)))
# [False, False, True, False, True, True, False]
以上是关于VB6 判断输入的数字是不是为数组中的某个元素值的主要内容,如果未能解决你的问题,请参考以下文章