0 голосов
спросил от в категории VB6
Единственный способ получить эту ошибку с помощью фрагмента кода, который вы использовали, - это Text1 , Text2 или Text3 не имеют свойства Text . Неясно, какие элементы управления должны быть такими, какими они не являются именами по умолчанию

Существуют и другие проблемы с вашим кодом:

1. Используйте разумные имена для кнопок и текстовых полей. Возможно, вы сможете вспомнить только, что Command1 сообщает вам, какой тип треугольника вы описали, но когда вы вернетесь к коду через 6 месяцев, после того, как вы добавите функциональность, вы все еще будете помнить? Пойдите в хорошие привычки как можно скорее.

2. Я думаю, вы думаете, что определили 3 целых числа с
Dim a, b, c As Integer
, но вы, вероятно, найдете, что a и b являются вариантами. Попробуйте явно объявить свои переменные, например.
Dim a As Integer, b As Integer, c As Integer


3. Я тоже не поклонник однобуквенных переменных - попробуйте быть более описательным

4. Рассмотрим строку
c = Text3.Text
. Вы получите ошибку «Тип несоответствия» в этой строке, потому что Text1.Text - это ... er ... текст, строка и < code> c - целое число. Некоторые компиляторы позволяют вам уйти с ним и сделать неявное преобразование для вас, но если вы оставите текстовое поле пустым, компилятор не справится. Убедитесь, что любое изменение типа очевидно, и ваш код будет более надежным и переносимым, например.
c = Val(Sheet1.Text3.Text)


После адресации всего вышеизложенного нет ничего действительно «неправильного» с кодом, который вы представили, но обратите внимание, что я использовал слово «портативный» выше? Если вы можете отказаться от использования VB6, вам следует отказаться от него и использовать VB.NET (или C #, если хотите). Microsoft за последние десятилетия не поддерживала VB6. Если ваша школа настаивает на том, чтобы вы использовали VB6, тогда выйдите и потратите свои деньги в другом месте.

Наконец, попробуйте использовать более значимые заголовки для своих вопросов - в основном все, кто публикует QA, ищут помощь :-) Избегайте использования «txt-speak» (plz) if вы хотите серьезно относиться к

Пожалуйста, войдите или зарегистрируйтесь чтобы ответить на этот вопрос.

0 голосов
ответил от
Вы объявляете свои переменные как Integer , но назначаете строки. Насколько я помню, VB6 не поддерживает неявные преобразования для строк в числовые типы. Сначала вам нужно преобразовать строки в целые числа, используя функцию CInt () :
a = CInt(Text1.Text) b = CInt(Text2.Text) c = CInt(Text3.Text)

Категории

Добро пожаловать на сайт DraftingCode Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...