在工程里面建立一个VS自带的本地数据库,用数据库来操作要方便得多,追求性能的话,图片单独创建一个图片目录来存放,数据库里面存入图片链接,如果图片需要保密,那就直接放到数据库。
创新互联自2013年创立以来,先为郯城等服务建站,郯城等地企业,进行企业商务咨询服务。为郯城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
用Excel操作也是可以的,引用Microsoft.Office.Tools.Excel,然后在VB.NET里面对Exce进行修改,图片的话,创建一个图片目录,Excel存入图片名称,在代码里面对目录下的名称进行匹配,读取到ListView,我电脑上没装Excel没法给你写相关Excel的代码示例!
用VB做通讯录 2007-07-10 00:41
分类:软件编程 字号: 大大 中中 小小 如果你平时有许多同学和朋友的信息,试试在电脑上编写一个我这样的通讯录。很方便的哟。 先新建一个工程,在“工具箱-右键-部件”添加“Microsoft windows common control 6.0”,然后在窗体上添加五个标签,“标题”分别为 “姓名、电话、Oicq、E-Mail、地址”;添加一个文本框(text1), 然后[复制/粘贴4次]使其成为控件数组;添加一个Listview控件(Listview1),在其属性框中,添加五个“列首”,“文本”值分别为“姓名、电话、Oicq、E-Mail、地址”,“查看属性”为 “3-lvwReport”, 选中“整行选择”,取消“隐藏选择”;添加两个按钮,其标题属性分别为“添加”、“删除”。添加如下代码:
Option Explicit
Dim fileName As String
Private Sub Command1_Click()
'将文本框中的信息添加到列表框中
Dim i As Integer
With ListView1.ListItems.Add()
.Text = Text1(0)
For i = 1 To 4
.SubItems(i) = Text1(i)
Next i
End With
End Sub
Private Sub Command2_Click()
'删除列表框中信息
If ListView1.ListItems.Count 0 Then
If MsgBox("真的要删除吗?", vbQuestion + vbYesNo + vbDefaultButton2) = vbYes Then
ListView1.ListItems.Remove ListView1.SelectedItem.Index
End If
End If
End Sub
Private Sub Form_Load()
Dim tpStr As String, i As Integer
fileName = App.Path "\data.txt"
If Dir(fileName) "" Then
'加载数据
Open fileName For Input As #1
Do While Not EOF(1)
With ListView1.ListItems.Add()
For i = 0 To 4
Line Input #1, tpStr
If i = 0 Then
.Text = tpStr
Else
.SubItems(i) = tpStr
End If
Next i
End With
Loop
Close #1
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
Dim tpList As ListItem
'保存数据
Open fileName For Output As #1
For Each tpList In ListView1.ListItems
Print #1, tpList.Text
For i = 1 To 4
Print #1, tpList.SubItems(i)
Next i
Next tpList
Close #1
End Sub
本程序已在windows98+VB6.0环境下调试通过。
首先 在窗体上添加控件 组合框控件命名为:ComboName
显示单位控件:Chkdanwei
显示地址控件:Chkdizhi
电话文本框:TxtTel
单位文本框:Txtdanwei
地址文本框:Txtdizhi
添加人员按钮:默认
然后直接复制下面的代码就OK了
Option Explicit
Private Type tongxunlu
MunName As String
tel As String
danwei As String
dizhi As String
End Type
Dim a(100) As tongxunlu
Dim n As Integer
Dim x As Integer
Private Sub Chkdanwei_Click()
If Chkdanwei.Value = 1 Then
Txtdanwei.Text = a(x).danwei
Else
Txtdanwei.Text = ""
End If
End Sub
Private Sub Chkdizhi_Click()
If Chkdizhi.Value = 1 Then
Txtdizhi.Text = a(x).dizhi
Else
Txtdizhi.Text = ""
End If
End Sub
Private Sub ComboName_Click()
x = ComboName.ListIndex
TxtTel.Text = a(x).tel
End Sub
Private Sub Command1_Click()
a(n).MunName = InputBox("请输入姓名")
a(n).tel = InputBox("请输入电话号码")
a(n).danwei = InputBox("请输入工作单位")
a(n).dizhi = InputBox("请输入家庭地址")
If a(n).MunName = "" Or a(n).tel = "" Or a(n).danwei = "" Or a(n).dizhi = "" Then GoTo 99
ComboName.AddItem a(n).MunName
ComboName.ListIndex = n
n = n + 1
99 End Sub
Private Sub Form_Load()
n = 0
End Sub
你可以定义一个数组,其中每一个元素都是一个结构,在每一个结构中存放每一个人的姓名、年龄等信息。这需要用到类。
创建类,然后定义结构中包含的所有数据,然后在程序中创建数组,定义每一个数组的元素都是一个这样的类,并且在定义后使用New子句将其实力化.关于类,你可以参考你的学习用书,定义应该不成问题,关键看这种思路吧.
例如定义类,内容:
Public Class VarClass
Public Class Student
Public Name As String
Public NamePass As String
Public Number As UInt16
Public Dis, Stu As New Collection
Public ToDis, ToStu As Decimal
End Class
End Class
然后在程序代码中:Public People(10) As Object
注意一定要先定义Object,因为数组无法使用New子句
然后实例化:
For a = 0 To (My.Forms.Form1.StuNum - 1)
People(a) = New VarClass.Student
Next
定义完成!
For a=0 to 10 do
If People(a).Name=Name(选中的名字) then
textbox1.text=People(a).Age
exit for
End if
然后根据ListBox中选中项的Text,使用For.Each(在数量无法确定的情况下)或者For.do语句,遍历数组中每个元素,即结构中的姓名域,如果找到,就把该结构中的其它几项内容分别赋给TextBox的Text,并且用Exit For跳出For语句.
成功!