使用if语句从vb中的struture文件添加项目到列表框?

时间:2015-12-12 16:08:51

标签: vb.net file if-statement visual-studio-2012 listbox

PS:我有visual studio 2012版

嘿,我有一个文件,我保存了结构" personne"在基于信息的.txt文件中,用户以单独的形式提供给我,现在我需要搜索该文件,该文件最终包含男性的几个人(姓名,姓,性别,城市等)的信息。

目标是让列表框显示文件中所有男性的姓名和姓氏

当我删除"如果p.sexe =" homme" "但是它会列出表格中所有人的名字,而不仅仅是男性。 当我保持条件并且发生不明错误时,视觉工作室甚至不会告诉我它是什么。它只是冻结,直到我关闭应用程序。

我对vb相对较新,并且不了解这个问题。有什么建议吗?

Public Class Form4
Private Sub cmdAfFiltre_Click(sender As Object, e As EventArgs) Handles cmdAfFiltre.Click
    Dim a, i As Integer
    a = FreeFile()
    Dim p As Personne, L As Long
    Dim path As String
    path = "d:\miniprojet.txt"
    L = Len(p)
    FileOpen(a, path, OpenMode.Random, , , L)
    i = 0
    While Not EOF(a)

        FileGet(a, p, i + 1)
        If rdnHomme.Checked Then
           'the goal is to only add to the list when the "person"'s sexe is male 
           'homme means man
        If p.sexe = homme Then

                lstPersonne.Items.Add(p.nom & p.prenom)
                i = i + 1
            End If
        End If
    End While
    FileClose(a)
End Sub

1 个答案:

答案 0 :(得分:0)

 If p.sexe = homme Then
    lstPersonne.Items.Add(p.nom & p.prenom)
    i = i + 1
 End If

应该是

 If p.sexe = "homme" Then
    lstPersonne.Items.Add(p.nom & p.prenom)
    i = i + 1
 End If

我同意其他评论,你应该放弃随机文件访问并使用类似https://support.microsoft.com/en-us/kb/316730

的内容