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

VB.NET-World

  Все выпуски  

Мир программирования на Visual BASIC 5.0 и HTML. Выпуск 31


Служба Рассылок Subscribe.Ru проекта Citycat.Ru
Мир программирования на Visual BASIC и HTML
Информация
  Архив рассылки
  Рассылка

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

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

просьба кликнуть по этому баннеру для помощи автору рассылки

Ссылки
  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
  Дмитрий Данелия
  Виталий Иванов
  Raven
  Сурменок Павел
  Шаронов Игорь
  Максим
  Глеб
  Daniel

Кнопки

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

мы в режиме:

SUPERTOP

SnoozeX Design

Опрос
Эта рассылка:
Лучшая в инете Очень хорошая
Хорошая
Неплохая
Хуже некуда


результаты

Друзья

Все для вебмастеров. Куча картинок, скриптов, доков
Ассемблер? Это просто! Учимся программировать
Дизайн и программирование
Html для начинающих и не только


Несколько слов от автора: Привет народ! Появился еще один человек для раздела html! Все.
Ваши пожелания:


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

РАССЫЛКА: Открылся сайт рассылки по адресу http://vb-html.da.ru На сайте вы найдете весь архив рассылки, проекты и многое другое.
ПРИМЕЧАНИЕ: Выпуски данной рассылки начиная с первого вы сможете прочитать на http://subscribe.ru/archive/comp.design.snoozex/    @LEXis

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

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

# E-Mail группа "СообЧа-Visual BASIC":
  • О группе
  • Пауза между двумя кусками кода
  • Есть ли диск в устройстве
# Помощь по HTML - ведущий Daniel и Максим:
  • dhtml: текстовое меню навигации с подразделами
  • Красивые кнопочки на Java Script
# Полезные коды Visual BASIC:
  • Работа с ini файлами
# Практикум на примерах:
  • Опубликование работ в Интернет. Программистам... (Часть 2)
# В разделе "вопросы/ответы":
  • Ответы на вопросы читателей
# Рубрика "Объявления"


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

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

  • Пауза между двумя кусками кода

Алексей Вишневский Июль 2001

Как лучше всего переждать паузу между двумя кусками кода. При использовании Sleep отбирается всё управление у процесса. В течение паузы не будет ни каких реакций программы на кнопочки, меню и т.п.

Function Delay(Pause as single)
dim Start as Single
start = Timer
Do While Timer < start + pause
DoEvents
Loop
End Function
'  Разрешающая способность зависит от версии Windows
'  В 9х - 55 мсек
'  В NT - 10 мсек

'Вызов
Delay 1 'задержка на секунду
'Можно и так
'Delay 0.3 'задержка на 300 мсек

  • Есть ли диск в устройстве

Шаронов Игорь Александрович Июль 2001

Добавьте на форму элемент DriveListBox и элемент CommandButton. Запустите программу. Выбирая в элементе DriveListBox любое устройство (дисковод или привод CD-Rom) и нажимая на кнопку вы узнаете, находится ли дискетка или лазерный диск в устройстве. Добавьте следующий код:

Private Declare Function GetVolumeInformation Lib "kernel32" Alias
"GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal
lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long,
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long,
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal
nFileSystemNameSize As Long) As Long
Private Sub Command1_Click()
erg& = GetVolumeInformation(Drive1.Drive, VolName$, 127&, VolNumber&,
MCM&, FSF&, FSys$, 127&)
If erg& = 0 Then
MsgBox "Ничего в текущем устройстве нет"
Else
MsgBox "В текущем устройстве присутствует диск"
End If
End Sub

 Помощь по HTML - ведущие Daniel и Максим
  • dhtml: текстовое меню навигации с подразделами
Наверное многие встречались с этой задачей и находили разные способы её решения. Но мне кажется, что описаный ниже вариант является самым удобным и простым в использовании. Итак, приступим. Начнём с таблицы стилей:
<style>
body {background: white;}
 .onp {position: relative; display: none;}
 .onc {position: relative; display: block;}
</style>
Опишем классы .onp и .onc для корректного отображения вложеных разделов (функция display) Дальше у нас пойдёт ява-сценарий для управления и взаимодействия менюшек и подменюшек. Тобишь, когда пользователь будет тыкать на раздел, перед ним выпадет подраздел, а когда повторно на названии раздела - слой с подменюшками будет закрываться.
<script>
function showhideObj(obj)
{
obj.className = obj.className == "onp" ?
        "onc": "onp";
}
</script>
Ну, и сам html код...
<body><ul><li onclick="javascript:showhideObj(In1,Out1)"
id="Out1"><a href="#.htm" title="Первый раздел сайта">Первый раздел сайта
</a><ul id="In1" class="onp">
<li><a href="#.html" title="Подраздел 1">Подраздел 1</a></li>
<li><a href="#.html" title="Подраздел 2">Подраздел 2</a></li>
</ul></li><li onclick="javascript:showhideObj(In2,Out2)"
id="Out2"><a href="#.htm" title="Второй раздел сайта">Второй раздел сайта
</a><ul id="In2" class="onp">
<li><a href="#.html" title="Подраздел 1">Подраздел 1</a></li>
<li><a href="#.html" title="Подраздел 2">Подраздел 2</a></li>
</ul></li></ul></body>
Вот и всё. Немного редактирования и у вас получится симпатичная выпадающая менюшка. Дерзайте.
  • Красивые кнопочки на Java Script
Наверное вы встречали на многих сайтах картинки, которые изменяются, когда над ними оказывается курсор мыши. Делается это достаточно просто с помощью JavaScript. Итак, немного теории: когда курсор мыши нависает над картинкой происходит событие onMouseOver - "мышь надо мной", а когда мышь наконец уходит происходит событие onMouseOut - "мыша ушла". Сначала необходимо организовать вызов функций, которые будут менять картинки.
<a href="index.html" onMouseOver="img_act('img1')";
onMouseOut="img_inact('img1')";>
<img src="1off.gif" name="img1" width=20 height=20 border=0></a>;
Мы создали ссылку, которая при событии onMouseOver быдет вызывать функцию JavaScript img_act, а при событии onMouseOut - img_inact. Внутри ссылки располагается наша картинка, обратите внимание на параметр name в тэге img - name="img1" - он дает картинке уникальное имя, которое передается функциям img_act и img_inact. Теперь надо сделать сами функции. Прежде всего надо зарезервировать 2 картинки, которые будут соответствовать включенному и выключенному состояниям. Обратите внимание, что называются они img1on и img1off т.е. как наша картинка img1, с прибавкой on и off (это не имеет никакого отношения к именам файлов):
img1on = new Image ; img1off = new Image ;
Теперь надо указать, какие именно это картинки, т.е. прописать реальные имена файлов для включенного и выключенного состояний:
img1on.src = "1on.gif"; img1off.src = "1off.gif";
А теперь можно написать и сами функции-спасатели:
function img_act (imgName) {
imgOn = eval (imgName + "on.src");
document [imgName].src = imgOn; }

function img_inact (imgName) {
imgOff = eval (imgName + "off.src");
document [imgName].src = imgOff; }
Эти функции получают имя картинки и сохраняют его в переменной imgName. Мы вызывали функции img_act(img1), значит в нашем случае imgName=img1. Дальше к этому имени привешивается "on" или "off" - помните как мы обозначили имена для включенного и выключенного состояний - img1on и img1off. Наконец производится замена картинки c именем imgName (т.е. img1) на включенную (функция img_act) - img1on или выключенную (функция img_inact) - img1off. Этот код не работает в IE3. Можно сделать так, чтобы код не работал в IE3, это выражение равно false в случае IE3 if (document.images)

Пример можно получить тут.

 Полезные коды Visual BASIC

Данный код в модуль:

'Чтение и запись строк в файлы инициализации
Declare Function GetPrivateProfileString& Lib _
"kernel32" Alias "GetPrivateProfileStringA" (ByVal _
lpszSection$, ByVal lpszKey$, ByVal lpszDefault$, _
ByVal lpszReturnBuffer$, ByVal cchReturnBuffer&, _
ByVal lpszFile$)
Declare Function WritePrivateProfileString Lib _
"kernel32" Alias "WritePrivateProfileStringA" (ByVal _
lpApplicationName As String, ByVal lpKeyName As String, _
ByVal lpString As String, ByVal lplFileName As String) As Long

'==Чтение записи из файла инициализации=
Public Function GetINI(INIfile As String, Section As String, _
Key As String, Default As String)
Dim temp As String * 256
Dim length As Integer
temp = Space$(256)
length = GetPrivateProfileString(Section, Key, _
Default, temp, 255, INIfile)
GetINI = Left$(temp, length)
End Function

'==Запись в файл инициализации=
Public Sub SetINI(INIfile As String, Section As String, _
Key As String, Value As String)
Dim n As Integer
Dim temp As String
temp = Value
For n = 1 To Len(Value)
If Mid$(Value, n, 1) = vbCr Or Mid$(Value, n, 1) = vbLf _
Then Mid$(Value, n) = ""
Next n
n = WritePrivateProfileString(Section, Key, temp, INIfile)
End Sub
Использование:
sTemp=GetINI(INIFile,"Settings","Parametr","Default")
Эта строка возвращает из ini-файла INIFile из секции Settings значение параметра Parametr, а если параметр отсутствует, то возвращается строка Default
SetINI INIFile, "Settings", "Parametr", sTemp
Эта строка записывает в файл INIFile в секцию Settings в парамер Parametr значение переменной sTemp* (если файл или секция или параметр отсутствуют, то все это создается).

Примечание: sTemp это место нахожрения файла на диске. Например С:/ini.ini

 Практикум на примерах
  • Опубликование работ в Интернет. Программистам... (Часть 2)

Для чего нужен сайт разработчику софта?

Первый ответ очевиден - для распространения программы через Интернет. Второй ответ менее очевиден, но не менее значим - для обратной связи с потребителем. Сюда может входить все - и решение технических вопросов, и гостевая книга. Но самое главное - это полезные советы и рекомендации, которые пользователи могут прислать разработчику.
Если программа не будет обновляться достаточно часто, о ней все забудут. Даже небольшие обновления и усовершенствования могут являться событием и быть предвестником новых версий продаваемой программы. Причем постоянное участие потребителя в процессе совершенствования - это самая выгодная система, благоприятствующая развитию и распространению продукта.
Динамическое появление новых версий имеет еще одну положительную сторону - разработчик идет впереди crack'еров. Например, разработчик AudioMulch на одну версию программы выпустил уже 4 beta-варианта. Популярный в народе Sound Forge в версии 4.5 дошел до буквы "Н". То есть сегодня новым является 4.5Н, год назад им был 4.5Е. Можно посчитать, сколько промежуточных версий было у программы.

 Вопросы / Ответы
  • Вопросов в данном выпуске нет
 Объявления
  • Требуются люди
    Хочу напомнить, что еще пусты многие вакансии рассылки:
    - Рубрика "Рецензия книг"
    - Рубрика "Практикум на примерах"
    Также можно просто присылать коды.

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

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


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

    В избранное