VB Студия
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Subscribe.Ru увеличило максимальный размер рассылки до 100 кб. В связи с этим вопрос: Какого размера Вы хотели бы получать рассылку? В какой день (дни) недели Вы хотели бы получать рассылку "Visual Basic: новости сайтов, советы, примеры кодов."? С какой периодичностью Вы хотели бы получать рассылку "Visual Basic: новости сайтов, советы, примеры кодов."? Результаты голосования Доска почёта: Sergey Y. Tkachev Кононенко Роман Kirill Sergey Sapozhnikov Sobic Ссылки: |
Несколько слов от автора:
Материал кончается! Присылайте материал!!!
Читайте! Содержание выпуска
Citycat by Email
Программа Citycat by Email позволяет работать с сервером Subscribe.ru с
помощью электронной почты. Теперь Вам не нужно тратить деньги на работу в
online и просматривать мегабайты рекламы для того, чтобы подписаться на
нужную рассылку! Вам просто необходимо скачать небольшую базу данных по всем
рассылкам каталога с нашего сайта, после чего Вы сможете подписываться и
отписываться от рассылок, заказывать архивы прошлых выпусков, выполнять
поиск по каталогу рассылок и многое другое.
Программу Citycat by Email можно бесплатно загрузить с сайта http://sapisoft.h1.ru. наверх Новости сайта VB Студия
наверх Новости сайта VB Line 01 января 2002 г. Ну вот и Новый год. Вначале о приятном. Вы стати намного активнее и присылаете мне свои примеры. Это хорошо! Итак, Данила Беляев прислал свою коллекцию примеров. Начинаем публиковать с очень интересного, на мой взгляд, примера работы с Direct Music. Пример называется RealMid и предназначен для прослушивания Midi файлов через DirectX. Скажу сразу, что получается довольно круто, в смысле очень качественно, так как используется программный синтезатор и качество звучания мало зависит от качества звуковой карты. И еще один пример от Данилы Беляева - оригинальное всплывающее меню. Гриневич Дмитрий прислал пример программы для работы с Midi файлами, программа называется KaraokeSystem. Продолжаем публикацию примеров от SeRg, сегодня хочу предложить Вам посмотреть пример на тему выключения компьютера, т.е. как можно программным способом выключить компьютер. Теперь о грустном. В связи с предстоящим переездом у меня стало совсем мало времени, так что придется пока пожертвовать рассылкой, она пока будет выходить в режиме новостей, т.е. пока в ней будут только новости. 23 декабря 2001 г. Ну вот, так то лучше! Мой почтовый ящик за последние дни принял множество интересных примеров, статей и контролов. Итак, с сегодняшнего обновления, я буду их выкладывать на сайт. Не обижайтесь, если Ваш код появится не самым первым, а, например, к Новому году. Новоселов Андрей порадовал нас очень качественным и полезным контролом DublWindow. Контрол предназначен для отслеживания запущенных копий одной и той же программы и имеет множество интересных возможностей. Например, Вы можете обмениваться информацией между разными копиями и т.д. Рекомендую всем. Ковалев Сергей прислал контрол FlexGridPlus, созданный на основе всем известного FlexGrid, но имеющий несколько новых полезных свойств: TextEdit = true позволяет вводить текст в ячейки, свойство FormatString позволяет задать формат вводимого текста, если FormatString=1, то в ячейки можно вводить только числа и десятичные точки, а также рад других нужных свойств. Ну и напоследок еще два примера от SeRg, Сергей очень порадовал и прислал множество своих примеров, контролов. Большое ему спасибо. Итак, на сегодня я выбрал два примера: работа с FSO библиотекой и красивые стрелочные часики. Ну и на закуску новый сайт про ЭТО VBasic. Фууух, ну на сегодня хватит обновлений. наверх Новости сайта VBMania
наверх Новости сайта Азбука VB
наверх Если риложение не закрывается Какие-то объекты не выгружены из памяти. Если вы используете DAO для доступа к базе данных, то вам не повредит такой код Private Sub Form_Unload(Cancel As Integer) On Error Resume Next Dim ws As Workspace Dim db As Database Dim rs As Recordset For Each ws In Workspaces For Each db In ws.Databases For Each rs In db.Recordsets rs.Close Set rs = Nothing Next db.Close Set db = Nothing Next ws.Close Set ws = Nothing Next ' End Sub наверх Определение типа клавиатуры По материалам сайта VBcode.FAQ Private Declare Function GetKeyboardType Lib "user32" (ByVal nTypeFlag As Long) As Long Private Sub Form_Load() Dim t As String Dim k As Long k = GetKeyboardType(0) If k = 1 Then t = "PC or compatible 83-key keyboard" If k = 2 Then t = "Olivetti 102-key keyboard" If k = 3 Then t = "AT or compatible 84-key keyboard" If k = 4 Then t = "Enhanced(IBM) 101-102-key keyboard" If k = 5 Then t = "Nokia 1050 keyboard" If k = 6 Then t = "Nokia 9140 keyboard" If k = 7 Then t = "Japanese keyboard" MsgBox "Type of keyboard : " & t End Sub наверх Изменение внешнего вида кнопки ПУСК По материалам сайта VBcode.FAQ Для изменения внешнего вида кнопки ПУСК вам нужна любая картинка размером 55 пикс * 22 пикс. под именем temp.bmp Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long Const SRCCOPY = &HCC0020 Dim hwndTB As Long ' handle taskbar'а Dim hWndSB As Long ' handle окна кнопки ПУСК Dim hDcSB As Long ' handle содержимого кнопки ПУСК Dim mRect As RECT ' координаты кнопки ПУСК Dim hDcTmp As Long ' handle новой картинки Dim hBmpTmp As Long ' временная картинка Dim hBmpTmp2 As Long ' временная картинка Dim nWidth As Long ' ширина кнопки ПУСК Dim nHeight As Long ' высота кнопки ПУСК Dim sPath As String ' путь к картинке Private Sub Form_Load() ' получить handle taskbar и кнопки ПУСК hwndTB = FindWindow("Shell_TrayWnd", "") hWndSB = FindWindowEx(hwndTB, 0, "button", vbNullString) ' получить dc кнопки ПУСК hDcSB = GetWindowDC(hWndSB) ' получить координаты кнопки ПУСК Call GetWindowRect(hWndSB, mRect) ' ширина и высота nWidth = mRect.Right - mRect.Left nHeight = mRect.Bottom - mRect.Top hDcTmp = CreateCompatibleDC(hDcSB) hBmpTmp = CreateCompatibleBitmap(hDcTmp, nWidth, nHeight) ' установить путь для загрузки картинки sPath = App.Path & "\temp.bmp" hBmpTmp2 = SelectObject(hDcTmp, LoadPicture(sPath)) End Sub Private Sub tmrPaint_Timer() ' рисовать кнопку ПУСК Call BitBlt(hDcSB, 0, 0, nWidth, nHeight, hDcTmp, 0, 0, SRCCOPY) End Sub Private Sub Form_Unload(Cancel As Integer) ' очистить кнопку ПУСК hBmpTmp = SelectObject(hDcTmp, hBmpTmp2) DeleteObject hBmpTmp DeleteDC hDcTmp End Sub наверх ASP: Предварительный просмотр Информация взята с сайта prosto.pp.ru При подготовке информации перед записью полезно проверить как она будет выглядеть при отображении. Это особенно актуально, если в тексте содержатся теги HTML. С другой стороны при использовании для ввода тега может неоднозначно трактоваться перевод строки. Ниже приводится текст модуля PreView.asp позволяющего произвести предварительный просмотр. <%@Language=VBScript%> <%Option Explicit%> <%Response.Expires=0%> <% ' Высвечивает документ для предварительного просмотра ' Form - имя формы ' Field - имя поля формы ' ---------------------------------------------------------------- Dim sForm,sField Dim sStart,sBr sForm=Trim(Request.QueryString("Form")) sField=Trim(Request.QueryString("Field")) %> <html> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <TITLE>Предварительный просмотр</TITLE> <head> <SCRIPT LANGUAGE=javascript> <!-- self.focus(); //--> </SCRIPT> </head> <body> <% ' Определить замену начала и перевода строки sStart=" " sBr="<br> " %> <script LANGUAGE="javascript"> <!-- var b,n,k,s; s="<%=sStart%>"; var str=opener.<%=sForm%>.<%=sField%>.value; k=str.length; b=true; while((n=str.indexOf("\n"))>-1) { document.write(s+str.substring(0,n-1)); str=str.substring(n+1,k); s="<%=sBr%>"; b=false; } if (b=true) document.write(s+str); //--> </script> </body> </html> Здесь внедрен механизм образования красной строки (переменная sStart) и замены перевода строк на тег (переменная sBr). При желании этот механизм легко модернизируется. Для вызова модуля, в форме для которой требуется проверка поля, можно использовать, например, такую запись: <FORM Name="frmDocum"> <TEXTAREA Name="DocumText" rows="3" cols="5">Исх. текст</TEXTAREA> <input TYPE="button" VALUE="Предварительный просмотр" onClick="javascript:window.open("PreView.asp? Form=frmDocum&Field=DocumText" ,"toolbar=no,scrollbars=yes,resizable=yes");"> </FORM> При желании весь код модуля может легко быть переведен в обычный HTML. Предварительный просмотр осуществляется на машине клиента без бесполезной перекачки проверяемых текстов. А это уже сокращение трафика. наверх Как открыть CD-ROM Многие из Вас не раз задумывались над тем, как программно открыть CD-ROM. Это настолько элементарно, что я решил рассказать Вам об этом. Итак, нам потребуется всего одна функция Win32 API: Private Declare Function mciSendString Lib "winmm.dll" _ Теперь
для открытия CD-ROM вызовите эту функцию с
такими параметрами: а
ее для закрытия: Ну
вот я же говорил, что это очень просто.
Книги
Остальные книги о VB из магазина Колибри можно найти здесь. наверх Анонсы эхо-конференций СообЧа Игры
Работа, работа, работа — документы, базы, отчеты…
Ну все пора расслабиться: работа не волк — в лес
не убежит! Представь себе, у нас есть группа,
которая поможет тебе скрасить тяжелые рабочие
будни — мы помогаем друг другу играть!!!
Обсуждаем все вопросы, которые только могут
появиться у любителя игр: к примеру, как
поиграть в StarCraft по сети или как написать
свой конфиг к QUAKE III, и обсудим еще
многое-многое-многое… Новости, ссылки на демки,
патчи, обзоры и прохождение игр — все это
у нас есть! Есть вопросы — ответим, есть
новенький секрет — расскажем! Ну, а если
ты супер-геймер, сам бог тебе велел быть с нами! Подписаться Шифрование
Встречались ли вы в своей жизни с компьютерными
пиратами? Одной из сфер их деятельности является
перехват любой информации во время ее пересылки
в просторах сети и воровство данных прямо с
вашего компьютера. Даже если хакеру и удастся
завладеть секретными данными — каково же будет
его разочарование, когда он не сможет их прочесть!
Давайте же поговорим о шифровании данных с помощью
PGP и других алгоритмов... Подписаться Все о Linux
Конференция, посвященная ОС Linux, которую
имеете или будете иметь вы, а не она вас.
Чем больше будет задано вопросов, тем больше
будет получено ответов. Количество как известно
перерастает в качество... И что приятно, ответы
не канут в лету, их всегда можно будет найти в
архиве нашей группы... Добро пожаловать! Подписаться Всё, что связано с пакетом программ MS Office.
Вы хотели создать красивый документ в Word, но
не знаете как форматировать текст? Или же в
Excel вам нужно создать сложнейший и, в тоже
время, красивый отчет, содержащий тысячи цифр,
и вам не хватает для этого возможностей программы?
Вам нужно создать базу данных в Access и по ней
составлять отчеты или вы не знаете как послать
письмо из Oulook? Всё это - от основ форматирования
текста до сложнейших работ в таких программах,
как MS Access и MS Publisher, - вы можете узнать
в нашей группе Soobcha_Office. Подписаться Мощь и красота С++
С++ является одним из самых гибких языков
программирования. Сочетание низкоуровневых и
высокоуровневых средств делает его сильным
инструментом в руках программиста. Данная
группа призвана помочь программирующим на Си и
просто их сблизить. Давайте будем решать
проблемы вместе!!! Подписаться наверх Доска объявлений Ищу телеработу.
наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автор: Шатрыкин Иван. Соавтор: Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Леонид Ответ ожидается по этому адресу Как создать файл сохронения для программы? Автор вопроса: Юля Ответ ожидается по этому адресу Подскажите, пожалуйста, как сделать так, что бы событие возникало при нажатие трех клавиш. Например: shift+ctrl+m. Автор вопроса: Роман Ответ ожидается по этому адресу Скажите, пожалуйста, у меня есть основная форма, как мне по нажатию какой-нибудь функциональной клавиши (например F3) запускалась другая форма? Автор вопроса: Денис Ответ ожидается по этому адресу У меня вот что за проблема: я написал программу (в VB6, когда её запускаещь, она работает превосходно). После её компиляции и запуске при нажатии на кнопку "Открыть" (должно вызваться стандартное окно открытия Windows), она выдаёт ошибку: "Run-time error "401". Can't show non-madal form when modal form is displeyed." И дальше перестаёт работать. Автор вопроса: Alexander Ответ ожидается по этому адресу Как можно добавить имя Data Base в DNS через VB6 ??? Автор вопроса: Иван Ответ ожидается по этому адресу Считывание реестра вот таким кодом,он считывает только строковой параметр реестра,а как сделать чтобы считывался двоичный параметр реестра. Вот код: Dim Variable As Variant Variable = QueryValue(HKEY_LOCAL_MACHINE, "VB6", "Program") ну там еще прилагается модуль. Автор вопроса: RaPToR Ответ ожидается по этому адресу Я хочу чтобы после закрытия формы,текст в textbox автоматически сохранялся в каком-нибудь файле Автор вопроса: Sfagnum Ответ ожидается по этому адресу Такая проблемка, как из Excel'я табличку в Access перекинуть, лучше Range'м, а так хоть поячеечно, а также как искать данные в field'е, желательно и что я с поиска могу в result получить Пишу на VBA в Excel Ответы: Вопрос: Пользователь в поля вбивает координаты и размеры заготовок (досок толщ. 16 мм.) а прога должна их показать в два и трухмерном пространстве (выполнить так сказать чертеж и распечатать). Вот не знаю как сделать (проще). Мои варианты: создать свой трех движок, найти чужой, подключать МАХ, остыть и заняться чем нибудь другим - ). Можете что посоветовать? Ответ: Автор ответа: Shemyakin, Dmitry Я бы попробовал автоматизировать Autocad. Благо в нем есть возможность поддержки VBA. Вопрос: Пользователь в поля вбивает координаты и размеры заготовок (досок толщ. 16 мм.) а прога должна их показать в два и трухмерном пространстве (выполнить так сказать чертеж и распечатать). Вот не знаю как сделать (проще). Мои варианты: создать свой трех движок, найти чужой, подключать МАХ, остыть и заняться чем нибудь другим - ). Можете что посоветовать? Ответ: Автор ответа: Александр Подмогильный Свой движок это интересно, но довольно хлопотно. Найти чужой и припаять к себе не знаю таких движков (к сожалению). MAX- из пушки по воробьям. Прочие произведения Автодеска-тяжелая артилерия, разве что AutoCad Lite. ИМХО вот "Компас" на это стоит обратить внимание. В далекие DOS времена из вего CAD зверинца я для себя ставил его на первое место по соотношению простота использования/возможности, но использовал Dragon. Вопрос: Народ, а где можно достать инфу по работе с DirectX в VB? Ответ: Автор ответа: Maxim Информацию о DirectX можете посмотреть на www.vbstreets.ru. Вопрос: Подскажите как в textbox получить текстовую информацию страницы загруженной в WebBrowser или хотябы ее HTML код. Ответ: Автор ответа: DmitryK1 Text1 = webbrowser.Document.documentElement.outerHTML Вопрос: Подскажите как в textbox получить текстовую информацию страницы загруженной в WebBrowser или хотябы ее HTML код. Ответ: Автор ответа: Sergey Y. Tkachev Положите на форму TextBox, CommandButton и Inet control (находится в Microsoft Internet Controls) Ставьте следующий код: Private Sub Command1_Click() Dim httpDoc As String Inet1.URL = "www.microsoft.com" httpDoc = Inet1.OpenURL("www.microsoft.com") Text1.Text = httpDoc End Sub Нажмте F5, чтобы запустить проект, затем нажмите кнопку. Вопрос: Лююди! Как проигрывать MP3 файлы на VB? Использовать MCI или можно через WinAPI??? Ответ: Автор ответа: Шатрыкин Иван В Windows API нет функций для работы со звуковыми файлами, сжатыми по стандарту MP3. Но... Есть замечательный компонент, который называется Windows Media Player, вот он может помочь. Положите на форму контрол Windows Media Player, свойство AutoStart поставьте в True. Теперь для воспроизведения установите в свойство FileName, во время выполнения программы, имя файла для воспроизведения. И все... Вообще-то, существуют различные OCX, которые могут воспроизвести mp3, но зачем они, если практически у всех есть Media Player. Вопрос: На VBA никогда не программировал. Вопрос: в некой директории содержатся некоторое количество поддиректорий, в каждой поддиректории файлы с расширением rtf. Нужно написать макрос, чтобы эти файлы быстро сохранить в формате *.txt. Бегло изучив Help по VBA нашел как это делать с ActiveDocument, но не открывать же вручную все файлы. Ответ: Автор ответа: Sfagnum Всё просто просматриваешь каталог по маске, нужные файлы открываешь делаешь ActiveDocument'у SaveAs, затем ActiveDocument.Close и удаляешь *.rtf если надо. Вопрос: Моё почтение! Ввиду моего дилетанства ,заранее приношу извинения за возможные некорректные формулировки аспектов вопроса. Ситуация. Моё приложение на VB 6 использует файл Access 2000. В полях таблицы этого файла,имеющих тип Text ,я без проблем пишу по-русски (весь "офис" у меня с русской поддержкой). Но при "вытаскивании" содержимого этих полей в TextBox-ы приложения ,получаю лишь набор ????? и т.д. На машине у меня 98-й windows(английский). Помогите ,пожалуйста, разобраться в причине проблемы.По-возможности, пример разрешения подобной ситуации, Ответ: Автор ответа: VMJ По всей виимости собака зарыта в шрмфте TextBoxа. Попробуйте в явном виде задать для него "Кириличный" шрифт. Вопрос: Как с помощью VB сфотопрафировать экран(как PrintScreen)? Ответ: Автор ответа: Рафис Для того чтобы с помощью VB сделать скринщот экрана надо всего лишь воспользоваться несколькими функциями Win32 API . Private Declare Function GetDestktopWindow_ Lib "user32" () as Long Private Declare Function GetDC_ Lib "user32" (ByVal hwnd as Long) as Long (Эти 2 функции позволяют считать поверхность экрана) Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long И в Form Load написать: dwRop = &HCC0020 hSrcDC = GetDC(hwndSrc) Call BitBlt(hDC, 0, 0, ScaleWidth, ScaleHeight, hSrcDC, 0, 0, dwRop) Show И самое главное не забутьте AutoRedraw поставить равным true. Вот и всЁ. Вопрос: Подскажите плз, как програмно поменять ориентацию бумаги в принтере по умолчанию, а то у мена DataReport не хочет отображать отчёты в ориентации Ландшафт? Ответ: Автор ответа: Владимир Тюльпа printer.Orientation=1 - Книжная ориентация printer.Orientation=2 - Альбомная Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
||||||
Выпуск подготовили: | Сурменок Павел и Шатрыкин Иван |