Программирование и дизайн
Выпуск #15
25 декабря, 2001 г.
Сайт рассылки: http://prs.narod.ru - всё для программиста и дизайнера.
Всего подписчиков: ~5020

В этом выпуске

Новости сайта

25 декабря 2001
 - Вышел 15й выпуск рассылки.

 - Число подписчиков нашей рассылки превысило 5000 человек!

 - В разделе Visual Basic появилась новая статья Отправка POST-форм из программы на VB.
 - Добавлены новые исходные коды для Visual Basic: ShortCut - пример создания ярлыков, и VBExplorer - "Проводник" на VisualBasic'e.
 - Раздел JavaScript'ов пополнился игрой Очко (Black Jack).
 - Также добавлена программа WinPlay 2.0 - проигрыватель музыкальных mp3 файлов, и
 - обновлён раздел анекдотов.


Уважаемые читатели!
Присылайте свои материалы на prs@narod.ru и получите вознаграждение!


Вопрос-ответ

Имя: Владимир
E-mail: motocar@narod.ru
Вопрос:
Я повсюду ищу и не могу найти как сделать на ХТМЛ:
Нужно сделать так что бы иконка в браузере поменялась на мою иконку
(моего майта).
я знаю что при этом задействован файл C:\WINDOWS\SYSTEM\url.dll
Стандартная иконка меняется на сайтах омен и андекс.
Пожалуйста помогите мне разобраться.
Ответить

Имя: Gary
E-mail: Gary@azintex.com
Вопрос:
Что лучше Borland C++ или MS Visual Studio 6.0?
Спасибо.
Ответить

Имя: Prikol
E-mail: sirotafamily@rambler.ru
Вопрос:
Подскажите, как делать эффект треснувшего стекла. Заранее спасибо!
Ответить

Имя: Митя
E-mail: mitay_2000@yahoo.com
Вопрос:
Мне нужно добавить пункт в контекстное меню в ИЕ. Желательно с помощью
JavaScript или JScript. Я нашел - как сделать свое контекстное меню с
помощью скриптлета на VBS. Но оно работает только в приделах этого самого
скриптлета, а, во-вторых, ты его сам создаешь, а мне нужно добавить к
существующему в ИЕ. Может нужно использовать API функцию или ActiveX
какой-то... Помогите пожалуйста... Может знаете - где такое сделано, или
пример кода.
Спасибо.
Ответить

Имя: Люда
E-mail: luda@hidromet.meteo.md
Вопрос:
Баяы Данных & HTML.
Какими программными средствами надо польяоваться для доступа к BD?
Ответить

Имя: Алекс aka Magistr
E-mail: magistr@wincmd.ru
Вопрос:
Вот вопрос про API. Может кто может привести работающий пример, и
желательно с обяснениями (понятными :)), рассказать о том как работать.
А то везде читаю, никак не могу понять. Поскольку пишут явно крутейшие
профы, а у них обычно плохо понятные обяснения получаются :)
Ответить

    Вопросы можете задавать на этой странице, на prs@narod.ru, или заполнив эту форму (отправляется через почтовый клиент):
Ваше имя:
Ваш e-mail:
Вопрос:


Отправка POST-форм из программы на VB

    Почти на всех сайтах в интернете есть формы, т.е. определённые текстовые поля, CheckBox'ы (множественный выбор), кнопки и т.д. Примером формы может служить форма для отправки сообщения, например, в службу поддержки какого-то сайта. Для этой формы необходимо текстовое поле с именем автора, с его обратным e-mail'ом, с сообщением, а также кнопка для отправки сообщения. После того, как пользователь нажимает на эту кнопку, в браузере загружается страница с подтверждением отправки письма.

    Существует два метода для отправки сообщений: GET и POST. Я расскажу как устроен метод POST и как с помощью своей программы отправлять сообщения.

    Каждый элемент формы имеет свои свойства, двумя из которых являются имя и значение. Например у текстового поля может быть имя "e_mail_text", а значение "your@e-mail.ru". У CheckBox'а имя может быть "Check1", а значение "1", т.е. "галочка" стоит и т.д. Также у всех объектов есть свой тип. Например, кнопка - button, текстовое поле - text, кнопка для отправки - submit, а кнопка для очистки полей - reset. Также существуют объекты типа hidden, которые не видны на странице, но также имеют имя и значение.

    Так вот после того, как пользователь нажмёт на кнопку отправки, браузер генерирует адрес страницы, на которую потом переходит пользователь. Вначале строки идёт адрес до CGI скрипта с вопросительным знаком на конце, например:

http://www.someserver.ru/cgi-bin/cgi_script.cgi?

    Затем идёт имя первого элемента формы, после чего ставиться "=" и пишется его значение, потом "&" и имя второго элемента и т.д. В случае с отправкой сообщения в службу поддержки строка будет иметь вид:

http://www.someserver.ru/cgi-bin/cgi_script.cgi?author=Some%20User&e-mail=user_email%40domen.ru&message=Some%20Message

    Здесь "Some User" - имя автора, "user_mail@domen.ru" - обратный e-mail, а "Some Message" - сообщение. Из-за того, что в адресе не могут быть пробелы и другие специфические символы, их заменяют на символ "%", после которого идёт номер ASCII символа в 16ти разрядном виде. С этой страницы можно скачать исходники специально сделанной для этого программы Char2Hex.

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

    Для этого я разберу пример на самой простой программе, например для поиска на Яndex'е. Для этого создаёте новый проект и поместите на него текстовое поле с кнопкой и измените их свойства text и caption как показано на рисунке:

Для зугрузки картинки откройте страницу в Online'е

    Теперь напишем код для кнопки:

Private Sub Command1_Click()
'Объявляем переменную для хранения сгенерированной строки
Dim SearchString As String
'Переменная для текущего символа
Dim Char As Byte
'Для цикла For
Dim I As Integer

'Путь до CGI файла и имя параметера - начальное
'значение переменной SearchString
SearchString = "http://www.yandex.ru/yandsearch?text="

'Перебираем все символы и, в зависимости от того, с каким
'символом работаем, добавляем его к строке поиска
For I = 1 To Len(Text1)
    Char = Asc(Mid(Text1, I, 1))
    If Char > 96 And Char < 123 Then
        SearchString = SearchString + Mid(Text1, I, 1)
    ElseIf Char > 64 And Char < 91 Then
        SearchString = SearchString + Mid(Text1, I, 1)
    ElseIf Char = 32 Then
        SearchString = SearchString + "+"
    Else
        SearchString = SearchString + "%" + Hex(Asc(Mid(Text1, I, 1)))
    End If
Next I

'Вызываем функцию ExecuteFile и передаём ей строку поиска.
ExecuteFile Me.hWnd, SearchString, 1
End Sub

    Теперь создаём новый модуль и пишем:

Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Function ExecuteFile(ExecuteFileProgramHWND As Long, ExecutableFile _
As String, Method As Integer)
ShellExecute ExecuteFileProgramHWND, "Open", ExecutableFile, _
vbNullString, Empty, Method
End Function

    Эта функция вызывает связанное с открываемой строкой приложение. Например, если Вы открываете файл "c:\myfile.mp3", то загружается программа, проигрывающая mp3 файлы. Тут тоже самое: начальные символы "http://" свидетельствуют о том, что это интернет-адрес, и нужно открывать браузер.

    Теперь запустите программу и введите какую-нибудь строку для поиска и нажмите "Поиск". Должен загрузиться браузер, в котором, после подключения к интернету, должна появиться страница с результатами поиска.

    Программу Yandex Search можно скачать отсюда.

Автор: Павел Николаевич
E-mail: pasha_nik@mail.ru

API функции

Функция GetCursor

Описание: Определяет максимальный промежуток времени между двумя щелчками мыши, которые обрабатываются системой как двойной щелчок.
Объявление: Declare Function GetCursor Lib "user32" () As Long
Параметры: нет
Возвращаемое значение: Функция возвращает дескриптор курсора в успешном случае или 0 если происходит ошибка.

Функция DrawIcon

Описание: DrawIcon показывает значок на устройстве. Местоположение значка определяется парой координат, передаваемой функцией и определяющей координаты верхнего левого угла значка.
Объявление: Declare Function DrawIcon Lib "user32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Параметры: hDC
Дескриптор контекста устройства для показа значка

x
Координата x точки, чтобы позиционировать верхний левый угол значка

y
Координата y точки, чтобы позиционировать верхний левый угол значка

hIcon
Дескриптор значка

Возвращаемое значение: В случае ошибки функция возвращает 0. В успешном случае функция возвращает значение отличное от нуля.


Java Script'ы

    "JavaScript BLACK JACK" by CRYPTOGRAPHER Lab. Это Java-скрипт игры Очко (или Black Jack). Цель игры: набрать больше очков, чем Ваш соперник, но не более 21. Если Вы наберёте ровно 21 очко - Вы также выиграете.
    Архив с исходниками и картинками можно скачать с этой страницы.

Для зугрузки картинки откройте страницу в Online'е

Ссылки

GeoHOST.RU
Качественный хостинг!

Program Studio
Сайт посвящён программированию и интернет технологиям. Здесь Вы найдёте различные статьи, исходные коды и примеры, множество полезных программ и многое другое.




Хотите опубликоваться? Присылайте свои статьи на prs@narod.ru и получите гонорар в показах RLE!

Подробнее...



Подписка на рассылку "Мир программирования на Visual BASIC и HTML".
Архив рассылок

Сайт рассылки: Program Studio
Автор: Павел

Ваши предложения можете присылать на prs@narod.ru.
Hosted by uCoz