VBNet
VBMania
Голосование: Голосования сайта VBNet.Ru. Результаты голосований передаются на сайт. Проследите, что есть соединение с интернетом. Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск. Присылайте коды!!!
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Эксперт - Привет, Серый. - Угу, привет. Ты проходи, садись, я щас, с функцией тут разберусь... - Да я на момент. Вопросец имеется. - Вопросец, вопросец... Так, тут переменная не объявлена... Вопросец... С вопросами в систему, к экспертам... А тут точку не поставил! Вот она где, соб-бака!! - Ты че, какая система? Ты о чем? - О! Все, работает... Чего ты говоришь? - Ты про каких это экспертов тут заикаешься? - А-а. А ты что, первый раз слышишь, что ли? Ты на СообЧа бывал? - Где?!! - Да вот, гляди. Щас соединимся... Во! http://soobcha.ru, зришь? - М-да... Занятно. Так я с вопросом к тебе... - А я вот и говорю: туда иди, в систему "Эксперт", там ответят. - Это чайники, что ли, ответят? - Не сомневайся, ответят. Там у них такое наворочено... Короче, ты по почте вопрос свой задаешь - и все:)))))) Больше не изволь беспокоиться, там они сами будут искать ответ на твой вопрос. А через некоторое время вывалят тебе на ящик не один, а несколько ответов. Пользуйся и радуйся:) - А чего это они там такие добрые да услужливые? У них чего, своих проблем нет? Сколько я должен платить за такое трогательное беспокойство? - Ну, это немного. Меньше, чем ты думаешь:) Тебе достаточно только подтвердить правильный ответ. Давишь на соответствующую ссылку, дескать, вот этот ответ мне понравился, помог, и я доволен. Просто пустое письмо засылаешь к ним, и вся оплата. А если хочешь у них экспертом стать, то пожалуйста, регистрируйся и отвечай на вопросы. - Кем? Экспертом? - А что? Что-то ты ведь знаешь, не вчера за комп сел. - А на фига мне это надо? Разбираться с чужими проблемами... У меня своих - хоть отбавляй... - Ага. Вот ты только что спрашивал: а сколько? И если уж ты со своими проблемами обращаешься к людям, то ведь надеешься, что тебе помогут. А сам-то что, влом, что ли, помочь кому-то? Да ладно! Тебя, вобщем-то, никто и не тянет, не заставляет. А вот те, кому интересно, кому не жаль поделиться, те там и работают. Я, между прочим, давно уже с ними. - В смысле, экспертом, что ли, заделался? И сколько тебе платят? - А ты не прикалывай. Там никто никому не платит. А вот конкурсы, между прочим, проводят, и не хилые. Представляешь, за лучший ответ дают бесплатно три месяца платного хостинга, да еще домен регистрируют. За просто так. А вот тебе, если ты задашь самый лучший вопрос, тоже приз может выгореть. - Это как: лучший? На который никто ответить, что ли, не сможет? Так я щас таких вопро... - Причем тут это? Просто ты, если вопрос пишешь к ним, так сподобься хоть запятые в нужных местах поставить, там, грамотно, короче, обрисуй свой трабл. - Ну ладно, въехал. Ты мне вот лучше помоги с моим траблом. Мой Фотошоп не хочет по русски работать... - Ха, так этот трабл там уже сколько раз появлялся. У них на сайте и ответ есть... Вот, любуйся: Заходим в редактор реестра (regedit.exe). Находим ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\Nls\Codepage В нем изменяем значение параметра 1252 с cp_1252.nls на cp_1251.nls. Перезагружаемся... - Понял... погоди, запишу... - Да чего записывать? Шагай домой, входи на сайт и копируй... - Да я ссылку запишу... Слушай, а как там в эту систему вопрос задать? Вообще, как она работает? - Так тут же, на сайте, все есть. А вообще, можешь по почте пустое письмо загнать на mailto:reply.infoexpert@soobcha.ru, и получишь всю необходимую инфу. А вообще, ты лучше в следующий раз с вопросами не ко мне, а туда. Может, я и отвечу там. - А не проше тебе здесь ответить? - Э-э-э... Там я баллы зарабатываю... - А это еще зачем? - Ладно, мотай. Дома почитаешь, все о них узнаешь. У меня тут халтурка... Давай, пока. - Пока. А как ты экспертом там зарегился? - Иди, иди! Инфу читай... наверх Как программно отключить заставку Windows? Вопрос: Как программно отключить заставку Windows? Ответ: Можно, в файле System.ini, который храниться в каталоге WINDOWS есть ссылка на имя текущей заставки и если её удалить, то и заставки не будет. Сделать это можно так: Private Sub SwitchOffScreenSaver() Dim FileNoRd As Integer Dim FileNoWr As Integer Dim WinDir As String Dim szData As String Dim szExample As String szExample = "SCRNSAVE.EXE" WinDir = GetWinDir 'Используем нашу новую функцию для получения каталога Windows (см. выше) FileNoWr = FreeFile 'Получаем свободный номер для записи 'открываем временный файл для построчного сохранения данных. Open "C:\mytemp.tmp" For Output As #FileNoWr FileNoRd = FreeFile 'Получаем свободный номер для чтения 'открываем рабочий файл для анализа и изменения Open WinDir & "System.ini" For Input As #FileNoRd Do Until EOF(FileNoRd) Line Input #FileNoRd, szData 'Если мы находим в файле наш пример и его длина совпадает, If Mid(szData, 1, Len(szExample)) = szExample Then 'то очищаем значения найденной строки для _ отключения заставки. szData = szExample & "=" End If Print #FileNoWr, szData Loop Close 'Закрываем все открытые файлы 'Копируем новые данные из временного файла в System.ini FileCopy "C:\mytemp.tmp", WinDir & "System.ini" Kill "C:\mytemp.tmp" 'Удаляем временный файл End Sub SC наверх Как на VB определить путь к системной папке? Вопрос: Как на VB определить путь к системной папке? Ответ: Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long 'Получение директории C:\WINDOWS\SYSTEM Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long 'Директория "C:\WINDOWS" Private Function GetSysDir() As String Dim szBuffer As String * 50 Dim lngRet As Long lngRet = GetSystemDirectory(szBuffer, 50) GetSysDir = Left$(szBuffer, lngRet) If Right(GetSysDir, 1) <> "\" Then GetSysDir = GetSysDir & "\" End Function Private Function GetWinDir() As String Dim szBuffer As String * 50 Dim lngRet As Long lngRet = GetWindowsDirectory(szBuffer, 50) GetWinDir = Left$(szBuffer, lngRet) If Right(GetWinDir, 1) <> "\" Then GetWinDir = GetWinDir & "\" End Function 'Использование Private Sub Form_Load() MsgBox GetWinDir MsgBox GetSysDir End Sub или объединяем наши 2 функции: Private Function GetDirectory(szDirName As String) As String Dim szBuffer As String * 50 Dim lngRet As Long If LCase(szDirName) = "sys" then lngRet = GetSystemDirectory(szBuffer, 50) ElseIf LCase(szDirName) = "win" then lngRet = GetWindowsDirectory(szBuffer, 50) End If GetDirectory = Left$(szBuffer, lngRet) If Right(GetDirectory, 1) <> "\" Then GetDirectory = GetDirectory & "\" End Function 'Использование Private Sub Form_Load() MsgBox GetDirectory("win") MsgBox GetDirectory("sys") End Sub SC наверх Как поместить картинки в DLL? Вопрос: Как поместить картинки в DLL и как с ними потом работать (т.е. читать картинки из этой же DLL)? Ответ: В начале заходим в меню Add-Ins, затем Add-In Meneger... .Там находим строчку Visual Basic 6 Resource Editor и справа от описания есть флажки, устанавливаем Loaded/Unloaded и Load on StartUp. На стандартной панели инструментов должнен появиться VB Resource Editor. Запускаем и добовляем всё что душе угодно. Всё наши картинки там. Код чтения картинки: Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long Private Sub Command1_Click() Dim hIcon As Long ExtractIconEx "C:\my.dll", 0, hIcon, 0, 1 DrawIcon Form1.hdc, 0, 0, hIcon End Sub У формы свойство ScaleMode должно быть 3 - Pixel SC наверх Возможна ли одновременная работа в одной программе двух Winsock? Вопрос: Возможна ли одновременная работа в одной программе двух Winsock, один работает на приём сообщений (так сказать в режиме ожидания сообщений), а второй - на отправку сообщений ? Ответ: А что тебе мешает? Вот выдержка из MSDN (благополучно работают два сокета): To create a TCP server Create a new Standard EXE project. Change the name of the default form to frmServer. Change the caption of the form to "TCP Server." Draw a Winsock control on the form and change its name to tcpServer. Add two TextBox controls to the form. Name the first txtSendData, and the second txtOutput. Add the code below to the form. Private Sub Form_Load() ' Set the LocalPort property to an integer. ' Then invoke the Listen method. tcpServer.LocalPort = 1001 tcpServer.Listen frmClient.Show ' Show the client form. End Sub Private Sub tcpServer_ConnectionRequest _ (ByVal requestID As Long) ' Check if the control's State is closed. If not, ' close the connection before accepting the new ' connection. If tcpServer.State <> sckClosed Then _ tcpServer.Close ' Accept the request with the requestID ' parameter. tcpServer.Accept requestID End Sub Private Sub txtSendData_Change() ' The TextBox control named txtSendData ' contains the data to be sent. Whenever the user ' types into the textbox, the string is sent ' using the SendData method. tcpServer.SendData txtSendData.Text End Sub Private Sub tcpServer_DataArrival _ (ByVal bytesTotal As Long) ' Declare a variable for the incoming data. ' Invoke the GetData method and set the Text ' property of a TextBox named txtOutput to ' the data. Dim strData As String tcpServer.GetData strData txtOutput.Text = strData End Sub The procedures above create a simple server application. However, to complete the scenario, you must also create a client application. To create a TCP client Add a new form to the project, and name it frmClient. Change the caption of the form to TCP Client. Add a Winsock control to the form and name it tcpClient. Add two TextBox controls to frmClient. Name the first txtSend, and the second txtOutput. Draw a CommandButton control on the form and name it cmdConnect. Change the caption of the CommandButton control to Connect. Add the code below to the form. Important Be sure to change the value of the RemoteHost property to the friendly name of your computer. Private Sub Form_Load() ' The name of the Winsock control is tcpClient. ' Note: to specify a remote host, you can use ' either the IP address (ex: "121.111.1.1") or ' the computer's "friendly" name, as shown here. tcpClient.RemoteHost = "RemoteComputerName" tcpClient.RemotePort = 1001 End Sub Private Sub cmdConnect_Click() ' Invoke the Connect method to initiate a ' connection. tcpClient.Connect End Sub Private Sub txtSendData_Change() tcpClient.SendData txtSend.Text End Sub Private Sub tcpClient_DataArrival _ (ByVal bytesTotal As Long) Dim strData As String tcpClient.GetData strData txtOutput.Text = strData End Sub The code above creates a simple client-server application. To try the two together, run the project, and click Connect. Then type text into the txtSendData TextBox on either form, and the same text will appear in the txtOutput TextBox on the other form. Sergey Y. Tkachev наверх Как поменять картинку загрузки Windows? Вопрос: Как поменять картинку загрузки Windows? Ответ: Не ручаюсь ха точность информации. Цитирую: Анимированная картинка, которая выводится при загрузке Windows (на фоне голубых облачков написано Windows 95(98)), в Windows 95 находится в файле logo.sys в корневом каталоге, а в Windows 98 эта картинка, если не ошибаюсь, "вшита" в файл command.com Меняя этот файл (logo.sys) на любой файл формата BMP (соответствующих размеров и 256 цветов), можно поменять скучную картинку при загрузке. А в Windows 98 можно просто поместить файл logo.sys в корневой каталог - эффект тот же самый. Аналогично, в каталоге WINDOWS есть ещё 2 файла - logos.sys и logow.sys. Они "отвечают" за сообщения "Теперь питание..." и "Подождите, идет подготовка...". Формат тот же. Владимир Ротин Сергей Гуров наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автора: Шатрыкин Иван и Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Максим Ответ ожидается по этому адресу Если в запущенной программе в ручную переместить какой-нибудь контрол, например Image, можно ли её в таком состоянии сохранить? Автор вопроса: Роот Яков Ответ ожидается по этому адресу Как в Excel сделать что бы макрос запускался при изменении определенной ячейки? Автор вопроса: Данила Ответ ожидается по этому адресу Как сделать функцию на подобии Inputbox? Т.е. вызываем функцию, она открывает окошко, ждёт, пока там чего-нибудь натворят, потом возобновляет работу и передаёт на выход результат работы. Автор вопроса: Данила Ответ ожидается по этому адресу Как оформить функцию в отдельный процесс (как в Windows Commander)? Т.е. у меня есть функция, которая работает очень долго и съедает все системные ресурсы (даже собственное окно показать не может). А вот если б её засунуть в фон, то тогда можно былоб и бегунок показать и прочую сопутствующую инфу. Автор вопроса: ]CBK[C...R...a...S...H Ответ ожидается по этому адресу Как в .NET производить сериализацию? Автор вопроса: I-Sof Ответ ожидается по этому адресу Как программно создавать/удалять меню, подменю и т.д.? Ответы: Вопрос: По мере изучения VB столкнулся с двумя проблемами: 1) Нужно из формы запустить посторонний exe-шник с ключами, например winrar.exe 2) Часто встречал, что в VB-шных прогах для вывода отчетов использовался Word. Заранее созданный шаблон имел *.doc формат. Причем для заполнения данными в нужные ячейки таблицы помещали так называемые маркеры. Например: Поставщик: %001 Покупатель: %002 и т.п. Вот и я бы хотел реализовать нечто подобное в своих прогах. Ответ: Автор ответа: Dima Используй Shell "format.com a: /q", vbNormalFocus. Вопрос: Как мне запустить файл *.exe, помещенный в контейнер OLE? И вот еще, где найти в VB файл ресурса, что-то не могу с этим разобраться. Ответ: Автор ответа: Alexander Файл ресурсов создаётся, если в меню "Add-Ins" - "Add-in Manager" мы установим птичку Startup/Loaded напротив пункта "VB6 Resource Editor". После чего в контестном меню, которое включается при занесении мыши в окно Project Explorer (Ctrl-R) и нажатии правой кнопки мыши, пункт "Add" - "Resource File". Если такого не появится, что-то не выполнено в инсталяции VB6... Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||
Выпуск подготовили: |
Сурменок Павел |