VBNet
VBMania
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Нет тем. Доска почёта: Sergey Y. Tkachev Кононенко Роман Kirill Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Всех поздравляю с прошедшим праздником!
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Определить дату изменения web-страницы Разместите на форме компонент Inet и элемент CommandButton. Public Function PageLastModified(URL As String) As String Dim strHeader As String Inet1.Protocol = icHTTP On Error Resume Next Inet1.OpenURL (URL) If Err.Number > 0 Then Exit Function strHeader = Inet1.GetHeader("Last-modified") PageLastModified = strHeader End Function Private Sub Command1_Click() MsgBox PageLastModified("http://sharig.webzone.ru/IndexMainTopic.htm") End Sub наверх Создать ссылку на страницу в Интернете Данный пример разместит на рабочем столе ярлык на сайт VBnet.RU (при условии, что ваш путь к рабочему столу = "C:\WIN\Рабочий стол"). Sub CreateInternetShortCut(URLFile As String, URLTarget As String) Dim intFreeFile As Integer intFreeFile = FreeFile Open URLFile For Output As intFreeFile Print #intFreeFile, "[InternetShortcut]" Print #intFreeFile, "URL=" & URLTarget Close intFreeFile End Sub Private Sub Form_Load() CreateInternetShortCut "C:\WIN\Рабочий стол\test.url", "http://vbnet.ru" End Sub наверх Как сохранить содержимое web-страницы на диск Расположите на форме элемент Inet (меню Project|Components - Microsoft Internet Transfer Control 6.0). 'Вариант 1 'Расположите на форме элемент Inet (меню Project|Components - Microsoft Internet Transfer Control 6.0). Private Sub Form_Load() Dim b() As Byte 'установить протокол HTTP Inet1.Protocol = icHTTP 'установить скачиваемый адрес Inet1.URL = "http://www.microsoft.com" 'загрузить данные HTML-страницы в массив b() = Inet1.OpenURL(Inet1.URL, icByteArray) 'создать файл на диске и записать в него информацию Open "c:\test.htm" For Binary Access Write As #1 Put #1, , b() Close #1 End Sub 'Вариант 2 'Расположите на форме элемент CommandButton. Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean Dim lngRetVal As Long lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0) If lngRetVal = 0 Then DownloadFile = True End Function Private Sub Command1_Click() DownloadFile "http://sharig.webzone.ru", "c:\sharig_webzone_ru.htm" End Sub 'Вариант 3 'Расположите на форме элемент CommandButton. Данный пример только загрузить данные со страницы в элемент TextBox. А здесь вы можете узнать, как сохранить содержимое TextBox'а в файл. Private Sub Command1_Click() On Error GoTo handle Text1.Text = Inet1.OpenURL(Text2.Text, icString) Exit Sub handle: MsgBox "Error " & Err.Description End Sub наверх Как вытащить все ссылки из htm-страницы В одном из многочисленных примеров по работе с компонентом WebBrowser я натолкнулся на пример, как можно вытащить все ссылки из любого *.htm файла, находящегося как в интернете, так и локально на жестком диске. Честно говоря, моя жизнь после нахождения данного примера очень облегчилась, поскольку я часто работаю с инетом, со ссылками. Нажатие на первую кнопку покажет, как можно вытащить все ссылки из файла, а нажатие на вторую кнопку - как можно вытащить ссылки только определенного типа. Но для начала вам надо установить через меню Project | References ссылку на Microsoft Internet Control. ПРИМЕР 1 Также вам необходимо расположить на форме 2 элемента CommandButton и элемент ListBox. Private IEBroj1 As SHDocVw.InternetExplorer Практические советы по использованию компонента WebBrowser Прежде всего, вы можете создать проект с использованием компонента WebBrowser, используя для этой цели VB Application Wizard. Для этого войдите в меню File | New Project и выберите VB Application Wizard. Нажмите несколько раз Next, и когда программа спросит вас "Do you want your user to be able to access the Internet from your application" смело нажимайте Yes. Можно сразу нажать кнопку Finish. В ваше приложение будет добавлена возможность навигации по Интернету, используя созданный вами проект. Расположите на основной форме CommandButton и впишите в него следующий код: frmBrowser.Show Некоторые возможности компонента WebBrowser у вас
автоматически добавятся, и вы сами потом можете
на досуге в них разобраться. Я а же предлагаю вам
добавить в ваш проект возможности, которые
автоматически не были добавлены Мастером
Создания Приложений.
Процесс, показывающий процесс загрузки веб-страницыPrivate Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As
Long) или такой вариант. Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As
Long) или такой вариант. Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As
Long) Просмотр содержимого веб-страницы "В виде HTML"2 варианта. Загрузите оба варианта, и посмотрите, что каждый код загружает... Text1 = WebBrowser1.Document.documentelement.innerhtml Вызвать окно "Печать"On Error Resume Next Добавить в ComboBox URL после загрузкиPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Навигация на узел в сетиWebBrowser1.Navigate "about:blank" 'пустая страница WebBrowser1.Navigate "http://sharig.webzone.ru" Запрет на посещение определенных узлов в ИнетеPrivate Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As
Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As
Boolean) Ожидание загрузки страницыDo Until WebBrowser1.ReadyState = READYSTATE_COMPLETE Получить данные о загруженной страницеMsgBox WebBrowser1.LocationName 'узнать имя загруженного файла (что-то типа "inet18_webbrowser.htm") MsgBox WebBrowser1.LocationURL 'получить URL загруженной страницы Вызвать окно "Сохранить как..."WebBrowser1.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT Что-то непонятное...Private Sub WebBrowser1_SetSecureLockIcon(ByVal SecureLockIcon As Long) Private Sub WebBrowser1_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As
Boolean) Добавить сайт в список "Избранное" Данный код проверялся в Internet Explorer версии 5.0 Option Explicit Public Enum SpecialShellFolderIDs CSIDL_DESKTOP = &H0 CSIDL_INTERNET = &H1 CSIDL_PROGRAMS = &H2 CSIDL_CONTROLS = &H3 CSIDL_PRINTERS = &H4 CSIDL_PERSONAL = &H5 CSIDL_FAVORITES = &H6 CSIDL_STARTUP = &H7 CSIDL_RECENT = &H8 CSIDL_SENDTO = &H9 CSIDL_BITBUCKET = &HA CSIDL_STARTMENU = &HB CSIDL_DESKTOPDIRECTORY = &H10 CSIDL_DRIVES = &H11 CSIDL_NETWORK = &H12 CSIDL_NETHOOD = &H13 CSIDL_FONTS = &H14 CSIDL_TEMPLATES = &H15 CSIDL_COMMON_STARTMENU = &H16 CSIDL_COMMON_PROGRAMS = &H17 CSIDL_COMMON_STARTUP = &H18 CSIDL_COMMON_DESKTOPDIRECTORY = &H19 CSIDL_APPDATA = &H1A CSIDL_PRINTHOOD = &H1B CSIDL_ALTSTARTUP = &H1D CSIDL_COMMON_ALTSTARTUP = &H1E CSIDL_COMMON_FAVORITES = &H1F CSIDL_INTERNET_CACHE = &H20 CSIDL_COOKIES = &H21 CSIDL_HISTORY = &H22 End Enum Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As SpecialShellFolderIDs, pidl As Long) As Long Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long) Public Function AddFavorite(SiteName As String, URL As String) As Boolean 'SiteName - название сайта, URL - адрес сайта в Инете Dim pidl As Long Dim psFullPath As String Dim iFile As Integer On Error GoTo ErrorHandler iFile = FreeFile psFullPath = Space(255) If SHGetSpecialFolderLocation(0, CSIDL_FAVORITES, pidl) = 0 Then If pidl Then If SHGetPathFromIDList(pidl, psFullPath) Then psFullPath = TrimWithoutPrejudice(psFullPath) If Right(psFullPath, 1) <> "\" Then psFullPath = psFullPath & "\" psFullPath = psFullPath & SiteName & ".URL" Open psFullPath For Output As #iFile Print #iFile, "[InternetShortcut]" Print #iFile, "URL=" & URL Close #iFile End If CoTaskMemFree pidl AddFavorite = True End If End If ErrorHandler: End Function Public Function TrimWithoutPrejudice(ByVal InputString As String) As String Dim sAns As String Dim sWkg As String Dim sChar As String Dim lLen As Long Dim lCtr As Long sAns = InputString lLen = Len(InputString) If lLen > 0 Then For lCtr = 1 To lLen sChar = Mid(sAns, lCtr, 1) If Asc(sChar) > 32 Then Exit For Next sAns = Mid(sAns, lCtr) lLen = Len(sAns) If lLen > 0 Then For lCtr = lLen To 1 Step -1 sChar = Mid(sAns, lCtr, 1) If Asc(sChar) > 32 Then Exit For Next End If sAns = Left$(sAns, lCtr) End If TrimWithoutPrejudice = sAns End Function Private Sub Form_Load() AddFavorite "Сайт VBnet.RU", "http://vbnet.ru" End Sub наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автор: Шатрыкин Иван. Соавтор: Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Nikolay Ответ ожидается по этому адресу Возможно ли с помощью VB ускорить системный таймер? Если да, то как? Если не трудно напишите по подробней... Автор вопроса: Дима Ответ ожидается по этому адресу Как сохранить выделенный текс вне формы в буфер или в переменную Автор вопроса: Alecsei Ответ ожидается по этому адресу Как можно добавить имя Data Base в DSN через VB6? Автор вопроса: alek Ответ ожидается по этому адресу По поиску в базе на форуме был такой код. Но почему то он не ищет. т.е на искомое слово базу не двигает. И за чем в этом коде нужен Form2.Visible = True? Помогите пожалуйста разобратся или дайте ссылку на небольшой пример по поиску в базе(например Access или Excel) В книгах Реселмана,Писли,Пручняка,Ананьева и Федорова по поиску вообще ничего нет,а нужно очень срочно. Private Sub Command1_Click() Data1.Recordset.FindFirst "Author" = Text1.Text _ & Trim(InputBox("Введите фамилию:")) & Text1.Text If Data1.Recordset.NoMatch Then Form2.Visible = True End Sub Автор вопроса: КинГМинЮ Ответ ожидается по этому адресу Помогите, пожалуйста, кто может! Как контролировать подключение и отключение к интернету средствами VBA? Автор вопроса: Duke Ответ ожидается по этому адресу Как можно в ресурсы засунуть WAV,AVI а потом их воспроизвести. Ответы: Вопрос: Может кто-нибудь знает, как спрятать значки на рабочем столе? (в смысле так, как это делает Windows при определённых настройках) Ответ: Автор ответа: SLTK 'Код в модуль Declare Function ShowWindow& Lib "user32" (ByVal hwnd&, ByVal nCmdShow&) Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 'Код в программу Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_NORMAL) 'Показать hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_HIDE) 'Скрыть Вопрос: Может кто-нибудь знает, как спрятать значки на рабочем столе? (в смысле так, как это делает Windows при определённых настройках) Ответ: Автор ответа: Valera Пропеши в реестре по этому пути (HREY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer) и создай параметр DWORD NoDesktop=1 (если 0 - все значки видны.) Вопрос: Как использовать Assembler В VB? Ответ: Автор ответа: Valera Ни как, если очень надо то пиши DLL библиотеку на C++ и делай Assembler'ную вставку туда. Вопрос: Скажите, пожалуйста, можно ли при движении мышью (без клика) по пунктам меню считывать их содержимое? Ответ: Автор ответа: CaHeK Есть такое событие MouseMove, оно как раз и отвечает за наведение мыши… Вопрос: Подскажите пожалуйсто как передать параметры в отчет Cristal Reports Используя crpe32.dll (если есть у кого описание API функций этой DLL пришлите пож. буду рад любой информации) Ответ: Автор ответа: Sergey Y. Tkachev Тема весьма интересная. Вообще-то я предпочитаю использовать SelectionFormula, мне так больше нравится. Но если говорить о параметрах, то это будет выглядеть приблизительно так: CR.ParameterFields(0) = "StartDate;DateTime(2001,08,20,0,0,0);TRUE" CR.ParameterFields(1) = "EndDate;DateTime(2001,08,27,23,59,59);TRUE" В данном примере CR - имя контрола Создается семейство параметров, каждому из которых присваивается СТРОКОВОЕ выражение, состоящее из трех частей: Имя параметра, значение и флаг обновления (ставим всегда в TRUE).В примере оба параметра являются датами, поэтому для их формирования применена функция DateTime (это функция кристала, а не бэйсика). В качестве второй части передаваемой строки может быть использовано всё, что написано на языке самого кристала. Если нужна более подробная информация - пиши лично, обязательно расскажу, так как в свое время сам с этим много маялся. Вопрос: Можно ли работать в VB с БД MySql так же как с Access. Если да то что для этого надо? Ответ: Автор ответа: Sergey Y. Tkachev Однозначно можно. Через ODBC. Для этого понадобится библиотечка MyODBC. Найти её можно на www.mysql.com Там есть инструкция по установке и использованию. Всё что потребуется - это создать источник и использовать его как и любой другой. Под ADO проблем у меня не возникало. Если тебе хочется иметь какую-то среду для разработки табличек и выполнения запросов, то на том же сайте можно найти GUI для MySQL. Называется она MyControlCenter (вроде бы так). Естественно, это всё бесплатно. Мне больше нравится другая программка: http://www.anse.de/mysqlfront/ У неё и функций побольше, и удобство повыше. Вопрос: Как мне создавать/менять/удалять пользователей, групп и т.д. используя ВБ 6.0 на: а) В Вин2к/НТ компьютере, в рабочей группе (без домена) б) В Вин2л/НТ домене. Любые ссылки на е-доки, советы Ответ: Автор ответа: Anvar Hudshamkulov Ispoljsuj ADSI (Active Directory Service Interface) Dlja WinNT: installirue6j ADSI, dlja 4ego ide6j na www.microsoft.com/ntserver/nts/downloads/other/adsi25/default.asp Dlja Win2000: ADSI u#e vstroen. Help: www.microsoft.com/ntserver/downloads/bin/nts/adsi25.chm Primeri po ispoljsovaniju ADSI na VB: www.williamspublishing.com Ishi tam ishodniki primerov dlja knigi Szenarii ADSI dlja sistemnogo administrirovanija Windows NT/2000 Avtor Thomas Eck Krome togo, MSDN, rasumeetsja. Вопрос: У меня вопрос к янатокам в области API-функций. Есть такая строка: call MCIExecute("play c:\fun\music\age 1.wav") Описание проблемы - судя по всему, функция не хочет принимать имя файла, в котором содержатся пробелы. Вопрос - можно ли эту функцию "научить" понимать пробелы в имени файла и если да, то каким методом? Ответ: Автор ответа: Андрей Щёкин Скорее всего достаточно заключить имя файла и путь в кавычки: MCIExecute "play ""c:\fun\music\age 1.wav""" Вопрос: У меня вопрос к янатокам в области API-функций. Есть такая строка: call MCIExecute("play c:\fun\music\age 1.wav") Описание проблемы - судя по всему, функция не хочет принимать имя файла, в котором содержатся пробелы. Вопрос - можно ли эту функцию "научить" понимать пробелы в имени файла и если да, то каким методом? Ответ: Автор ответа: P@Ssword Попробуй написать call MCIExecute("play ""c:\fun\music\age 1.wav""") Вопрос: У меня вопрос к янатокам в области API-функций. Есть такая строка: call MCIExecute("play c:\fun\music\age 1.wav") Описание проблемы - судя по всему, функция не хочет принимать имя файла, в котором содержатся пробелы. Вопрос - можно ли эту функцию "научить" понимать пробелы в имени файла и если да, то каким методом? Ответ: Автор ответа: Igoryk К сожалению нет, потому что в данной функции " " - это разделитель команд, но можно импользовать другой код, который понимает файлы с пробелами: Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long Private Sub Form_Load() 'Код можешь перенести в любое другое событие Call PlaySound("c:\fun\music\age 1.wav", 0, 0) End Sub Вопрос: Подскажите плз, как можно программно настроить реестр вин 98. В частности мне надо исправить значения переменных в разделе HKEY_USERS\.DEFAULT\AppEvents\EventLabels Ответ: Автор ответа: SHatrykin Ivan Есть замечательная статья Михаила Эскина на эту тему. Там все написано. Прочитать ее можно здесь: "Грамотно работаем с реестром" [www.vbnet.ru/articles/showarticle.asp?id=24] Вопрос: Здратвуйте в чём причина когда я перехожу в "коде" на русский то печатает непонятными символами раньше всё было нармально а сёйчас стало так может какие нибудь настройки сбились или что? Ответ: Автор ответа: Иван В настройках VB измени шрифт и всё нормально пойдёт Меню "Tools"("Инструменты") пункт "Options"("Опции"), вкладка "Editor Format"(Формат Редактора). Вопрос: Здратвуйте в чём причина когда я перехожу в "коде" на русский то печатает непонятными символами раньше всё было нармально а сёйчас стало так может какие нибудь настройки сбились или что? Ответ: Автор ответа: SHatrykin Ivan Действительно, сбились настройки. Точнее говоря у Вас проблема со шрифтом Couriner New, именно его использует редактор по-умолчанию. Сделайте так: зайдите в меню Tools-Options, на вкладке Editor Format выберите другой шрифт для редактора. Иногда также бывает, что окна диалогов редактора "ломаются" - точнее, шрифт в них становиться непонятно большого размера и некоторые опции не удается прочитать. Это дело можно пофиксить заменой шрифта Tahoma в Windows на такой же шрифт из дистрибутива VB. Вопрос: Здратвуйте в чём причина когда я перехожу в "коде" на русский то печатает непонятными символами раньше всё было нармально а сёйчас стало так может какие нибудь настройки сбились или что? Ответ: Автор ответа: Igoryk Чтобы это все исправить зайди в Tools>>Options. И выбери вкладку Editor Format. Теперь выбери Normal Text (если надо выберешь и другой), и измени значение шрифта, чтобы его название заканчивалось на Cyr. Вопрос: Здратвуйте в чём причина когда я перехожу в "коде" на русский то печатает непонятными символами раньше всё было нармально а сёйчас стало так может какие нибудь настройки сбились или что? Ответ: Автор ответа: Алексей Попробуй изменить шрифт. Это можно сделать через Tools/Options/Editor Format Выбери например Courier New CYR Вопрос: Здратвуйте в чём причина когда я перехожу в "коде" на русский то печатает непонятными символами раньше всё было нармально а сёйчас стало так может какие нибудь настройки сбились или что? Ответ: Автор ответа: P@Ssword Tools => Options... => Editor Format Font: Courier New CYR Вопрос: Здратвуйте в чём причина когда я перехожу в "коде" на русский то печатает непонятными символами раньше всё было нармально а сёйчас стало так может какие нибудь настройки сбились или что? Ответ: Автор ответа: Артем Меняйленко Tools/Options/Editor format сменить Courier New на Courier New Cyr Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
||||||||||||||||||||
Выпуск подготовили: |
Сурменок Павел |