2014-11-28 2 views
0

Я хотел бы начать с того, что я новичок в Visual Basic, и я возился с некоторыми элементами из любопытства, чтобы попытаться расширить свои знания. Я создаю консольное приложение, в котором я хотел бы сделать приложение «войти» в командной строке. Все это будет «Пожалуйста, введите свое имя пользователя», а затем я хотел бы иметь список имен в списке слов, а затем IF и ELSEIF и т. Д., Чтобы вы могли продолжать или нет.Извлечение информации из Wordlist в Visual Basic

Module Module1 

    Sub Main() 

     Dim txt As String 
     txt = My.Computer.FileSystem.ReadAllText("C:\wordlist.txt") 
     MsgBox(txt) 

     Console.WriteLine("Please enter your username: ") 
     Dim userName As String = Console.ReadLine() 



    End Sub 

End Module 

Это все, что у меня есть до сих пор, и огляделся по сторонам в Интернете для получения некоторой информации, но я не могу найти никого. Если у кого-то есть какая-либо помощь или какое-либо руководство, это было бы неплохо!

С уважением, Ax

+0

Вы хотите проверить, содержит ли 'txt'' userName'? –

+0

Каков формат вашего текстового файла? Одно слово в строке? Разделенные запятой? Etc ... –

+0

Это одно слово в одном и в верхнем и нижнем регистре (Том и Том) – 10538Overture

ответ

0

Загрузите текстовый файл в массив с помощью ReadAllLines(), то вы можете сделать чек с Содержит():

Dim UserNames() As String 
    UserNames = System.IO.File.ReadAllLines("C:\wordlist.txt") 

    Console.WriteLine("Please enter your username: ") 
    Dim userName As String = Console.ReadLine() 
    If UserNames.Contains(userName) Then 
     Console.WriteLine("Welcome " & userName & "!") 
    Else 
     Console.WriteLine("UserName not found: " & userName) 
    End If 
+0

Так же, как я писал на своем телефоне. :). Ну, теперь у него есть два ответа. (: –

0

Вы можете попробовать это:

Module Module1 

Sub Main() 

    Dim txt As New List (Of String) 
    txt = ReadFileToList("C:\wordlist.txt") 

    Console.WriteLine("Please enter your username: ") 
    Dim userName As String = Console.ReadLine() 

    If txt.IndexOf(userName) = -1 Then 
     'Username does not exist 
    Else 
     'Username exists 
    End If 

End Sub 

Private Function ReadFileToList(ByVal Path As String) As List(Of String) 
    Dim Reader As New IO.StreamReader(Path) 
    Dim Result As New List(Of String) 

    Do Until Reader.EndOfStream 
     Result.Add(Reader.ReadLine()) 
    Loop 

    Reader.Close() 
    Return Result 
End Function 
End Module 
+0

Знаете ли вы, что вы можете заполнить список, передав ему массив из ReadAllLines()? 'Dim txt As New List (Of String) (System.IO.File.ReadAllLines (" C: \ wordlist.txt ")) ' –

+0

@Idle_Mind Я ... Но я предпочитаю использовать StreamReader, так как это более настраиваемое чтение по строкам, хотя он новичок в VB. Но да ... Он может использовать ответ, который ему нужен. :) –

Смежные вопросы