У кого-нибудь есть решение и объяснение этой проблемы?
Создал структуру записей и пытается создать двоичный поиск, который будет искать одно из полей в структуре, однако я получаю ошибку. Я уверен, что это где-то глупая ошибка, но если бы кто-то мог указать на нее и дать простое объяснение, чтобы помочь мне, это было бы очень ценно, спасибо.
Public Class MainMenu Public Structure ClientDatabase Dim clientID As Integer <VBFixedString(10)> Dim forename As String '10 bytes <VBFixedString(10)> Dim surname As String '10 bytes <VBFixedString(30)> Dim address1 As String '30 bytes <VBFixedString(9)> Dim postcode As String '9 bytes Dim Rdate As Date '8 bytes <VBFixedString(150)> Dim notes As String '150 bytes Dim p_homeIns As Boolean '4 bytes Dim p_reMort As Boolean '4 bytes Dim p_homemover As Boolean '4 bytes Dim p_firstbuy As Boolean '4 bytes Dim p_buylet As Boolean '4 bytes Dim p_lifeinsur As Boolean '4 bytes Dim p_criticalIllness As Boolean '4 bytes Dim p_IncomeProtec As Boolean '4 bytes End Structure
Что я уже пробовал:
Итак, выше приведена публичная структура, которую я объявил, просто для справки, и вот где возникает проблема. "Клиент" в строке, которую я оставил белой, подсвечивается красным цветом с ошибкой "MainMenu.Клиентская база' нельзя индексировать, так как он не имеет свойств по умолчанию."
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim search_value As Integer Dim client As ClientDatabase search_value = TextBox1.Text If Not IsNumeric(search_value) Or search_value < 1 Then MsgBox("Please enter a number greater than zero") TextBox1.Clear() Else Dim upper As Integer Dim lower As Integer Dim middle As Integer Call ReadClientInfo(client, upper) lower = 1 Do middle = (upper + lower) / 2 If search_value <клиент
(middle).clientid Then End If Loop Until middle = search_value Or lower > upper My.Computer.FileSystem.WriteAllText("H:\Advanced Higher Computing\Project\project-coding\search.txt", search_value, True) Search.Show() Me.Close() End If End Sub Private Sub ReadClientInfo(ByRef client, ByRef upper) Dim filename As String Dim filelength As Integer Dim numrecs As Integer filename = "H:\Advanced Higher Computing\Project\project-coding\clients.txt" FileOpen(1, filename, OpenMode.Random, OpenAccess.Read, OpenShare.LockRead, 243) filelength = LOF(1) numrecs = filelength / 243 upper = numrecs For index = 1 To numrecs FileGet(1, client, index) Next End Sub
OriginalGriff
- я получаю сообщение об ошибке."
Это один из отчетов об ошибках, которые мы получаем, который совершенно бесполезен - он ничего не говорит нам, кроме того, что у вас есть проблема (которую мы все равно знали, потому что в противном случае вы не задавали бы вопрос).
И мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Итак, расскажите нам, что он делает, чего вы не ожидали, или не делает, что вы сделали. Расскажите нам, что должно делать программное обеспечение, какие данные вы передаете ему, чтобы заставить его делать это, какой результат вы ожидаете, и что вы на самом деле получаете! Расскажите нам о любых сообщениях об ошибках и о том, где они происходят.
Помогите нам помочь вам!
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.
Member 13644477
я уже говорил вам, что пытаюсь выполнить двоичный поиск в массиве записей, в частности поле называется clientid. Какую еще информацию вы хотите получить? Вы можете буквально видеть "любые сообщения об ошибках", потому что я сказал вам об ошибке. Пожалуйста, уточните свой комментарий, чтобы я понял, какую информацию вы ищете????
David_Wimbley
Я предлагаю вам использовать google для вашей ошибки. Вы похоронили свое сообщение об ошибке, так что это выглядит так, как будто ваша ошибка-это просто вы говорите: "я делаю двоичное дерево поиска, и оно дает ошибку", и именно здесь приходит его ответ.
https://social.msdn.microsoft.com/Forums/vstudio/en-US/cfc4fcbf-f000-4361-b69d-e092c65aceba/class-cannot-be-indexed-because-it-has-no-default-property?форум=vbgeneral