VBNet
VBMania
Голосование: Голосования сайта VBNet.Ru. Результаты голосований передаются на сайт. Проследите, что есть соединение с интернетом. Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Мда... А материалов не видать! Никто не желает возглавить раздел "Библиотека кодов" на vbnet.ru?
Читайте! Содержание выпуска
Как сделать правильное объявление функции PtInRect? Вопрос: Обнаружил в файле Win32API.txt ошибку - АПИ-шная функция PtInRect в этом файле объявлена неправильно. И VB выдает ошибку, что неправильно объявлна функция. Так вот вопрос: объявление в файле Win32API.txt такое:
Public Declare Function PtInRect Lib "user32" (lpRect As RECT, pt As _
Почему оно не работает? И как сделать правильное объявление? Ответ: У Аппельмана так:
Public Declare Function PtInRect Lib "user32" (lpRect As RECT, ByVal ptx As _ Алексей Вишневский наверх Как установить фокус на первую строчку в TreeView после заполнения? Вопрос: Заполняю TreeView програмно. Как установить фокус на первую строчку в нем после заполнения? Ответ:
TreeView1.Nodes(1).Selected = True Дмитрий наверх Где в инете можно найти информацию о VBScript? Вопрос: Где в инете можно найти информацию о VBScript? Ответ: От Microsoft: http://msdn.microsoft.com/library/en-us/script56/html/vtoriVBScript.asp?frame=true Артем Кривокрисенко наверх Как быстро очистить TreeView? Вопрос: Как быстро очистить TreeView? А то вручную долго. Ответ:
TreeView1.Nodes.Clear Алексей Вишневский наверх Почему в VB.NET не работает Imports? Вопрос: Вопрос по VB.NET Пишу
Imports System.Drawing.Drawing2D
-выдаёт ошибку. Что я сделал не так?
Ответ: Писать это надо в самом верху (выше объявления класса (Class ...). Павел Сурменок наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Sergey Lagovskiy Ответ ожидается по этому адресу Есть программа, написанная на VB. Как сделать ее ShareWare, т.е. как организовать временное ограничение так, что бы над его снятием человеку пришлось бы довольно долго повозиться и все же согласиться заплатить оговоренную сумму? Вопрос тот же, но теперь он относиться в DLL - компонентам. Если можно, то расскажите про методы постановки защиты и методах ее обхода. Согласен что все это тянет на приличную статью, но может есть линки на уже готовую доку (можно даже с примерами) Автор вопроса: Игорь Ответ ожидается по этому адресу Как изменить формат бумаги для принтера в VB6 в операционнной среде win2000NT? Автор вопроса: Андрей Ответ ожидается по этому адресу Проблема такая. Нужна прога, типа телефонного справочника, которая по заданным параметрам умела находить нужную строку в базе данных, если есть у кого простой пример, просьба намылить. Автор вопроса: Andrew Momotov Ответ ожидается по этому адресу Как в VB пользоваться сервисом Telnet? Winsock выдает что-то вроде "яэ.яэ.яэ#яэ'яэ$" Автор вопроса: Oleks Ответ ожидается по этому адресу У меня ACCESS-овская база данных в одной из таблиц которой имеется поле MySound типа OLE Object. Как с помощью SQL запроса произвести изменения в этом поле, если новое значение я имею в виде байтового массива? Ответы: Вопрос: В функцию передаю указатель на картинку и выполняю следующее: hBitmap = LoadImage(App.hInstance, strPath & strBitmap, IMAGE_BITMAP, 320, 200, LR_LOADFROMFILE) MsgBox BitBlt(imHandle, arrSkin(0), arrSkin(1), arrSkin(2), arrSkin(3), hBitmap, arrSkin(0), arrSkin(1), vbSrcCopy) Не работает! Помогите! Ответ: Автор ответа: Максим Смотри, что за функция LoadImage – проблема в ней. И вообще, если хочешь узнать нарисовалось или нет лучше: Dim q as long Q= BitBlt(imHandle, arrSkin(0), arrSkin(1), arrSkin(2), arrSkin(3), hBitmap, arrSkin(0), arrSkin(1), vbSrcCopy) If q<>0 then msgbox “ok” Вопрос: Понадобилось мне документы вордовские клепать... Всё конечно хорошо, но работа идёт в основном с таблицами. Типа такого: set doc=wrd.documents.add set tbl=doc.tables.add(doc.range,2,11) ... ... ... for i=1 to msfg1.rows-1 tbl.rows.add tbl.cell(tbl.rows.count,0).range.text=msgf1.textmatrix(i,0) tbl.cell(tbl.rows.count,1).range.text=msgf1.textmatrix(i,1) ... ... next msfg1 - это просто flexgrid. Пример полностью отражает то, что я делаю... Но вот проблема - всё происходит ОЧЕНЬ медленно... Приблизительно по полсекунде на строку, может немного меньше. А иногда ведь бывает и по 500 строк... Вопрос такой: можно ли как-то уменьшить время выполнения данной задачи методом отключения каких-то лишних фигней в вордовской аппликации или вообще есть какой-то другой способ? Ответ: Автор ответа: Alexander Процесс будет идти значительно быстрее, если перед заполнением отключить визуальный мониторинг, типа .Visible=false, а затем его включить .Visible=true. Есть и универсальный метод (.visible всё равно у меня работал быстрее): Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long ... LockWindowUpdate <действия по заполнению> ... LockWindowUpdate 0 ' включить обновление окна и затем, вероятно, <>.refresh Вопрос: Вопрос по ADO На серваке MSSQL2000 есть база. Есть хранимая процедура. Хочу открыть рекордсет с возможностью перемещения по записям вверх-вниз. Вот такой код. Dim rs As ADODB.Recordset, cm As ADODB.Command, param As ADODB.Parameter, dDate As Date Set cm = New ADODB.Command Set cm.ActiveConnection = cn cm.CommandType = adCmdStoredProc cm.CommandText = "usr_repWSP" Set param = cm.CreateParameter("dDate", adDate, adParamInput, , dDate) cm.Parameters.Append param Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.CursorType = adOpenStatic Set rs = cm.Execute После выполнения последней строки, рекодсет почему то становится ForwardOnly и adUseServer (как по умолчанию), игнорируя предыдущие установки и естессно метод rs.moveprevious вызывает ошибку. Если же я открываю рекордсет таким образом: rs.Source = "sql-запрос такой как в хранимой проц. на серваке" rs.activeconnection = cn rs.Open то он чудесно открывается как и надо в соответствие с установленными свойствами. Статический курсор использую из-за того, что запрос с групповой операцией. Помогите разобраться в чём дело? Перепробовал всякие варианты. Неужели через объект ADO.Command невозможно так сделать? Ответ: Автор ответа: Alexander Угу, так оно и есть. cn.Execute "SQL-запрос" возвращает ReadOnly recordset. В MSDN об этом пишется :-( Вопрос: Использовать функции GDI в GDI+ не катит. Мне нужно что-нибудь аналогичное getpixel/setpixel. И createbitmap с selectobject. В общем, это нужно перевернуть картинку. Не удивлюсь, если в .net уже есть класс для этой беды. Но мне еще нужно будет копировать это на поверхность DirectDrawSurface7! Трюк с методом getCD не пройдет. А может directdraw сам может отразить зеркально? Посоветуйте как решить задачу! Ответ: Автор ответа: Артем Кривокрисенко В принципе, в виндах можно только через GDI работать, или через DX. Писать напрямую в видеопамять тебе никто не даст. Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
Выпуск подготовили: |
Сурменок Павел |