Новости сайта
ProgramminG
Хардварные
новости сайта ProgramminG
Уроки по
HTML
Все для вебмастеров. Куча картинок, скриптов, доков
Ассемблер? Это просто! Учимся программировать
Несколько слов от автора:
Здравствуйте! У нашей рассылки последние 2 недели был какой-то праздник: за это время на нее подписалось более 2000 человек! Огромное спасибо всем вам, за проявленный к этой рассылке
интерес, я же со своей стороны, буду стараться сделать ее более интересной, привлекательной. В дальнейших выпусках вы сможете найти в левой (голубенькой) колоночке голосование, на что
прошу обратить внимание :).
Группа VB. Заходите в гости. Здесь вы приобретете практические навыки по программированию на Visual Basic. Как вы этого сможете достигнуть? Путем написания собственной серьезной программы. Чем обычно занимается рядовой чайник-программист? Ну, пишет там всякие приколы на VB... Ну, ма-а-ленькую полезную программку наваляет. А как получить навыки в создании серьезных программ? Правильно, путем создания серьезных программ. ;) Но в одиночку вам с этим не справиться. Вот для этого в проекте СообЧа существует группа программистов-чайников, которые занимаются разработкой серьезного софта на VB. Суть состоит в том, что вам совсем необязательно знать все в Visual Basicе. Вам достаточно быть рядовым чайником и немного знать операторы VB. Остальному научимся вместе. На данный момент в группе разрабатывается почтовая программа под рабочим названием "Сообчайлер". Она будет уметь все, что умеет популярная программа The Bat и даже намного больше. Есть сборник оригинальных идей, выдвинутых членами нашей группы, которые мы постараемся реализовать все вместе. Проект разбивается на отдельные простые задачи. Такие как: проверка орфографии, форма для написания нового письма, главное окно... и т.п. Каждую часть делает отдельный человек. Затем он высылает сделанный модуль в группу, и остальные просто присоединяют его к базовому проекту. Вам совсем не обязательно четко представлять, как это сделать. Достаточно просто начать и столкнуться с какой-нибудь проблемой. Пусть это будет даже проблема типа "А как добавить новый модуль к проекту?". Все. Наткнулись... ;) Дальше действуем по одной схеме - пишем письмо с описанием проблемы в группу и мы все вместе разбираемся в проблеме. Таким образом, все остальные получат ЗНАНИЯ и некоторые навыки в решении создавшихся проблем. Не забывайте - все мы чайники. Не стоит бояться задать вопрос. Задавайте - а мы вместе попытаемся найти ответ.
Возможно, кому-нибудь приходилось сохранять в реестре какие-либо пароли,
чтобы потом всего лишь проверить, а правильно ли он введён пользователем
при следующей загрузке программы.
Данная процедура помогает не сохранять в реестр пароль, а только его
Hash-функцию.
'в модуль
Public Function PassHash(Pass As String) As Long
Dim I As Long
Dim L As Long
Dim S As Double
Dim K As Double
L = Len(Pass)
For I = 1 To L
K = 1 + 1 * (I / L)
S = S + Asc(Mid$(Pass, I, 1)) * K
Next I
S = S / L
PassHash = Int(S) * 1000000 + (S - Int(S)) * 1000000000
End Function
'использование
H = PassHash("GoodPassword")
При этом получаем значение 938777778, которое и записываем в любое, даже
самое доступное место.
При следующем вводе пароля опять вычисляем Hash и сравниваем его с
сохранённым. Если совпал - значит верный. Если нет - догадайтесь сами :)
Функция чувствительна к регистру, перемене букв местами.
Практикум на примерах
Windows API (Часть 4 - Интересные API функции)
Вот закончились наши теоритические занятия по API функциям, начались практические. Теперь я буду публиковать в рассылке интересные на мой взгляд функции.
Функция CharUpper
Declare Function CharUpper Lib "user32" Alias "CharUpperA" (ByVal lpsz As String) As String
CharUpper конвертирует все символы из нижнего регистра в верхний
Возвращаемое значение
Функция возвращает строку со всеми буквами нижнего регистра,конвертируемые в верхний регистр
Параметры
lpsz
Строка для конвертации в верхний регистр
Пример
'конвертируем строку "Доброе утро, страна!" в верхний регистр
Dim target As String ' нужная строчка
target = CharUpper("Доброе утро, страна!")
Debug.Print target
Поленые коды на Visual BASIC
Сравниваем 2 файла на идентичность
Вот решил подобрать коды.
Private Sub Form_Load()
'замените пути файлов, которые вы хотите сравнить
Open "C:\1\convert1bmp.htm" For Binary As #1
Open "C:\1\convert2bmp.htm" For Binary As #2
issame% = True
If LOF(1) <> LOF(2) Then
issame% = False
Else
whole& = LOF(1) \ 10000
part& = LOF(1) Mod 10000
buffer1$ = String$(10000, 0)
buffer2$ = String$(10000, 0)
start& = 1
For X& = 1 To whole&
Get #1, start&, buffer1$
Get #2, start&, buffer2$
If buffer1$ <> buffer2$ Then
issame% = False
Exit For
End If
start& = start& + 10000
Next
buffer1$ = String$(part&, 0)
buffer2$ = String$(part&, 0)
Get #1, start&, buffer1$
Get #2, start&, buffer2$
If buffer1$ <> buffer2$ Then issame% = False
End If
Close
If issame% Then
MsgBox "Файлы идентичны", 64, "Info"
Else
MsgBox "Файлы НЕ идентичны", 16, "Info"
End If
End Sub
Блокировка клавиатуры
Предупреждение: после запуска этого кода для активизации клавиатуры вам надо
перезагрузить компьютер
Shell "rundll32 keyboard,disable"
Вопросы / Ответы
Отправитель вопроса Олег Приветствие!
Очень бы хотелось узнать о вызове exe шных файлов из VB, и использование asm-кодов в VB, от простого к сложному и поподробнее.
Заранее спасибо.
Отправитель вопроса look Приветствие!
Как можно зделать так, чтобы удаленно заблокировать клавиатуру зная IP адресс (сеть локальная) и потом ее разблокировать?
Заранее спасибо.
Объявления
Требуются люди
Хочу напомнить, что еще пусты многие вакансии рассылки:
- Рубрика "Рецензия книг"
- Рубрика "Практикум на примерах"
Также можно просто присылать коды.
Проекты группы СообЧа-VB
Вот проекты которые на данный момент в рабочем состоячнии:
- Сообчайлер: почтовый клиент
- Крестики - Нолики: игра :)
- Secret CODE: шифратор
- Inet TIMER: блокиратор интернета