VBNet
VBMania
Голосование: Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Ну вот я опять с вами! Как я и ожидал, ничего путнего с винтом у меня не получилось. В выходные переустанавливал систему, в понедельник уже вечером собрался выпустить рассылку, да вспомнил, что диск со своим любимым HTML-редактором (Macromedia Homesite 5) я дал знакомому. Так что добрался до рассылки только сейчас.
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Citycat by Email Программа Citycat by Email позволяет работать с сервером Subscribe.ru с помощью электронной почты. Теперь Вам не нужно тратить деньги на работу в online и просматривать мегабайты рекламы для того, чтобы подписаться на нужную рассылку! Вам просто необходимо скачать небольшую базу данных по всем рассылкам каталога с нашего сайта, после чего Вы сможете подписываться и отписываться от рассылок, заказывать архивы прошлых выпусков, выполнять поиск по каталогу рассылок и многое другое. Программу Citycat by Email можно бесплатно загрузить с сайта http://sapisoft.h1.ru. наверх Новости сайта VBNet
Последние 20 тем форума на VBNet.Ru: 13:54 / 7 апр. СРОЧНЫЙ ХЕЛП! Системы исчесления | Хитов: 1 | Ответов: 0 13:34 / 7 апр. Удаление записей из связанных таблиц | Хитов: 0 | Ответов: 0 11:30 / 7 апр. Как открыть документ Word в форме?(помгите гори... | Хитов: 3 | Ответов: 0 11:10 / 7 апр. Реестр и копирование файлов | Хитов: 3 | Ответов: 0 10:42 / 7 апр. Какие подстановочные значки исп-ть в vb.net с L... | Хитов: 2 | Ответов: 0 10:37 / 7 апр. Как запихнуть данные в dataset в vb.net не из Б... | Хитов: 0 | Ответов: 0 10:32 / 7 апр. Как получить страничку | Хитов: 4 | Ответов: 0 09:40 / 7 апр. Как отключить главное меню при запуске, наприме... | Хитов: 4 | Ответов: 0 09:20 / 7 апр. события dbgrid | Хитов: 1 | Ответов: 0 07:47 / 7 апр. Add to ListBox | Хитов: 7 | Ответов: 0 07:41 / 7 апр. Глюк или как? | Хитов: 3 | Ответов: 0 01:10 / 7 апр. ComboBox | Хитов: 21 | Ответов: 1 00:50 / 7 апр. Вопрос по VB .NET | Хитов: 12 | Ответов: 1 22:54 / 6 апр. Работа с реестром | Хитов: 27 | Ответов: 3 22:50 / 6 апр. Кряки | Хитов: 32 | Ответов: 2 22:48 / 6 апр. RasDialParams | Хитов: 11 | Ответов: 1 21:18 / 6 апр. How to mail some.... | Хитов: 30 | Ответов: 3 21:01 / 6 апр. как на VB скачать и закачать файлы на FTP | Хитов: 18 | Ответов: 1 19:04 / 6 апр. Rus2Trans v 0.2 (open source) | Хитов: 26 | Ответов: 1 18:52 / 6 апр. Помогите ответами на все мои сообщения | Хитов: 37 | Ответов: 0 Последние поступления в Библиотеку кодов: Новости от VBNet-чиков!: наверх Новости сайта VBMania наверх Новости сайта Азбука VB наверх Новости сайта MSDN наверх Новости сайта GotdotNet
Новые статьи:
наверх Новости сайта dotSite Новые статьи: Новые примеры: наверх Один момент из жизни форума: Подскажите ресурс с иконками. Вопрос: Автор вопроса: NightVolk Просто у самого руки кривые, не могу нарисовать, а очень надо. Ответы: Автор: PeterS Во всех Win's в файлах moricons.dll; pifmgr.dll; shell32.dll есть очень красивые иконки. А также Вы можете сами поискать иконки в dll-файлах в системном каталоге Windows'а. Автор: Gravity А лучше посмотри на www.ikonki.ru Автор: boevik Ссылка то не рабочая. Автор: msv Хочешь 300 XP-иконок? Могу прислать. Автор: aka http://www.iconarchive.com/ Автор: Padre есть некоторые анимированные ХР иконки Автор: Alliancce http://www.torry.net/docs_graphics.htm особенно полная коллекция Eldos Автор: mc-black Попробуй лучше сам что-нибудь этакое оригинальное нарисовать, я использую Icon Studio (freeware!), IconEdit Pro. В обоих случаях ты можешь сделать снимок любой иконки с экрана, если очень хочется стандартную или чужую иконку. Можно еще содрать иконки из любых exe/dll, например с помощью ResTrief (freeware). Где все это найти? В Яндексе :) наверх Доска объявлений Ищу телеработу.
наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Авторы: Шатрыкин Иван и Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Lexa Ответ ожидается по этому адресу Как напечатать две формы на одном листе? Автор вопроса: Alex Ответ ожидается по этому адресу Как вывести " на экран с текстом Автор вопроса: mikl Ответ ожидается по этому адресу При попытке подключить ActiveX компонент выскакивает ошибка: The file 'C:\WINDOWS\SYSTEM\VBDirect8.ocx' was not registerable as an ActiveX component (Файл 'C:\WINDOWS\SYSTEM\VBDirect8.ocx' не был registerable как ActiveX компонент) У меня Win98, DirectX 7.1. Может быть дело в DirectX? Что значит такая ошибка? Автор вопроса: Борис Ответ ожидается по этому адресу Как известно стандартный ListBox имеет свойство Style, которое может принимать значение CheckBox. Одноко свойство Selected при этом принимает только два значения (True, False). В то же время элемент CheckBox может принимать три значения (Unchecked, Checked и Grayed). Можно ли стандартный ListBox заставить действовать аналогичным образом или нужно писать свой? Автор вопроса: George Ответ ожидается по этому адресу Как считать параметры переданные программе в командной строке. Типа argc[] or argv[] in С# Автор вопроса: Алексей Ответ ожидается по этому адресу Подскажите, как и какие команды надо отправлять окну Winamp'а зная его hdc и прочее что бы останавливать или продолжать воспроизведение, менять уровень звука и другое? Автор вопроса: Иван Ответ ожидается по этому адресу Существует ли хороший ActiveX для отображения такой штуки: что-то среднее между гридом и диаграммой, По вертикали идут позиции, а по горизонтали даты. Надо отображать горизонтальные линии соответствующие периодам дат. например: 1.03 - 1.04 - 1.05 - 1.06 AAA Х=============Х BBB Х================... CCC ..=====================Х Данные будут браться из БД. Автор вопроса: LexSys Ответ ожидается по этому адресу Люди помогите "первоклашке"! Что значит работать с портами, или посылать данные на порт? Есть ли про это документация <ссылка>? Можно ли управлять эл/питанием на порту? К примеру у меня есть подключёный к COM`у провод от старой мышки. А на конце провода какое-нибудь устройство... например эл/моторчик... Можно ли подавать напрягу то +/-, то -/+ ? Как? Автор вопроса: Максим Ответ ожидается по этому адресу Помогите написать прогу отправляющую файлы на почту!!!!! Автор вопроса: Alexey Ответ ожидается по этому адресу Как сделать, чтобы все буквы в тексте заменялись на какие-то другие буквы? Например: буквы а,б,в - заменялись на п,м,и. Автор вопроса: ShAdE Ответ ожидается по этому адресу вот проблема такая, ни как не получается ярлычек создать, еслть ли у кого-нибудь искодики для создания этих самых ярличков? Автор вопроса: Игорь Ответ ожидается по этому адресу Не могу раяобраться, в чем дело? Запутался в "трех соснах". Обычный SQL-яапрос: "Select Sum(Volume) from Fuel" - отрабатывается отлично. "Select Sum(Volume) from Fuel Where Year(Date) = nYear" выдается ошибка, что не хватает каких-то параметров. Причем, если яаменить переменную nYear на конкретное число, скажем, 2002, то все в порядке. (Volume и Date - поля таблицы Fuel). Подскажите пожалуйста, в чем может быть причина? Ответы: Вопрос: Как компилить прогу в vb7 (net)??? И можно ли там работать с директом икс ??? Ответ: Автор ответа: Anton Pronoza Можно, конечно. У VB7 есть огромные возможности для работы с DirectX. Вопрос - как?... Вопрос: Суть проблемы: Создается файл *.mdb, в котором создается таблица (например на 5 полей), в которую затем пишутся real-time данные. Проблема в том, что из-за св-ва Required=true прога требует обязательного заполнения данными всех полей. А данные (иногда бывает) могут отсутствовать в некоторых полях. Каким образом и где в коде установить св-во Required в false? Или есть другой выход из положения? Ответ: Автор ответа: Gregory You can use function iif(conditon,"false","true") exp iif( isnull(field),"default value",field_value") Ответ: Автор ответа: Pistol А не пробовал в самой базе .mdb выставить некоторые поля как необязательные? А потом ты можешь манипулировать кодом, т.е. если какое-то поле обязательно, в коде ставишь проверку. Ответ: Автор ответа: Alexander Это зависит от атрибута поля, а именно: adColNullable даёт возможность полю иметь значение Null. Пример: Dim cnn As New ADODB.Connection Dim cat As New ADOX.Catalog Dim colTemp As New ADOX.Column Dim rstEmployees As New Recordset Dim strMessage As String Dim strInput As String ' Connect the catalog. cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=c:\" & _ "Program Files\Microsoft Office\Office\Samples\Northwind.mdb;" Set cat.ActiveConnection = cnn Set tblEmp = cat.Tables("Employees") ' Create a new Field object and append it to the Fields ' collection of the Employees table. colTemp.Name = "FaxPhone" colTemp.Type = adVarWChar colTemp.DefinedSize = 24 colTemp.Attributes = adColNullable cat.Tables("Employees").Columns.Append colTemp Ответ: Автор ответа: Шувакин Н.В. можно вписывать в эти поля пустую строку. например в поле нужно поместь значение А. Но оно отсутствует, нужно в коде при записи данных в таблицу (да и при редактировании) писать RECSET.FILDS(5)=TXTBOX1.TEXT&"" таким образом в таблице в строке будет не отсутствие данных а пустая строка. программа это поймет Вопрос: Как перехватить сообщения Windows (все подряд MsgBox). А еще лучше определить строку, которая находится под мышкой, в любом приложении Win. Это вобще возможно? Для того, чтобы легче было понять проблему объясню на пальцах. Представьте лупу из специальных возможностей Windows. Висит она значит в углу, и отображает только текст, находящийся под мышкой (без графики). Или текст сообщения, выскочившего при ошибке, копировании, перемещении и т.д. На самом деле мне нужна не лупа, а нечто другое, поэтому не пишите как увеличить картинку. Мне нужен только текст. Ответ: Автор ответа: Артем Кривокрисенко Мне кажется, что ты уж слишком круто взял. Насколько мне известно, текст на MSGBox'е пишется АПИшкой и сохраняется только на экране. Найти его никак нельзя. Раве что напишешь прогу, которая будет распознавать шрифт... Вот выдрать заголовок - более менее реально - GetWindowText. А получить верхнеуровневое окно можно аипшкой GetForegroundWindow. Вопрос: Простейшая ситуация, но не знаю как ее решить. Есть два ListBox, в первом и во втором содержится взаимосвязанная информация. Возникает ситуация когда количество строк в ListBox1 не вмещаются на экран, и для просмотра, тех что не "влезли" на экран приходится пользоваться полосой прокрутки. Можно ли сделать так что бы при использовании полосы прокрутки в ListBox1, информация в ListBox2, также поднималась (или опускалась) синхронно с информацией в ListBox1 ? Ответ: Автор ответа: Пащено А. У ListBox есть свойство, если не ошибаюсь, TopIndex. ListBox2.TopIndex=ListBox1.TopIndex Ответ: Автор ответа: Артем Кривокрисенко Ты будешь долго смеяться, но для этого существует свойство topIndex. Private Scrolling As Boolean Private Sub Form_Load() For i = 0 To 200 List1.AddItem i List2.AddItem i Next i Scrolling = False End Sub Private Sub List1_Scroll() If Not Scrolling Then Scrolling = True List2.TopIndex = List1.TopIndex Scrolling = False End If End Sub Private Sub List2_Scroll() If Not Scrolling Then Scrolling = True List1.TopIndex = List2.TopIndex Scrolling = False End If End Sub Листбоксы "синхронизируются", но немного глючно. Ответ: Автор ответа: ]CBK[CRaSH Private Sub lst_Click() lst2.ListIndex = lst.ListIndex End Sub Private Sub lst_Scroll() lst.Visible = False'Обьекты скрываются для того чтобы прокрутка была не такой тупой lst2.Visible = False lst2.TopIndex = lst.TopIndex lst.Visible = True lst2.Visible = True End Sub Вопрос: У меня такой вопрос: Как отправить письмо средствами VB? Побывал: Private Sub Command1_Click() Set myOlApp = CreateObject("Outlook.Application") Set myItem = myOlApp.CreateItem(olMailItem) Set myRecipient = myItem.Recipients.Add("k.a.s@dts.ru") myItem.Subject = "тема" myItem.Body = "сообщение" Set myAttachments = myItem.Attachments myAttachments.Add "C:\1.xls" ' вложенный файл myItem.Display myItem.send End Sub Выдаёт ошибку: не могу создать объект ActiveX Ответ: Автор ответа: Anatoliy Zhukov Ispol'suy MAPI. Gdeto w MSDN bil primer ... no ja ne pomnyu gde .. poetomu widral kusok iz swoego koda kotoriy ja ispol'suja dlja togo chtobi slat' sebe Reporti ob oshibkah ot pol'sowateley Esli chto ne ponjatno pishite ili stuchite. Private Sub ComposeMessage(ByVal strText As String) On Error GoTo ComposeErr Dim strMessage As String With mapMess .Compose .MsgSubject = "Fehlerbeschreibung und Fehlerprotokoll / Sollout Assistent" .RecipAddress = ErrPtnr_EMail 'Add attachment '.AttachmentPathName = "c:\Status Report.doc" .MsgNoteText = strText ' Outlook nicht anzeigen .Send False ' True ' Pokazat' ili skrit' oktno Poch'towogo klienta End With Exit Sub ComposeErr: Debug.Print Err.Number, Err.Description Resume Next End Sub Private Function LogOn() As Boolean ' If a session is already started, exit sub. 'mapSess = GetObject("MAPISession") If mapSess.NewSession Then MsgBox "MAPI-Session already established" Exit Function End If On Error GoTo errLogInFail With mapSess ' Set DownLoadMail to False to prevent immediate download. .DownLoadMail = False .LogonUI = True ' Use the underlying email system's logon UI. .SignOn ' Signon method. ' If successful, return True LogOn = True ' Set NewSession to True and set0 ' variable flag to true .NewSession = True bNewSession = .NewSession mapMess.SessionID = .SessionID ' You must set this before continuing. End With Exit Function errLogInFail: Debug.Print Err.Number, Err.Description If Err.Number = 32003 Then MsgBox "Canceled Login" LogOn = False End If Exit Function End Function Private Sub LogOff() ' Logoff the MapSessions control. With mapSess .SignOff ' Close the session. .NewSession = False ' Flag for new session. bNewSession = .NewSession ' Reset flag. End With End Sub Ответ: Автор ответа: Sergey Для того, чтобы этот код работал , необходимо чтобы на машине стоял Microsoft Outlook, который входит в состав Office. Однако DCOM - не самый быстрый способ,особенно под 95/98/ME.Еще один вариант - использовать CDO (Collaboration Data Objects) интерфейс. Вопрос: Может ли приложение написанное на Visual Basic 6.0, испольяуюещее, например, WindowsCommunControls, под Windows 98 заработать на Windows 95, Windows 2000 & XP? После переноса приложения на другой компьютер (бея VB) все не работает. Что сделать? Ответ: Автор ответа: Степанов Антон Просто надо посмотреть какую библиотеку использует твоя прога. То есть если ты добавляешь какой-нибудь компонент ActiveX, то библиотеку с расширением "ocx" надо обязательно скопировать в папку где лежит твоя прога иначе она не будет запускаться в других средах (windows) Ответ: Автор ответа: Programmer Что бы твоя прога работала на другом компе, надо тащить за ней msvbvm60.dll и другие контролы и длл-ки , если ты их используешь в проекте. Ответ: Автор ответа: Alexander В учёбнику написена: пользуй "Мастер создания инсталляций!" (Add-in: Package and Deployment Wizard)! Ответ: Автор ответа: Артем Кривокрисенко Это же надо парочку библиотечек с прогой таскать. Есть в VB такой мастер - Package and Deployment Wizard. Сам, правда, немного глюковат, но списочек нужых библиотек предоставить может. Ответ: Автор ответа: Sergey Если твое приложение испрользует Windows Common Controls(который распространяются вместе с VB) , то ты должен распространять их вместе со своим приложением. Самый просто способ - создать инсталляцию например в Wise Installation System и указать в опциях distribute VB-runtime. Ответ: Автор ответа: ]CBK[CRaSH Тебе надо прихватить с собой и используемый ActiveX Вопрос: Подскажите как пользоваться API функциями: FindWindow и EnumWindow Ответ: Автор ответа: Programmer вот пример получения hwnd всех окон в системе при помощи EnumWindows 'Add this code to a module Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean Dim sSave As String, Ret As Long Ret = GetWindowTextLength(hwnd) sSave = Space(Ret) GetWindowText hwnd, sSave, Ret + 1 Form1.List1.AddItem ("&H" & Hex(hwnd)) + " " + sSave 'continue enumeration EnumWindowsProc = True End Function 'Add this code to a form Private Sub Form_Load() 'call the Enumwindows-function EnumWindows AddressOf EnumWindowsProc, ByVal 0& End Sub Ответ: Автор ответа: Alexander Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Пример: lTBarHwnd = FindWindowEx(hwnd, 0&, "ToolbarWindow32", vbNullString) Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long Пример: While HWnd <> 0 count = count + 1 Call EnumWindows(Level + 1, HWnd) 'Debug.Print String$(Level, Chr$(9)); count; ". "; Hex$(HWnd) 'Get the next task list item in the master list. HWnd = GetWindow(HWnd, GW_HWNDNEXT) Wend Вопрос: Можно ли подцепить CrystalReport к контролу Adodc (без использования DataEnvironment со своими command)? То есть при измении SQL-запросов для Adodc соответсвенно изменяется и отчет, выводимый на печать. DataReport1.DataSource = Adodc1 - не проходит. Может я забываю что-то объявить/прописать? Ответ: Автор ответа: Sergey Я конечно не профи в Crystal Reports но мне кажется что источник данных и тип провайдера нельзя изменять динамически, а только в режиме разработки,поскольку это влечет за собой data remapping. И вообще: для чего использовать в качестве источника данных ADO Data Control,если он просто поставляет данные, ничего с ними не делая ? Вопрос: Подскажите как работать с API функцией: SetWindowText Ответ: Автор ответа: Alexander Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long Пример: a = InputBox("New string for " & txtClass & ":", "New string") b = SetWindowText(hwnd1, a) txtClassText.Text = " Picture1.Picture = LoadResPicture(102, vbResIcon) Form1.MousePointer = 0 Ответ: Автор ответа: Артем Кривокрисенко lngtemp=SetWindowText (me.hwnd, "VB.NET - Rules Forever!!!" & chr(0)) Строка должна оканчиваться на нулевой символ, поэтому я его и написал. Вопрос: Как правильно обновить рекордсет в DataEnvironment? Все обновляется один раз : private sub Obnovit() DataEnvironment.rsMyTable.update DataEnvironment.rsMyTable.requery 'потом обновляю все Контролы (раньше не понимал почему данные не 'обновляются в контролах вот пример:) set text1.DataSource=DataEnvironment set DataGrid1.DataSource=DataEnvironment end sub Если я второй раз вызываю sub Obnovit то ругается на update и requery, я нашел выход при котором хоть сколько раз вызывай Obnovit все обновляется : просто надо закрыть и заново открыть DataEnvironment после обновления: DataEnvironment.rsMyTable.close DataEnvironment.rsMyTable.open Все работает, но думаю что закрывать и открывать это неправильно, есть ли способы этого не делать чтобы правильно обновлять рекордсеты в DataEnvironment???? Вобщем как правильно обновить рекордсет в DataEnvironment ?? Ответ: Автор ответа: Alexander Да, всё почти так. Microsoft сама рекомендует сделать так: private sub Obnovit() set DataGrid1.DataSource=Nothing ' рвём связь ==== DataEnvironment.rsMyTable.update DataEnvironment.rsMyTable.requery 'потом обновляю все Контролы (раньше не понимал почему данные не 'обновляются в контролах вот пример:) set text1.DataSource=DataEnvironment set DataGrid1.DataSource=DataEnvironment ' восстанавливаем связь ===== end sub Вопрос: 1) Как програмно изменить цвет рабочего стола? 2) На форме лежит SSTab, между его закругленными закладками виднеется сама форма. Как эти фидимые куски формы вырезать? Знаю, что с Path, но нужен пример. Ответ: Автор ответа: Артем Кривокрисенко Что-то вроде этого: lngRgn=CreateRoundRectRgn(0,0,frmMain.width/15,frmmain.height/15,10,10) lngTemp=SetWindowRgn(frmmain.hwnd,lngrgn,true) 10,10 - это ширина и высота скругления. Вопрос: Как создать АктивХ для игры в морской бой? То есть поле игры! Кто знает просьба ответить или дать ссылочку на документацию! Исходники брать не хочу! Хочу писать сам. Ответ: Автор ответа: ViTal >>> Хочу писать сам. :)))))))))))))) А чё ж вопросы задаёшь??? Ответ: Автор ответа: Артем Кривокрисенко Хе... Высоко взял. Для этого и DX можно взять. А если не хочешь, то сначала арисуй само поле, а на нем уже и клеточки. ИМХО, это несложно. Если хочешь, проконсультую: Artyom_kr@zp.ukrtel.net. Или подписывайся в почтовую конференцию VB-программистов: пустое письмо на vb-on@soobcha.org. Вопрос: Вот какие вопросы: 1. Какие есть способы для закрашивания половины (части) буквы, например половина буквы "А" зеленая, другая - красная? 2. И второй вопрос, как сделать так, чтобы буквы в слове были разноцветными? Ответ: Автор ответа: Eugen #1 Что, инсталлер хочешь сделать, чтобы как в стандартном проценты отображать? :)) Не суть. Я думаю, только через GetPixel/SetPixel применительно к hDc #2 Используй RichTextBox Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||||||
Выпуск подготовили: |
Сурменок Павел |