Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» Страница 152

Тут можно читать бесплатно Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория». Жанр: Разная литература / Газеты и журналы. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте 500book.ru или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»
  • Категория: Разная литература / Газеты и журналы
  • Автор: Журнал «Домашняя лаборатория»
  • Страниц: 192
  • Добавлено: 2024-04-22 04:38:35
  • Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала


Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»» бесплатно полную версию:

Интернет-журнал колхозников, инженеров и разнорабочих науки. Журнал содержит материалы найденные в Интернет или написанные для Интернет и является полностью некоммерческим.

Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» читать онлайн бесплатно

Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» - читать книгу онлайн бесплатно, автор Журнал «Домашняя лаборатория»

числовые, но и строковые. Пример:

Private Sub Command1_Click() а = "Дом"

Select Case а

  Case "Домик"

    k = 3

    Print a

  Case "Дом"

    k = 0

    Print k

End Select

End Sub

Здесь будет напечатан 0.

Задание 30: Ученик вводит с клавиатуры букву русского алфавита. Компьютер должен сказать, какой звук обозначает это буква — гласный, согласный звонкий, согласный глухой или какой-нибудь другой (можно и НЕ ЗНАЮ).

Задание 31: Если у вас есть микрофон и вы можете записывать свой голос в файл, то попробуйте усовершенствовать ваш диалог с компьютером. Пусть компьютер подает вам реплики голосом. Для этого вам заранее придется записать на диск некоторое количество звуковых файлов с репликами компьютера и при помощи оператора Select Case выбирать между ними в зависимости от реплики человека с клавиатуры. Вы сразу же заметите, что компьютер поглупел, но зато стал изъясняться вслух.

Улучшаем калькулятор

Наш калькулятор не предохранен от попыток выполнения арифметических действий над текстом и от деления на ноль. Предохраним его от этого, а также научимся ставить пароль на проект.

Проверка ввода чисел в текстовое поле

Давайте запустим наш калькулятор в том же виде.

Dim Чис1 As Double 'Переменная, содержащая число из текстового поля Число1

Dim Чис2 As Double 'Переменная, содержащая число из текстового поля Число2

Dim Рез As Double 'Переменная-результат, предназначенный для текстового поля Результат

_____________

Private Sub Кл_сложения_Click()

   Чис1 = Число1.Text 'Значения исходных данных переходят в переменные текстовых полей

   Чис2 = Число2.Text

   Рез = Чис1 + Чис2 'Обработка переменных для получения результата

   Результат.Text = Рез 'Значения результата переходит из переменной в текстовое поле

End Sub

…………..

Попробуем ввести в верхнее текстовое поле вместо числа какую-нибудь ерунду, например, КУ-КУ. Щелкнем по кнопке сложения. Visual Basic выдает сообщение об ошибке "Туре mismatch" — несовпадение типов числовой переменной Чис1 и вводимой текстовой информации. Все верно.

Теперь подумаем — хорошо ли это, что Visual Basic реагирует на ваши неправильные действия собственными сообщениями об ошибке? Для вас, которые уже что-то умеют в программировании и делают калькулятор исключительно для собственного удовольствия, может быть и хорошо. Ну а представьте, что вы решили похвастаться калькулятором перед своей подругой, которая знакома с программированием только понаслышке, и она, работая на нем, допустила такую же ошибку? Что она подумает, увидев неожиданно возникшее окно с непонятными английскими словами? Вы думаете, она поймет, что это сообщение об ошибке? Скорее всего она подумает, что это сломался компьютер. И на какие кнопки, скажите на милость, ей нажимать? "Ну и гадость твой калькулятор!" — скажет она наконец и будет сто раз права.

Та же проблема стоит и перед всеми профессиональными программистами, которые создают свои продукты для использования людьми, не обязанными ничего знать о программировании. Программист обязан сделать так, чтобы на все неправильные действия пользователя реагировал не Visual Basic своими непонятными сообщениями, а сама программа, причем понятно, по-русски, и тут же давала возможность исправиться.

Для этого в Visual Basic должны быть средства. И они там есть. Что нам нужно сейчас? Нам нужно средство, которое определяло бы, число ли записано в текстовом окне или же все, что угодно, но только не число. Это функция IsNumeric. Ее аргумент может быть любого типа, в том числе и строкой. Функция анализирует строку и если видит, что она состоит из цифр, знака минус и запятой таким образом, что получается число (и больше ничего в строке нет), то функция получает значение True, что означает "Правда", в противном случае — False, что означает "Ложь". Проверим:

Оператор Debug.Print IsNumeric("КУ-КУ") печатает False.

Оператор Debug.Print IsNumeric("-67,3") печатает True.

Раз так, то функцию IsNumeric можно включать в логические выражения и использовать в качестве условия оператора If. Например,

If IsNumeric("-67,3") Then MsgBox ("Это число") Else MsgBox ("Это не число")

что означает: "Если -67,3 — число, то…" Поэтому же совсем не обязательно писать If IsNumeric ("-67,3") = True Then….

Алгоритм работы калькулятора с проверкой звучит примерно так: Если в текстовом поле Число1 введено число и в текстовом поле Число2 введено число, то делай все, что положено, иначе выдавай сообщение "Вводите только числа". Процедура сложения с учетом этого алгоритма будет выглядеть так:

Private Sub Кл_сложения_Сliск ()

   If IsNumeric(Число1) And IsNumeric(Число2) Then

      Чис1 = Число1.Text

      Чис2 = Число2.Text

       Результат.Text = Чис1 + Чис2

   Else

       MsgBox ("Вводите только числа")

   End If

End Sub

Здесь я немного сэкономил на переменной Рез. Поскольку мы ее никак не обрабатываем, я обошелся без нее. Процедуры для остальных действий пишутся аналогично.

Запрет деления на ноль

Вторая ошибка, на которую реагирует Visual Basic, это деление на ноль. От нее мы избавимся, если запретим компьютеру делить на ноль, записав вместо оператора

Результат.Text = Чис1/Чис2

такой:

If Чис2 <> 0 Then Результат.Text = Чис1/Чис2 Else MsgBox ("На ноль делить нельзя")

Вот как будет выглядеть теперь процедура деления:

Private Sub Кл_деления_Click ()

   If IsNumeric(Число1) And IsNumeric(Число2) Then

       Чис1 = Число1.Text

       Чис2 = Число2.Text

         If Чис2 <> 0 Then Результат.Text = Чис1 / Чис2 Else MsgBox ("На ноль делить нельзя")

   Else

        MsgBox ("Вводите только числа")

   End If

End Sub

Как видите, здесь в состав многострочного If входит однострочный.

Ставим пароль на калькулятор

Ваш калькулятор стал достаточно надежен и удобен. Теперь его не стыдно показать друзьям. Ну а защищаться от врагов будем паролем.

Наша задача — сделать так, чтобы при попытке запустить калькулятор на экране появлялось приглашение ввести пароль, известный только вам. При попытке ввода неправильного пароля, программа должна заканчивать свою работу.

Поскольку приглашение на ввод пароля должно появляться раньше всего остального, то программируем его в процедуре Form_Load, в самом начале. Предварительно объявим строковую переменную для хранения пароля и выдумаем сам пароль, например, "калям".

Dim Parol As String 'Переменная-пароль

Private Sub Form_Load()

   Parol = InputBox("Введите пароль")

    If Parol <> "калям" Then MsgBox ("Пароль неверный!"): End

End Sub

Новый для вас оператор End делает

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.