VB Студия
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Какой версией Visual Basic Вы пользуетесь? |
Несколько слов от автора: Это уже пятый, юбилейный выпуск рассылки. Несколько дней назад количество подписчиков перевалило за тысячу и теперь составляет 1555.
Завтра первое сентября... Грустно. Присылайте материалы. Всё, что можно подогнать под тематику рассылки и сайта я с удовольствием опубликую в рассылке, или на сайте. Внимание: Требуется человек со знанием английского языка для перевода документации. Со всеми вопросами бращаютесь по этому адресу. Содержание выпуска
Новости сайта VB Студия Вышел юбилейный пятый выпуск рассылки. Число подписчиков - 1555. Visual Basic позволяет использовать Текстовый файл, как база данных. Автор: М. Эскин SQL - Язык запросов: Простое использование оператора SELECT Автор: Сартин Вячеслав Введение в ADO+ (FAQ) Автор: Сартин Вячеслав Использование ADODC совместно с DBGrid Автор: Tower наверх Новости сайта VB Line 26 августа 2001 г. Появились отличные контролы в ActiveX: ActiveLink, ColorPicker и несколько других работ от Marco Bellinaso. А в Статьи добавлены еще четыре работы Михаила Эскина. Обязательно туда загляните. 25 августа 2001 г. Новых материалов немного. В Статьи добавлена работа Михаила Эскина по поводу баз данных, точнее на тему использования вместо базы данных обычный текстовый файл. На сайте исправлены некоторые из неработающих ссылок. Ну и, конечно, вышел очередной, уже седьмой, выпуск рассылки. Завтра будет большое обновление сайта! наверх Сохранение и чтение данных INI файла. Option Explicit Declare Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long Public Function GetString(INIFile As String, Section As String, Key As String, Default As String) Dim slength As Long Dim temp As String * 255 temp = Space(256) slength = GetPrivateProfileString(Section, Key, Default, temp, 255, INIFile) GetString = Left(temp, slength) End Function Public Function SetString(INIFile As String, Section As String, Key As String, Value As String) Dim n As Integer Dim temp As String temp = Value For n = 1 To Len(Value) If Mid$(Value, n, 1) = vbCr Or Mid$(Value, n, 1) = vbLf Then Mid$(Value, n) = "" Next n n = WritePrivateProfileString(Section, Key, temp, INIFile) End Function наверх Создание STANDALONE библиотеки типов Когда Вы создаете OCX или DLL сервер, то Visual Basic встраивает библиотеку типов сервера в исполняемый файл, не генерируя при этом .TLB библиотеку. Но, бывают случаи, когда такая библиотека Вам потребуется. Вы можете принудительно заставить VB создать такую библиотеку отдельно от исполняемого файла. Для этого в VB5 (например), зайдите на вкладку Component диалогового окна Properties меню Project и отметьте там соответствующий параметр. наверх Как программно скачать файл из Internet Новый совет от Антона Дёмина посвящен вопросу связи и Internet. Вам никогда не приходилось принудительно разрывать связь с провайдером Интернет? Ну, тогда ещё всё впереди. Ниже приведен код для этой процедуры. Public Const RAS_MAXENTRYNAME As Integer = 256 Public Const RAS_MAXDEVICETYPE As Integer = 16 Public Const RAS_MAXDEVICENAME As Integer = 128 Public Const RAS_RASCONNSIZE As Integer = 412 Public Const ERROR_SUCCESS = 0& Public Type RasEntryName dwSize As Long szEntryName(RAS_MAXENTRYNAME) As Byte End Type Public Type RasConn dwSize As Long hRasConn As Long szEntryName(RAS_MAXENTRYNAME) As Byte szDeviceType(RAS_MAXDEVICETYPE) As Byte szDeviceName(RAS_MAXDEVICENAME) As Byte End Type Public Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, lpcConnections As Long) As Long Public Declare Function RasHangUp Lib "rasapi32.dll" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long Public gstrISPName As String Public ReturnCode As Long Public Sub HangUp() Dim i As Long Dim lpRasConn(255) As RasConn Dim lpcb As Long Dim lpcConnections As Long Dim hRasConn As Long lpRasConn(0).dwSize = RAS_RASCONNSIZE lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize lpcConnections = 0 ReturnCode = RasEnumConnections(lpRasConn(0), lpcb, lpcConnections) If ReturnCode = ERROR_SUCCESS Then For i = 0 To lpcConnections - 1 If Trim(ByteToString(lpRasConn(i).szEntryName)) = Trim(gstrISPName) Then hRasConn = lpRasConn(i).hRasConn ReturnCode = RasHangUp(ByVal hRasConn) End If Next i End If End Sub Public Function ByteToString(bytString() As Byte) As String Dim i As Integer ByteToString = "" i = 0 While bytString(i) = 0& ByteToString = ByteToString & Chr(bytString(i)) i = i + 1 Wend End Function наверх Опасайтесь ошибки VB с именованием каталогов! Если Вы не в первый раз пишите программу на VB, то наверняка заметили, что в VB присутствует ошибка при наименовании каталогов. Так в имени корневого каталога диска присутствует символ "\", а в остальных случаях нет. Поэтому, если Вы хотите, чтобы Ваша программа корректно работала, то воспользуйтесь ниже приведенной функцией: Function NormalizePath(sPath As String) As String If Right$(sPath, 1) <> "\" Then 'если \ уже есть, то ничего не менять NormalizePath = sPath & "\" Else 'символа \ нет, добавить NormalizePath = sPath End If End Function наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Vasiliy Ответ ожидается по этому адресу Как соединиться с другим компом через winsock control? Автор вопроса: Yakobs Ответ ожидается по этому адресу Создал OCX, в который входит ComboBox. Список ComboBox-а заполняется из текстового файла (кодировка ANSI). Компонент предназначен для работы в системе визуализации WinCC (вряд ли это что-то кому-то скажет, но чего в жизни не бывает...). Под NT всё работает корректно. Под Windows_98 при вместо кирилицы отображаются иероглифы (буквы латинского алфавита с надбуквенными символами). При работе с кодировкой OEM наблюдалась аналогичная картина. Вставлял компонент в Internet Explorer - всё нормально отЗаранее спасибо всем принявшим участе в решении проблемы. Автор вопроса: Сергей Ответ ожидается по этому адресу Как написать код преобразования числа в текст типа: 23 456,23 руб. преобразуется в "Двадцать три тысячи четыреста пятьдесят шесть рублей, 23 коп. Автор вопроса: Валерий Ответ ожидается по этому адресу Вопрос по VBA. Как вставить кодом (MS Access 2000) OLE-объект (f.e., jpg) в Recordset ? Автор вопроса: Тимур Ответ ожидается по этому адресу Возможно ли с Помощью VB соядать программу дозвона по ppp-протоколу? Хотелось видеть исходный код, если это возможно. Автор вопроса: Павел Ответ ожидается по этому адресу Когда пользователь нажимает кнопку дверцы CD-ROM, нужно перехватить команду, выполнить заданные операции и только тогда открыть дверцу. Кто подскажет, как это сделать? Автор вопроса: Vasiliy Ответ ожидается по этому адресу Люди!!! Кто знает как сделать графическое сопровождение музыкального файла как в Win. Media Player. Ответы: Вопрос: Есть база данных Stat1.mdb . В ней таблица Statistics и в ней 3 поля SpyLogHits (Numeric), SpyLogHosts (Numeric), sDate (Date/Time). На форме стоит MSFlexGrid1. Нужно используя DAO программно запихать информацию из таблицы в MSFlexGrid1. Как это сделать? Ответ: Автор ответа hamzat textarea1=Sub GetData() Dim con, rs Set con = DAO.OpenDatabase("C:\Documents and Settings\hamzat\My Documents\stat1.mdb") Set rs = con.OpenRecordset("select * from Statistics") MsFelxGrid1.Rows = 1 MsFelxGrid1.Cols = 3 MsFelxGrid1.TextMatrix(0, 0) = "SpyLogHits" MsFelxGrid1.TextMatrix(0, 1) = "SpyLogHosts" MsFelxGrid1.TextMatrix(0, 2) = "sDate" While Not rs.EOF MsFelxGrid1.Rows = MsFelxGrid1.Rows + 1 MsFelxGrid1.TextMatrix(MsFelxGrid1.Rows - 1, 0) = rs("SpyLogHits") MsFelxGrid1.TextMatrix(MsFelxGrid1.Rows - 1, 1) = rs("SpyLogHosts") MsFelxGrid1.TextMatrix(MsFelxGrid1.Rows - 1, 2) = rs("sDate") rs.MoveNext Wend Set rs = Nothing Set con = Nothing End Sub Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
Выпуск подготовили: | Сурменок Павел и Шатрыкин Иван |