首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

做个简单的通讯录,怎么用TXT文档来做,VB2005? 大请问

2012-02-10 
做个简单的通讯录,如何用TXT文档来做,VB2005??? 大请教啊做个简单的通讯录,如何用TXT文档来做,VB2005,大请

做个简单的通讯录,如何用TXT文档来做,VB2005??? 大请教啊
做个简单的通讯录,如何用TXT文档来做,VB2005,大请教啊:

我想用VB.NET做个简单通讯录

不用XML或ADO.NET

用TXT文档保存 每个人的姓名/专业/电话/性别等,用一个"|"来做分隔符,每行存一个人的完整信息

LISTBOX1只显示人名,

比如说 |杨明|软件工程|011-11111|男|,当我在LISTBOX1点击 杨举 的时候,用什么函数来调出 他的属性 专业 或电话并显示在对应的TEXTBOX上呢,如何实现????请高人指导,感谢啦


[解决办法]
需要自己来读取该种文件,使用
LineInput,或者使用 IO 空间中的类
应该可以完成,具体内容你可以去搜搜 “.NET 文件编程”
[解决办法]
//检查文件,如果文件不存在则创建 
private void ExistsFile(string FilePath) 

if(!File.Exists(FilePath)) 
File.Create(FilePath); 


private void Button2_Click(object sender, System.EventArgs e) 

ExistsFile(Server.MapPath("test/weather.txt"));//检查文件是否存在 
//读取文件 
StreamReader sr = new StreamReader(Server.MapPath("test/weather.txt"), System.Text.Encoding.Default); 
try
{
string input = sr.ReadToEnd(); 
sr.Close(); 
input = input.Replace("\r\n", "").Replace("\n", ""); 
this.TextBox1.Text = input; 
}
catch
{
Response.Write("<script>alert('文件读取失败');</script>");
}



private void Button1_Click(object sender, System.EventArgs e) 

ExistsFile(Server.MapPath("test/weather.txt"));//检查文件是否存在 
//写入文件 
StreamWriter sr = new StreamWriter(Server.MapPath("test/weather.txt"),false,System.Text.Encoding.Default); 
try
{
sr.Write(this.TextBox1.Text);
sr.Close(); 
Response.Write("<script>alert('文件写入成功');</script>");
}
catch
{
Response.Write("<script>alert('文件写入失败');</script>");
}


[解决办法]
按顺序将通讯录数据加到listbox,然后在点击listbox其中某个人名时,
可以取得listbox的items的索引index,根据索引在通讯录数据中取出完整数据就行.
[解决办法]
用文件流一行一行的读文件,读取一行,然后用spilt来分割,然后判断人的姓名,然后输出
[解决办法]
楼上的做法效率都不高。你应该建一个用户信息结构体,将数据一次性读入实例到SortedList中,所有对文档的增删改查的操作都在内存中进行,必要时更新,即重写txt文件。
[解决办法]
Imports System.io
Public Class TxtOperate
Private str() As String
Structure da
Dim name As String
Dim sexty As String
Dim age As Int16
Dim high As Int16
End Structure

Private info() As da


Private Sub TxtOperate_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


Dim fso As New OpenFileDialog
fso.InitialDirectory = "e:\"
fso.Filter = "txt|*.txt"
fso.AddExtension = True
fso.RestoreDirectory = True


If fso.ShowDialog = Windows.Forms.DialogResult.OK Then
str = File.ReadAllLines(fso.FileName, System.Text.Encoding.Default)
End If


Dim i As Int16
ReDim info(str.Length - 1)
For Each str(i) In str
With info(i)
.name = Split(str(i), "|")(0)
.sexty = Split(str(i), "|")(1)
.age = Split(str(i), "|")(2)
.high = Split(str(i), "|")(3)
End With

ListBox1.Items.Add(Split(str(i), "|")(0))


i += 1
Next

End Sub


Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
Try
Dim j As Int16
For Each info(j) In info
If info(j).name = Me.ListBox1.Text Then
Dim other As String = info(j).sexty & info(j).age & info(j).high
MsgBox(other)
End If
j += 1
Next

Catch ex As Exception
MsgBox("Read Fail " & ex.ToString)
End Try
End Sub

热点排行