VBNet
VBMania
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Нет тем. Доска почёта: Sergey Y. Tkachev Кононенко Роман Kirill Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск...
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Создание базы данных (*.mdb) Прежде всего установите ссылку на Microsoft DAO 2.5/3.51 Compatibility Library через меню Project | References. Расположите на форме элемент Microsoft Common Dialog Control 6.0 через меню Project | Components. Расположите на форме элемент CommandButton. Данный код всего лишь создаст базу в формате mdb
с указанным вами именем базы.
Программное сжатие базы данных При работе с Базой Данных вы записываете, удаляете, редактируете свои данные и объем вашей БД постепенно растет. Остается он неизменным, даже если вы удалите все данные, т.к. удаленные записи машина Jet превращает в пробелы (грубо говоря). Для удаления этих пробелов время от времени проводят ''сжатие'' БД и она принемает оптимальный объем. Код приводится на примере БД Biblio.mdb 'Закрываем БД Data1.Database.Close 'Вызываем метод CompactDatabase объекта DBEngine 'для сжатия, и сжимаем БД переименовывая ее DBEngine.CompactDatabase "c:\biblio.mdb", "c:\new.mdb" 'Уничтоваем старую БД Kill "c:\biblio.mdb" 'Присваиваем полученной, 'сжатой' БД 'ее прежнее имя Dim OldDB Dim NewDB OldDB = "c:\new.mdb" NewDB = "c:\biblio.mdb" Name OldDB As NewDB 'Источник: http://www.relib.com/code.asp?id=402 наверх Вариант решения проблемы NULL На одном из русских сайтов, посвященных VB, я наткнулся на целую дискуссию, посвященную тому, что делать и как бороться с Null (в частности, при работе с базами данных). Возможно, я не прав, но я всегда для этих целей пользуюсь маленькой функцией, помещенной где-нибудь в модуле: Public Function CheckNull(sCheck as String) as String If IsNul(sCheck) Then CheckNull = Empty Else CheckNull=Trim$(sCheck) End If End Function наверх Переключение в определенное окно Вы набираете в текстовом поле название окна, и если оно присутствует в системе, то вы переключитесь в него. Преимущество/недостаток: вам необходимо знать полное название хэндла окна. Разместите на форме CommandButton и TextBox. Набирая в текстовом поле полный заголовок окна и нажимая на кнопку, вы переключитесь в него. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowsName As String) As Long Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal cCmdShow As Long) As Long Private Sub Command1_Click() Dim lFoundWindow As Long Dim lOK As Long Dim lOK1 As Long Dim X As Variant lFoundWindow = FindWindow(vbNullString, Text1.Text) If lFoundWindow = 0 Then MsgBox ("Указанное вами окно не запущено") Else lOK = SetForegroundWindow(lFoundWindow) lOK1 = ShowWindow(lFoundWindow, 9) lOK1 = ShowWindow(lFoundWindow, 10) lFoundWindow = 0 lOK = 0 lOK1 = 0 End If End Sub наверх Изменение заголовка любого окна Добавьте на форму 2 TextBox и 1 CommandButton. Напишите внутри TextBox1 наименование окна, которое вы хотите изменить. Напишите внутри TextBox2 новый заголовок окна. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_SETTEXT = &HC Private Sub Command1_Click() Dim target_hwnd As Long Dim target_name As String Dim new_caption As String target_name = Text1.Text target_hwnd = FindWindow(vbNullString, target_name) If target_hwnd = 0 Then MsgBox "Cannot find target" Exit Sub End If new_caption = Text2.Text SendMessage target_hwnd, WM_SETTEXT, 0, ByVal new_caption End Sub Private Sub Form_Load() Text1.Text = "Работа с текстом" Text2.Text = "New Caption" End Sub наверх Автоматическое закрытие окна Используется пример с автоматическим закрытием диалогового окна MsgBox. Начните новый проект. Добавите модуль в проект. Разместите на форме элемент CommandButton. 'КОД МОДУЛЯ Public Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long Public Const NV_CLOSEMSGBOX As Long = &H5000& Public Sub TimerProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long) KillTimer hWnd, idEvent Select Case idEvent Case NV_CLOSEMSGBOX Dim hMessageBox As Long hMessageBox = FindWindow("#32770", "MsgBox") If hMessageBox Then Call SetForegroundWindow(hMessageBox) SendKeys "{enter}" End If End Select End Sub 'КОД ФОРМЫ Private Sub Command1_Click() Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автор: Шатрыкин Иван. Соавтор: Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: FAS Ответ ожидается по этому адресу Можно ли получить свободное пространство и емкость диска используя средства самого VB, а не API - функции? Автор вопроса: MixeR Ответ ожидается по этому адресу Как работать с TabStrip? Автор вопроса: Stamenov Dimitar Ответ ожидается по этому адресу Хочу отследить нажимаемые клавиши в любом запущеном редакторе (MS Office....) и при нахождении нужного слова напр. " штраф" в момент его написания выполнять какие нибудь действия(напр.выдать сообщение). Хочу озадачить шефа, который часто выписывает штрафы, но знаний VB6 у меня маловато. Автор вопроса: SMM Ответ ожидается по этому адресу Как взять пароль пользователя из TextBox, зашифровать его и записать в файл. И как его потом вытащить из файла для сверки? Автор вопроса: Star Ответ ожидается по этому адресу Скажите, а как в VB-редакторе соядать макрос-сортироку для Excel по цвету раяделов? Например: Раядел1 Элемент1, Элемент2, Элемент3,Элемент4... Раядел2 Элемент1, Элемент2, Элемент3, Элемент4... ............ Автор вопроса: Константин Ответ ожидается по этому адресу Как вставить клип на Flash(*.swf) в файл ресурсов(*.res) и обратится к нему при необходимости. А так же как вставить в файл ресурсов файл видео (*.avi) > 65 kb и каким образом обратится к нему. Автор вопроса: ALEX Ответ ожидается по этому адресу Как сохранить рисунок в JPEG или BMP? Автор вопроса: Diplozon Ответ ожидается по этому адресу Можно ли где-то скачать учебник для начинающего програмера. Желательно в формате PDF. Автор вопроса: Винокуров К Ответ ожидается по этому адресу Например в файле dog.txt мне надо найти слово "собака" и яаменить его на слово "кошка". Как это сделать? Автор вопроса: DDT Ответ ожидается по этому адресу Как вставить в форму поле ввода времени (как в календаре), какой компонент надо использовать. Дату нашел, а время - нет :( Автор вопроса: LexA Ответ ожидается по этому адресу Как сделать так, чтобы при нажатии на правую кнопку мышки не вылетало меню (как его заблокировать)? Автор вопроса: Sergey Ответ ожидается по этому адресу Как в VBA скомпилить MDE ия MDB? Ответы: Вопрос: 1. Есть код блокировки кнопки "Пуск": Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long Public Sub EnableStartButton(Optional Enabled As Boolean = True) 'this will enable/disable any window with a little modifaction Dim lHwnd As Long 'найти hWnd lHwnd& = FindWindowEx(FindWindow("Shell_TrayWnd", ""), 0&, "Button", vbNullString) 'call the enablewindow api and do the what needs to be done Call EnableWindow(lHwnd&, CLng(Enabled)) End Sub Private Sub Command1_Click() EnableStartButton False 'Кнопка ПУСК заблокирована End Sub Private Sub Command2_Click() EnableStartButton True 'Кнопка ПУСК не заблокирована End Sub но он не блокирует нажатие кнопки Windows и Ctrl+Esc. Подскажите, как это исправить. 2. Есть две формы, как сделать, что бы первая форма появлялась внутри другой в строго определённом месте. Ответ: Автор ответа: darknez@mail.kz Можно блокировать все системные клавиши таким кодом: Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long Public lReturn As Long Public lBool As Long lReturn = SystemParametersInfo(97, False, lBool,vbNull)'Менять False/True Но тогда нельзя будет пользоваться вообще никакими горячими клавишами Вопрос: Как создать на форме список, типа Alt-Tab, чтобы в нём были все запущенные программы (не процессы) и по нажатию на какой-либо элемент активной становилась указанная программа? Ответ: Автор ответа: Vasia Посмотри на http://www.thescarms.com/ Сайт англоязычный, но 100% там был пример такой проги. Вопрос: Вопрос 1 (VB.NET) Видел программу, которая используя dos-овский архиватор, находящийся в том же каталоге, распаковывала файлы, но при этом не видно было окна доса.. Как это можно сделать? И еще.. как использовать DLL-библиотеки, и как узнавать ихние возможности с помошью WinDasm32? Вопрос 2 (VB.NET) Добавил я в проект bmp файл, как ресурс, теперь он появился в окошке с права с верху, как его использовать, как ссылаться на него? Ответ: Автор ответа: Dilon Ответ на второй вопрос: Что бы загрузить .bmp фаил из ресурса нужно использовать функцию picture= LoadResFile(имя картинки в ресурсе,тип рисунка) picture - это объект куда ты хочешь поместить рисунок. тип рисунка может быть: vbResBitmap или vbResCursor или vbResIcon это всё. Вопрос: Подскажите, для чего испольяуется модуль. Ответ: Автор ответа: Vasia В основном модуль используют для объявления глобальных переменных, функций, т.е. значения соответствующим образом объявленных переменных будут доступны из любой формы, процедуры и т.д. программы. Вопрос: Как можно использовать обхекты не стандартные в бейсике 6.0 а те которые используются в системе. допустим в ХР. Можно ли подключить обьекты из системы в бейсик? Ответ: Автор ответа: Иван А как же! Неужели не заглядывал в Components.../References... в пункте меню Project Всякую нечисть подсоединяют через эти места. Через Components... можно подключать всякие компоненты, (наверное все ActiveX которые есть в системе) (плюс любой ActiveX, который раздобудешь в виде файла) а через References... можно подключить всякие библиотеки (типа ADO, MSOffice...) Только учти - все эти прибамбасы в EXE не вставляются, и при переносе проги на другой комп чего-нибудь может не хватить. Вопрос: Каким образом скопировать файл на vbscript в директорию на IIS-СЕРВЕР? создаю объект: Set fs = CreateObject "Scripting.FileSystemObject") теперь копирую, допустим fs.CopyFile "C:\org\gerb3.gif", "C:\Inetpub\wwwroot\gerb3.gif" но ведь мне надо указать url? Ответ: Автор ответа: Иван Не уловил суть вопроса: а сервер-то где??? 1) сервер интернетный тут ничего не поможет кроме FTP а это совсем другой вопрос 2) Сервер сетевой нужен адрес к соответствующей шареной папке, а остальное - как обычно 3) сервер собственный никакой урл не нужен вообще. просто копируй туда в wwwroot и всё!!! Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||
Выпуск подготовили: |
Сурменок Павел |