VBNet
VBMania
Голосование: Доска почёта: Sergey Y. Tkachev Кононенко Роман Kirill Sergey Sapozhnikov Sobic Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Решил начать публиковать новости ещё нескольких сайтов: MSDN, GotdotNet и dotSite.
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Citycat by Email Программа Citycat by Email позволяет работать с сервером Subscribe.ru с помощью электронной почты. Теперь Вам не нужно тратить деньги на работу в online и просматривать мегабайты рекламы для того, чтобы подписаться на нужную рассылку! Вам просто необходимо скачать небольшую базу данных по всем рассылкам каталога с нашего сайта, после чего Вы сможете подписываться и отписываться от рассылок, заказывать архивы прошлых выпусков, выполнять поиск по каталогу рассылок и многое другое. Программу Citycat by Email можно бесплатно загрузить с сайта http://sapisoft.h1.ru. наверх Новости сайта VBNet
Последние 20 тем форума на VBNet.Ru: 14:03 / 15 дек. .NET | Хитов: 12 | Ответов: 3 12:20 / 15 дек. Form_Load() | Хитов: 9 | Ответов: 1 12:15 / 15 дек. сообщения в win9X, Me, NT,2k, XP | Хитов: 4 | Ответов: 0 11:56 / 15 дек. Как заставить WebBrowser не загружать рисунки и... | Хитов: 7 | Ответов: 1 10:54 / 15 дек. ADO Какой СУБД выбрать | Хитов: 2 | Ответов: 0 02:28 / 15 дек. DataGrid | Хитов: 17 | Ответов: 2 02:26 / 15 дек. CheckBox внутри DataGrid | Хитов: 10 | Ответов: 0 23:50 / 14 дек. Данные в Excel из VB | Хитов: 12 | Ответов: 2 20:55 / 14 дек. Пасьянс "ПАУК" | Хитов: 29 | Ответов: 5 20:37 / 14 дек. И снова здравствуйте и снова Inno Setup | Хитов: 12 | Ответов: 3 20:28 / 14 дек. как ресурсы системы зарезать..? | Хитов: 15 | Ответов: 3 16:47 / 14 дек. действие по нажатию числа 28 | Хитов: 20 | Ответов: 1 16:21 / 14 дек. Что быстрее VB.NET или C#? | Хитов: 39 | Ответов: 7 16:01 / 14 дек. Как загрузить на форму лист из Excel? | Хитов: 8 | Ответов: 1 15:33 / 14 дек. Ярлык | Хитов: 14 | Ответов: 0 14:38 / 14 дек. Vbcode >>> Html | Хитов: 11 | Ответов: 0 22:45 / 13 дек. DataGrid | Хитов: 46 | Ответов: 3 22:11 / 13 дек. ADODC | Хитов: 21 | Ответов: 0 21:20 / 13 дек. VBA - страницы | Хитов: 19 | Ответов: 1 13:58 / 13 дек. FTP-протокол... | Хитов: 20 | Ответов: 0 Последние поступления в Библиотеку кодов: наверх Новости сайта VBMania наверх Новости сайта Азбука VB наверх Новости сайта MSDN
наверх Новости сайта GotdotNet
наверх Новости сайта dotSite Новые статьи:
наверх Доска объявлений Ищу телеработу.
наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Авторы: Шатрыкин Иван и Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Dr.Max Ответ ожидается по этому адресу Я скачал конвектор *.х файлов ,но как им пользоватся?? Я запускаю ехе"шник ,он быстренько пробежался сверху вниз и выгружается !! На 100% уверен ,что это я не умею им пользоватся!! Автор вопроса: Василий Ответ ожидается по этому адресу А как создаются виртуальные диски? мне надо создать образ файловой системы, а сами файлы хранить не надо. Т.е. на моем диске система будет видеть теже файлы, что и на CD (к примеру), но при попытке доступа - из содержимое будет единым. Автор вопроса: Меркуль Юрий Ответ ожидается по этому адресу Я пишу программу на подобии ICQ, но он не работает (программа не отсылает и не получает сообщения), когда включен какой-нибудь Firewall(Zone Alarm, например), можно ли firewall как-нибудь убедить, что этот порт, используемый программой, перекрывать не надо? Автор вопроса: Александр Ответ ожидается по этому адресу В VB6 делаю отчет, используя стандартный Data Report Designer. В системе установлен единственный широкий принтер EPSON LX-1170. Тем не менее, ширину отчета не могу сделать более 290мм при любой ориентации страницы. Автор вопроса: lom Ответ ожидается по этому адресу Как в VB работать с ресурсами (хорошо было бы, если мне кто-нибудь прислал ссылочку на какую-нибудь статью в инете), и вообще, как вшить музыкальный файл в свою прогу? Автор вопроса: shadow Ответ ожидается по этому адресу Подскажите как работать с памятью. Я хочу сделать прогу типа ArtMoney. Автор вопроса: Fat Globe Ответ ожидается по этому адресу Написал прогу на VB.net. Подскажите, как мне ее теперь распространять? А именно, какие файлы включать в комплект поставки? Я не использовал никаких дополнительных контролов. Автор вопроса: Mores Ответ ожидается по этому адресу Как из программы на VB проверить, установлен в WIN архиватор RAR или ZIP ? И как узнать в какой каталог он установлен. Автор вопроса: Dmitry Ответ ожидается по этому адресу Вот такая есть у мня трабла: надо считать с порта (ЛПТ) инфу и преобразовать её в двоичную инфу. Пример: если на порту 255 то чтобы оно дало строку 11111111 или в массив (0 то 7). Считать данные с порта я знаю, а вот как оптимальным способом преобразовать енто в двоичную систему? Пробовал через оператор InStr отслеживать запятую и т. д. - работает - но МЕДЛЕННО! скорость чтения порта упала с 400000 операций считывания до 40000 в секунду! Это очень большая потеря! Автор вопроса: Oleg Ответ ожидается по этому адресу Как получить параметры подключения к интернет? Интересует 1. Имя текущего подключения 2. Скорость соединения 3. Отправлено получено байт Ответы: Вопрос: Подскажите, пожалуйста, как в Visual Basic сделать гладкий график без углов. Очень надо. И еще не подскажете как на гафике раскрасить области разными цветами (естественно в зависимости от значений). Ответ: Автор ответа: Александр Горбылёв Сдаётся мне, что на данной стадии изучения VB в противовес использования разных там функций из API, хотя это очень здорово, лучше будет сделать так: 1. Запустить Excel, 2. Заполнить некоторую таблицу исходных данных для построения гладкого графика 3. Включить "магнитофон", т.е. "Сервис-Макрос-Начать запись" 4. Выполнить построение графика: "Вставка-Диаграмма-Точечная" 5. Остановить запись "магнитофона". 6. Посмотреть, как это достигнуто средствами Excel: "Сервис-Макрос-...-Изменить" 7. Попробовать эту идею перенести в VB, включив соответствующие ссылки в Properties, типа "Microsoft Graph ..." Если этот вариант неприемлем, то переходим на изучение библиотеки API, взяв какие-то стартовые примеры на работу с графикой с сайтов типа http://www.VBRussia.com/, http://www.Relib.com/, либо построение сплайнов средствами готовых ActiveX, поискав их в сети, либо сразу на MSDN, где "найдётся всё!", например, Windows-функции: BOOL PolyBezier( HDC hdc, // handle to device context CONST POINT *lppt, // pointer to endpoints and control points DWORD cPoints // count of endpoints and control points ); BOOL PolyBezier( HDC hdc, // handle to device context CONST POINT *lppt, // pointer to endpoints and control points DWORD cPoints // count of endpoints and control points ); К сожалению, готовые примеры их использования, на MSDN присутствующие, написаны на VC++, но их можно "перечитать" в VB. Вопрос: Кто знает как програмно добавить запись в реестр? Путь: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] Мне нужно чтобы прога была в автозагрузке... Но нинаю как это зделать програмно. ПОМОГИТЕ........ Ответ: Автор ответа: andr Все почти просто, добавляешь модуль, Туда вставляешь код Public Const HKEY_LOCAL_MACHINE = &H80000002 Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal Hkey As Long, ByVal lpValueName As String) As Long Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Const REG_SZ = 1 ' Unicode nul terminated string Public Const REG_DWORD = 4 ' 32-bit number Public Sub savestring(Hkey As Long, strPath As String, strValue As String, strdata As String) Dim keyhand As Long Dim r As Long r = RegCreateKey(Hkey, strPath, keyhand) r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata)) r = RegCloseKey(keyhand) End Sub Public Function DeleteValue(ByVal Hkey As Long, ByVal strPath As String, ByVal strValue As String) Dim keyhand As Long r = RegOpenKey(Hkey, strPath, keyhand) r = RegDeleteValue(keyhand, strValue) r = RegCloseKey(keyhand) End Function Потом из саба вызываешь функции savestring или DeleteValue Через call: например Call savestring(HKEY_LOCAL_MACHINE, "Software\Microsoft\windows\CurrentVersion\Run", "Kursovik", FullPathAndFileName) Где FullPathAndFileName описывается так FullPathAndFileName = App.Path If Right(App.Path, 1) <> "\" Then FullPathAndFileName = FullPathAndFileName & "\" FullPathAndFileName = FullPathAndFileName & App.EXEName Или удалить Call DeleteValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\windows\CurrentVersion\Run", "Kursovik") Ответ: Автор ответа: InvisibleMan Как програмно добавить запись в реестр? Очень просто... Используй API функции: RegCloseKey, RegCreateKey, RegSetValueEx. Примерно так получится: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long 'xxx Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long 'xxx Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long 'xxx Public Const HKEY_LOCAL_MACHINE = &H80000002 'xxx Public Const REG_SZ = 1 'xxx Public Sub SaveSettingString(hKey As Long, strPath As String, strValue As String, strData As String) Dim hCurKey As Long Dim lRegResult As Long lRegResult = RegCreateKey(hKey, strPath, hCurKey) lRegResult = RegSetValueEx(hCurKey, strValue, 0, REG_SZ, ByVal strData, Len(strData)) If lRegResult <> ERROR_SUCCESS Then MsgBox "Ошибка доступа" End If lRegResult = RegCloseKey(hCurKey) End Sub 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Теперь просто пишешь: SaveSettingString HKEY_LOCAL_MACHINE, "путь до ключа", "Имя ключа", "Запись" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Пример: Автозагрузка proga.exe: SaveSettingString HKEY_LOCAL_MACHINE, "software\microsoft\windows\currentversion\run", "Proga", "C:\proga.exe" Ответ: Автор ответа: Misha Я делаю вот так: 'Добавь модуль, назовите его regisуеtry, а на форму поместите две кнопки 'код модуля: Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Const HKEY_LOCAL_MACHINE = &H80000002 Private Const REG_SZ = 1 Private Const KEY_WRITE = 131078 Public Function DoStartUp(Filename As String, Discription As String) Dim hKey As Long RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run-", 0, KEY_WRITE, hKey RegDeleteValue hKey, Discription RegCloseKey hKey RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE, hKey RegSetValueEx hKey, Discription, 0, REG_SZ, Filename, Len(Filename) RegCloseKey hKey End Function Public Function DoNotStartUp(Filename As String, Discription As String) Dim hKey As Long RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE, hKey RegDeleteValue hKey, Discription RegCloseKey hKey RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run-", 0, KEY_WRITE, hKey RegSetValueEx hKey, Discription, 0, REG_SZ, Filename, Len(Filename) RegCloseKey hKey End Function 'код формы: Private Sub Command1_Click() Registery.DoStartUp App.Path & "\" & App.EXEName, "MY START" End Sub Private Sub Command2_Click() Registery.DoNotStartUp App.Path & "\" & App.EXEName, "MY START" End Sub Ответ: Автор ответа: Алексей (Есть, оказывается, еще люди которые этого не знают...) Раздел: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run или HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices или HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices Если однократно надо запустить, то вместо Run в конце RunOnce, a вместо RunServices - RunServicesOnce Параметр: Имя программы Значение: Путь и имя своей программы VB код: Option Explicit Private Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Boolean End Type Dim FullPathAndFileName As String Const READ_CONTROL = &H20000 Const KEY_QUERY_VALUE = &H1 Const KEY_SET_VALUE = &H2 Const KEY_CREATE_SUB_KEY = &H4 Const KEY_ENUMERATE_SUB_KEYS = &H8 Const KEY_NOTIFY = &H10 Const KEY_CREATE_LINK = &H20 Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _ KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _ KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL Const HKEY_LOCAL_MACHINE = &H80000002 Const ERROR_SUCCESS = 0 Const REG_SZ = 1 Const REG_DWORD = 4 Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long Private Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByRef phkResult As Long, ByRef lpdwDisposition As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long ' В Form_Load() или на кнопке пишем FullPathAndFileName = App.Path If Right(App.Path,1) <> "\" Then FullPathAndFileName = FullPathAndFileName & "\" & App.EXEName else FullPathAndFileName = FullPathAndFileName & App.EXEName end if 'Прописываем себя в реестр UpdateKey HKEY_LOCAL_MACHINE, _ "Software\Microsoft\windows\CurrentVersion\Run", _ App.Title, FullPathAndFileName 'Теперь функция: Public Function UpdateKey(KeyRoot As Long, KeyName As String, SubKeyName As String, SubKeyValue As String) As Boolean Dim rc As Long Dim hKey As Long Dim hDepth As Long Dim lpAttr As SECURITY_ATTRIBUTES lpAttr.nLength = 50 lpAttr.lpSecurityDescriptor = 0 lpAttr.bInheritHandle = True rc = RegCreateKeyEx(KeyRoot, KeyName, _ 0, REG_SZ, _ 0, KEY_ALL_ACCESS, lpAttr, _ hKey, hDepth) If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError If (SubKeyValue = "") Then SubKeyValue = " " ' Создание или изменение значения в реестре rc = RegSetValueEx(hKey, SubKeyName, _ 0, REG_SZ, _ SubKeyValue, LenB(StrConv(SubKeyValue, vbFromUnicode))) If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError rc = RegCloseKey(hKey) UpdateKey = True Exit Function CreateKeyError: UpdateKey = False rc = RegCloseKey(hKey) End Function Примерчик можете взять с http://homeservise.narod.ru/programmist/samples/vb/reestr001.zip Вопрос: Подскажите - есть таблицы в HTML формате и их нужно "перевести" в xls формат. Проблема в том, что в ячейках HTML находятся десятичные числа (например 1.52) в одних ячейках и текст в других ячейках. Когда копируешь в ексель, то ексель числа воспринимает (формат ячейки - все форматы) как январь.52. Мне же нужно для обработки, чтобы текст в таблице оставался текстом, а числа 1.52 в 1,52 а не 1.52. Как это возможно решить с помощью макросов VBA. Ответ: Автор ответа: Gernovich Для это не обязателен VBA, в меню "Правка" есть пункт специальная вставка, поэксперементируй. Ответ: Автор ответа: Александр Горбылёв Для того, чтобы покончить с таким безобразием, надо придать соответствующее свойство ячейкам Excel, а именно то, что это ячейки числового формата. Этого будут достаточно! Вопрос: Вот решил написать прогу для CD-ROM'а. И хотел бы задать несколько вопросов. Как на VB в файл с произвольным доступом сохранить картинку ? Как определить серииный номер CD диска ? Как определить какой из дисков CD-ROM ? Например в систем диски A, B, C, D, E как определить на какой из них CD-ROM. Как в exe файл дописать какоу нибудь инфу и чтобы после этого он нормально запускался ? Как из exe прочитать эту самую инфу ? И последнее как работать с ресурсами ? Конкретно как сохранить в файл ресурса картинку (jpg) (если можно)? И как её отудова потом достать ? Ответ: Автор ответа: ViTal Вот здесь всё расписано. (на англисском) http://community.borland.com/article/0,1410,27979,00.html Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||||||||
Выпуск подготовили: |
Сурменок Павел |