Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Русский_Проект: Изучение Visual Basic


Служба Рассылок Subscribe.Ru проекта Citycat.Ru
Русский_Проект: Рассылка Содержание
Задачи по VB
Советы
Сетевые функции API

Здравствуйте!

Задачи по VB

Итак, продолжим разговор о задачах. Сначала о предыдущем задании. Нужно было перевести число из двоичного счисления в восьмиричное. Практически, все кто решал эту задачу справились с заданием без ошибок. Явного лидера, приславшего первое и красивое решение трудно было определить. Поэтому, чтобы никого не обидеть, никого называть не буду

Решение

Dim dlina
Dim a8 As String
Dim x1, x2, x3, y, i
dlina = Len(Text1.Text)
If dlina - 3 * (dlina \ 3) = 2 Then
 Text1.Text = "0" & Text1.Text
 dlina = dlina + 1
End If
If dlina - 3 * (dlina \ 3) = 1 Then
 Text1.Text = "00" & Text1.Text
 dlina = dlina + 2
End If

For i = 1 To dlina - 2 Step 3
x1 = Val(Mid$(Text1.Text, i, 1))
x2 = Val(Mid$(Text1.Text, i + 1, 1))
x3 = Val(Mid$(Text1.Text, i + 2, 1))
y = 4 * x1 + 2 * x2 + x3
a8 = a8 & Mid$(Str$(y), 2, 1)
Next i
Text2.Text = a8
Новое задание
Задачу прислал Виктор(vitos@...), являющийся пожалуй самым активным участником. Итак, дана последовательность чисел от 1 до 9:
1 2 3 4 5 6 7 8 9
Нужно расставить знаки сложения и вычитания, чтобы получить требуемое число. Например, требуется получить число 8
Возможные решения
1 - 23 - 45 + 6 + 78 - 9 = 8
1 - 23 + 4 - 56 - 7 + 89 = 8
1 - 2 + 34 + 5 - 6 - 7 - 8 - 9 = 8
Удачи! Не забудьте сопровождать свой код комментариями. Поверьте, даже самый простой код через полгода может оказаться не очень простым, а еще через полтора года и вовсе непонятым. Ответы принимаются по адресу vbasic@rambler.ru или wwwind@aport.ru
Удачи!

Советы

Если вам нужно узнать, является ли число четным или нечетным, то можно использовать оператор MOD. Если число делится без остатка, то оно четное. Но этот способ не совсем эффективен, так как за кулисами бейсик применяет деление числа, и многочисленные вызовы этого оператора сильно загружают процессор. Лучше использовать битовую операцию AND. В этом случае Число AND 1 возвращает 1 для нечетных чисел и 0 для четных
Пример
Dim blnIsOdd As Boolean
blnIsOdd = CLng(Text1.Text) And 1
If blnIsOdd Then
MsgBox "Нечетное число"
Else
MsgBox "Четное число"
End If
Вводите числа в текстовое поле и увидите результат

Сетевые функции API

RasEditPhonebookEntry

Declare Function RasEditPhonebookEntry Lib "rasapi32.dll" Alias "RasEditPhonebookEntryA" ByVal hwnd As Long, ByVal lpszPhonebook As String, ByVal lpszEntryName As String) As Long

RasEditPhonebookEntry - вызывает стандартное диалоговое окно удаленного соединения для редактирования

Параметры
hwnd - Дескриптор родительского окна для вызываемого диалогового окна
lpszPhonebook - Windows NT/2000 и выше: Указатель на строку с завершающим нулевым символом, которая содержит полный путь и имя файла телефонной книги (*.PBK). Если параметр равен 0, то функция использует запись по умолчанию. Windows 95/98/ME: Параметр игнорируется, так как записи хранятся в реестре. Используйте vbNullString
lpszEntryName - Имя существующего соединения. Для получения списка существующих соединений воспользуйтесь функцией RasEnumEntries

Пример

' Вызываем диалоговое окно соединения
RasEditPhonebookEntry Form1.hwnd, vbNullString, "mtu"
Полный текст с описанием этой функции вы найдете в справочнике по сетевым функциям API, который скоро появится на сайте!

Не стесняйтесь, высылайте ваши предложения по адресу vbasic@rambler.ru
Посетите сайт Русский_Проект, где вы найдете другую интересную информацию
Давайте делать рассылку вместе! Удачи!



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

В избранное