Как отобразить мои данные из текстового файла, определенного в поле со списком? - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь извлечь серфера из списка в текстовом файле, пользователь выбирает серфера в поле со списком, который затем отображает данные серфера в виде набора меток.Мой код требует, чтобы у каждого серфера был свой идентификатор, чтобы он мог знать, какую запись извлечь из базы данных.Однако, когда я пытаюсь поместить свой идентификатор из цикла вместе с каждым именем пользователя, я получаю сообщение об ошибке: «Преобразование из строки в тип« Long »недопустимо».Я пробовал разные способы обойти это, ни один из которых не работал.Вот мой код:

 Private Sub Lookup_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    madelabel = False
    For i = 1 To maxrecJudge
        FileGet(2, ajudge, i)
        recnoJudge = i
        judgename = recnoJudge And " " And ajudge.name
        cmbJudge.Items.Add(judgename)
    Next i

    For i = 1 To maxrecSurfer
        FileGet(1, asurfer, i)
        recnoSurfer = i
        surfername = recnoSurfer And " " And asurfer.name
        cmbSurfer.Items.Add(surfername)
    Next i
End Sub

Private Sub cmbSurfer_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbSurfer.SelectedIndexChanged
    recnoSurfer = CInt(Val(New Text.StringBuilder((From ch In cmbSurfer.Text.ToCharArray Where IsNumeric(ch)).ToArray).ToString))
    FileGet(1, asurfer, recnoSurfer)
    If madelabel = False Then
        lblName = New Label
        lblName.Top = 160
        lblName.Left = 253
        lblName.Autosize = True
        lblName.Text = asurfer.name
        Me.Controls.Add(lblName) 
End Sub

Для простоты выше я включил только одну метку, но есть несколько меток, каждая из которых содержит данные серфера.

Я на правильном путис этим?Во втором подпрограмме мой код извлекает целое число (ID) из поля со списком, которое затем используется в качестве номера записи, чтобы найти остальные данные.Ошибка относится к следующим строкам:

            surfername = recnoSurfer And " " And asurfer.name
            cmbSurfer.Items.Add(surfername)

Это не позволит мне объединить идентификатор и имя пользователя.Любая помощь?

1 Ответ

0 голосов
/ 04 июня 2019

Если вы делаете много конкатенации, используйте StringBuilder.Это гораздо быстрее.Каждый раз, когда вы объединяете строки, создается новая строка.При большом количестве итераций StringBuilder является лучшим выбором.

...