Мир программирования на Visual BASIC и HTML
Информация
  Архив рассылки
  Рассылка

Исходники
  Secret CODE
  Tic Tac Toe

Спонсоры
  Городской кот
  Subscribe.Ru
  Russian Surf

Ссылки
  VB Streets
  Visual BASIC
  VB: Step by Step
  SnoozeX Design
  СообЧа
  СообЧа-VB

VB Форумы
WEB:
  VBS Форум
  Ru.Visual.Basic
Mail:
  VBStreets
  СообЧа: VB
  подписка - пустое   письмо в VB группу

Доска почета
  Sergey VIMBERG
  Олег
  Oleg Palayda
  BSP
  Евгений
  Николай
  hackcode

Вопросы
  Автору
  По VB
  По HTML

Кнопки

Рассылка 'Мир программирования на Visual BASIC и HTML.'

мы в режиме:

SUPERTOP

SnoozeX Design
Несколько слов от автора: Привет всем. Извиняюсь за опоздание, отдыхал после школы :), надоела она мне порядком. Вот покапался я в архивах кодов и вот, что я нашел вы увидите в оглавлении. Читайте с удовольствием :).
З.Ы. Чуть не забыл. На днях мне пришло письмо в котором говорилось, что я не даю руководства начинающим, постораюсь сделать инфу в следующем выпуске, что-нибудь накатаю чайникам :).
Ваши пожелания:


E-Mail для ответа:   

ПРИМЕЧАНИЕ: Выпуски данной рассылки начиная с первого вы сможете прочитать на http://subscribe.ru/archive/comp.design.snoozex/    @LEXis

29.03.2001 Выпуск N21 Обзор ведет @LEXis

 Сегодня в выпуске:

# E-Mail группа "СообЧа-Visual BASIC":
О группе
Работа с WAV файлами
# Приемы с WINDOWS на VB:
Изменение имени компьютера
# В разделе "вопросы/ответы":
Ответы на вопросы читателей
# Рубрика "Объявления"


 E-Mail группа "СообЧа-Visual BASIC"
О группе

Группа VB. Заходите в гости. Здесь вы приобретете практические навыки по программированию на Visual Basic. Как вы этого сможете достигнуть? Путем написания собственной серьезной программы. Чем обычно занимается рядовой чайник-программист? Ну пишет там всякие приколы на VB... Ну ма-а-ленькую полезную программку наваяет. А как получить навыки в создании серьезных программ? Правильно, путем создания серьезных программ. ;) Но в одиночку вам с этим не справиться. Вот для этого в проекте СообЧа существует группа программистов-чайников, которые занимаются разработкой серьезного софта на VB. Суть состоит в том, что вам совсем необязательно знать все в Visual Basicе. Вам достаточно быть рядовым чайником и немного знать операторы VB. Остальному научимся вместе. На данный момент в группе разрабатывается почтовая программа под рабочим названием "Сообчайлер". Она будет уметь все, что умеет популярная программа The Bat и даже намного больше. Есть сборник оригинальных идей, выдвинутых членами нашей группы, которые мы постараемся реализовать все вместе. Проект разбивается на отдельные простые задачи. Такие как: проверка орфографии, форма для написания нового письма, главное окно... и т.п. Каждую часть делает отдельный человек. Затем он высылает сделанный модуль в группу и остальные просто присоединяют его к базовому проекту. Вам совсем не обязательно четко представлять как это сделать. Достаточно просто начать и столкнуться с какой-нибудь проблемой. Пусть это будет даже проблема типа "А как добавить новый модуль к проекту?". Все. Наткнулись... ;) Дальше действуем по одной схеме - пишем письмо с описанием проблемы в группу и мы все вместе разбираемся в проблеме. Таким образом все остальные получат ЗНАНИЯ и некоторые навыки в решении создавшихся проблем. Не забывайте - все мы чайники. Не стоит бояться задать вопрос. Задавайте - а мы вместе попытаемся найти ответ.
Подписаться в группу (пустое письмо)

Запуск DOS программы

hackcode Март 2001

Playing a WAV File
'----
'Method 1: API call "PlaySound":
Private Const SND_LOOP = &H8 ' play over & over
Private Const SND_ASYNC = &H1 ' allow code to continue running
Private Const SND_NOSTOP = &H10 ' do not play if another sound is active
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" _
     (ByVal lpszName As String, ByVal hModule As Long, _
     ByVal dwFlags As Long) As Long
Private strSoundPath As String

Private Sub Command1_Click()
Dim x As Long
x = PlaySound(strSoundPath, 0, SND_ASYNC Or SND_NOSTOP)
End Sub

'Method 2: API call "sndPlaySound":
Private Const SND_LOOP = &H8 ' play over & over
Private Const SND_ASYNC = &H1 ' allow code to continue running
Private Const SND_NOSTOP = &H10 ' do not play if another sound is active
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
     (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub Command2_Click()
Dim x As Long
x = sndPlaySound(strSoundPath, SND_ASYNC Or SND_NOSTOP)
End Sub

'Method 3: API call "mciExecute":
Private Declare Function mciExecute Lib "winmm.dll" _
     (ByVal lpstrCommand As String) As Long
Private Sub Command3_Click()
Dim x As Long
x = mciExecute("Play " & strSoundPath)
End Sub
'----
Recording WAV file
'----
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As
String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub cmdRecordFromCD_Click()            ' RECORD WAV
Dim i As Long, RS As String, cb As Long, t#
On Error Resume Next
RS = Space$(128)
Kill "c:\cdtest.wav"
cmdPlayCD.Value = True
i = mciSendString("open new type waveaudio alias mywav", RS, 128, cb)
i = mciSendString("record mywav", RS, 128, cb)
t# = Timer + 1: Do Until Timer > t#: DoEvents: Loop
i = mciSendString("stop mywav", RS, 128, cb)
i = mciSendString("save mywav c:\cdtest.wav", RS, 128, cb)
i = mciSendString("close mywav", RS, 128, cb)
cmdStopCD_Click
On Error GoTo 0
End Sub
'----
Setting WAV format for previous sample (use before "record" command)
>>> 16bit stereo @ 22KHz
"set mywav time format ms format tag pcm channels 2 samplespersec 44100
bytespersec 176400 alignment 4 bitspersample 16"

>>> 16bit mono @ 22kHz <--- use this one, it's the best
"set mywav time format ms format tag pcm channels 1 samplespersec 44100
bytespersec 22050 alignment 1 bitspersample 16"

>>> 8bit mono @ 11kHz
"set mywav time format ms format tag pcm channels 1 samplespersec 11025
bytespersec 11025 alignment 1 bitspersample 8 "

 Приемы с WINDOWS на VB
Изменение имени компьютера

Создайте проект с формой (кнопка Command1 и текстовое поле Text1) и модулем.

'----
'Add this code to the module:

Declare Function SetComputerName Lib "kernel32" _
Alias "SetComputerNameA" (ByVal lpComputerName As _String) As Long

'Add this code to the command button:

Private Sub Command1_Click()
a$ = Text1.Text
b& = SetComputerName(a$)
End Sub
'----

 Практикум на примерах
Лог - файлы

Очень полезно, чтобы программа вела лог-файлы своей работы. Особенно записывала туда время и на каком этапе произошел сбой. В дальнейшем это существенно облегчает поиск и исправление ошибки. Вдобавок если вы программу делали на заказ, то цена такого протокола работы резко возрастает. Все что нам нужно для работы - это ввести одну-две переменных и добавить одну ма-а-ахонькую процедурку. Итак, поехали:
Для начала объявим переменную Private Logging As Boolean
Она будет служить нам для разрешения/запрета ведения подробного протокола работы. Это необходимо, чтобы без нужды не писать в файл большое количество информации. Только время запуска/завершения и код и описание ошибки, если таковая была. Добавим в программу возможность запуска с ключом /l для ведения подробных логов. это придаст гибкость программе. З.Ы. чтобы запустить программу с ключем /l создайте ярлык программе и добавте в пути к программе (лейбл объект) этот ключ.
'Если программа была запущена с ключем /l, то записываем
'все действия программы в логи, иначе - записываются только
'контрольные точки и сообщения об ошибках
If Command$ = "/l" Then Logging = True Else Logging = False
If InStr(1, Command$, "/l") > 0 Then Logging = True Else Logging = False
Ну, а теперь осталось только добавить саму процедуру записи действия:
Private Sub Log(Promt As String)
'Процедура, которая ведет логи в зависимости от ключа в
'коммандной строке
'Если переменная установлена в False (запуск без ключа /l), то пропускаем
If Logging = False Then Exit Sub
Dim FileNum As Integer
FileNum = FreeFile
Open App.Path & "\checker.log" For Append As FileNum
Write #FileNum, " " & Promt
Close #FileNum
End Sub
Вот и все. Теперь используем ее везде, где хоть что-то делается. Это дабавляйте в том месте где нужно добавить запись в лог-файл.
Log Now & "Получение почты" & vbCrLf
Однако для наиболее ответственных точек сделаем отдельную процедуру записи состояния программы в этих точках LogGeneral.
Private Sub LogGeneral(Promt As String)
'Процедура, которая ведет логи.
Dim FileNumb As Integer
FileNumb = FreeFile
Open App.Path & "\checker.log" For Append As FileNumb
Write #FileNumb, " " & Promt
Close #FileNumb
End Sub

 Вопросы / Ответы
Вопрос от @LEXisa
Здравствуйте,
Как снять изображение с экрана и сразу сохранить его в графический файл? Оченнннь надо. Плиз хелп.
 Объявления
Требуются люди
Хочу напомнить, что еще пусты многие вакансии рассылки:
- Рубрика "Рецензия книг"
- Рубрика "Практикум на примерах"
Также можно просто присылать коды.
Проекты группы СообЧа-VB
Вот проекты которые на данный момент в рабочем состоячнии:
- Сообчайлер: почтовый клиент
- Крестики: Нолики - игра :)
- Secret CODE: шифратор
- Inet TIMER: блокиратор интернета

Код моей кнопки:

<!-- SnoozeX Design "PLAY" -->
<a href="http://snoozex.boom.ru" TARGET="_blank"><BR><IMG SRC="http://snoozex.boom.ru/new.gif" WIDTH=88 HEIGHT=31 BORDER=1 ALT="SnoozeX Design"></a>
<!-- SnoozeX Design "END" -->

Выпуск подготовили:                    
@LEXis
hackcode
@LEXis ICQ uin : 14912636
Подписаться на рассылку Кувалина Алексея
Мир программирования на Visual BASIC и HTML
© 2000 - 2001 @LEXis & Design by SnoozeX Design
Рассылка является составной частью проекта "СообЧа - СООБщество ЧАйников"
Сайт СообЧа: http://www.soobcha.ru/
Сайт группы по VB: http://soobcha-vb.narod.ru/
Подписаться на сообщество
© 2000 - 2001 СообЧа (СООБщество ЧАйников)
Спасибо за внимание. Ваш @LEXis

http://subscribe.ru/
E-mail: ask@subscribe.ru
Relayed by Corbina
Рейтингуется SpyLog
Хостинг от uCoz