У меня есть две структуры, которые иногда заполняются данными от пользователя или иногда и того и другого. Мне нужно проверить всю структуру, чтобы увидеть, есть ли у нее ввод данных или нет. Я также был бы в порядке, если бы я мог проверить только переменную, чтобы увидеть, не является ли она пустой или пустой (что я и сделал ниже). Когда код запускается, btnTurn.Enabled всегда отключается, имеет ли структура данные или нет. Может быть, это проблема с моим логическим?VB проверить значение структуры
Структуры
Public Structure StructSurvData
Friend szTBMNum As String
Friend dblTBMElev1 As Double
Friend dblTBMElev2 As Double
Friend dblTBMElev3 As Double
Friend dblBACKSIGHT1 As Double
Friend dblBACKSIGHT2 As Double
Friend dblBACKSIGHT3 As Double
Friend dblFORESIGHT1 As Double
Friend dblFORESIGHT2 As Double
Friend dblFORESIGHT3 As Double
Friend szNewMPEDescr As String
Friend szDataComm As String
End Structure
Public Structure StructSurvData2
Friend szTBMNum2 As String
Friend dblTBMElev4 As Double
Friend dblTBMElev5 As Double
Friend dblTBMElev6 As Double
Friend dblBACKSIGHT4 As Double
Friend dblBACKSIGHT5 As Double
Friend dblBACKSIGHT6 As Double
Friend dblFORESIGHT4 As Double
Friend dblFORESIGHT5 As Double
Friend dblFORESIGHT6 As Double
Friend szNewMPEDescr2 As String
Friend szDataComm2 As String
End Structure
Если/еще
If structSD2.szTBMNum2 = Nothing Then
btnTurn.Enabled = False
ElseIf structSD2.szTBMNum2 <> Nothing Then
btnTurn.Enabled = True
End If
Для строк, вы должны использовать один из [это функция] (https://msdn.microsoft.com/en-us/library/system.string.isnullorempty (v = vs.110) .aspx) для обнаружения нулевого или пустого. Все зависит от того, что вы подразумеваете под «имеет ценности». Лучшим способом было бы иметь функцию, которая возвращает true или false. –
Сторона примечания: вы уверены, что они должны быть определены как структуры? Они довольно большие. Использование нормального класса, вероятно, лучше здесь. И ваше использование «друга» также является подозрительным. – sstan
@sstan Этот код предназначен для приложения, которое было создано много лет назад. Поверьте мне, я не хочу использовать структуру, но ее проще без необходимости повторного кодирования изменений, которые хочет клиент, что не имеет никакого отношения к тому, как хранятся данные. –