VBNet
VBMania
Голосование: Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск!
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Эксперт - Привет, Серый. - Угу, привет. Ты проходи, садись, я щас, с функцией тут разберусь... - Да я на момент. Вопросец имеется. - Вопросец, вопросец... Так, тут переменная не объявлена... Вопросец... С вопросами в систему, к экспертам... А тут точку не поставил! Вот она где, соб-бака!! - Ты че, какая система? Ты о чем? - О! Все, работает... Чего ты говоришь? - Ты про каких это экспертов тут заикаешься? - А-а. А ты что, первый раз слышишь, что ли? Ты на СообЧа бывал? - Где?!! - Да вот, гляди. Щас соединимся... Во! http://soobcha.ru, зришь? - М-да... Занятно. Так я с вопросом к тебе... - А я вот и говорю: туда иди, в систему "Эксперт", там ответят. - Это чайники, что ли, ответят? - Не сомневайся, ответят. Там у них такое наворочено... Короче, ты по почте вопрос свой задаешь - и все:)))))) Больше не изволь беспокоиться, там они сами будут искать ответ на твой вопрос. А через некоторое время вывалят тебе на ящик не один, а несколько ответов. Пользуйся и радуйся:) - А чего это они там такие добрые да услужливые? У них чего, своих проблем нет? Сколько я должен платить за такое трогательное беспокойство? - Ну, это немного. Меньше, чем ты думаешь:) Тебе достаточно только подтвердить правильный ответ. Давишь на соответствующую ссылку, дескать, вот этот ответ мне понравился, помог, и я доволен. Просто пустое письмо засылаешь к ним, и вся оплата. А если хочешь у них экспертом стать, то пожалуйста, регистрируйся и отвечай на вопросы. - Кем? Экспертом? - А что? Что-то ты ведь знаешь, не вчера за комп сел. - А на фига мне это надо? Разбираться с чужими проблемами... У меня своих - хоть отбавляй... - Ага. Вот ты только что спрашивал: а сколько? И если уж ты со своими проблемами обращаешься к людям, то ведь надеешься, что тебе помогут. А сам-то что, влом, что ли, помочь кому-то? Да ладно! Тебя, вобщем-то, никто и не тянет, не заставляет. А вот те, кому интересно, кому не жаль поделиться, те там и работают. Я, между прочим, давно уже с ними. - В смысле, экспертом, что ли, заделался? И сколько тебе платят? - А ты не прикалывай. Там никто никому не платит. А вот конкурсы, между прочим, проводят, и не хилые. Представляешь, за лучший ответ дают бесплатно три месяца платного хостинга, да еще домен регистрируют. За просто так. А вот тебе, если ты задашь самый лучший вопрос, тоже приз может выгореть. - Это как: лучший? На который никто ответить, что ли, не сможет? Так я щас таких вопро... - Причем тут это? Просто ты, если вопрос пишешь к ним, так сподобься хоть запятые в нужных местах поставить, там, грамотно, короче, обрисуй свой трабл. - Ну ладно, въехал. Ты мне вот лучше помоги с моим траблом. Мой Фотошоп не хочет по русски работать... - Ха, так этот трабл там уже сколько раз появлялся. У них на сайте и ответ есть... Вот, любуйся: Заходим в редактор реестра (regedit.exe). Находим ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\Nls\Codepage В нем изменяем значение параметра 1252 с cp_1252.nls на cp_1251.nls. Перезагружаемся... - Понял... погоди, запишу... - Да чего записывать? Шагай домой, входи на сайт и копируй... - Да я ссылку запишу... Слушай, а как там в эту систему вопрос задать? Вообще, как она работает? - Так тут же, на сайте, все есть. А вообще, можешь по почте пустое письмо загнать на mailto:reply.infoexpert@soobcha.ru, и получишь всю необходимую инфу. А вообще, ты лучше в следующий раз с вопросами не ко мне, а туда. Может, я и отвечу там. - А не проше тебе здесь ответить? - Э-э-э... Там я баллы зарабатываю... - А это еще зачем? - Ладно, мотай. Дома почитаешь, все о них узнаешь. У меня тут халтурка... Давай, пока. - Пока. А как ты экспертом там зарегился? - Иди, иди! Инфу читай... наверх Citycat by Email Программа Citycat by Email позволяет работать с сервером Subscribe.ru с помощью электронной почты. Теперь Вам не нужно тратить деньги на работу в online и просматривать мегабайты рекламы для того, чтобы подписаться на нужную рассылку! Вам просто необходимо скачать небольшую базу данных по всем рассылкам каталога с нашего сайта, после чего Вы сможете подписываться и отписываться от рассылок, заказывать архивы прошлых выпусков, выполнять поиск по каталогу рассылок и многое другое. Программу Citycat by Email можно бесплатно загрузить с сайта http://sapisoft.h1.ru. наверх Новости сайта VBNet
Последние 20 тем форума на VBNet.Ru: 11:49 / 4 авг. Реверс байт | Хитов: 5 | Ответов: 0 11:00 / 4 авг. А как получить доступ данным активного экземпля... | Хитов: 6 | Ответов: 1 10:24 / 4 авг. Как так? | Хитов: 7 | Ответов: 0 06:16 / 4 авг. А классы наследуются? | Хитов: 18 | Ответов: 1 05:43 / 4 авг. Рацпредложение | Хитов: 13 | Ответов: 0 05:41 / 4 авг. Только самым серьезным специалистам! | Хитов: 24 | Ответов: 1 04:40 / 4 авг. Помогите!!! (не VB) | Хитов: 27 | Ответов: 3 04:30 / 4 авг. Всем: Небольшой опрос | Хитов: 28 | Ответов: 1 01:42 / 4 авг. manifest >>> exe | Хитов: 22 | Ответов: 1 00:56 / 4 авг. Где можно достать справочник по сообщения windows? | Хитов: 24 | Ответов: 3 00:02 / 4 авг. Будущее .NET Framework | Хитов: 24 | Ответов: 2 21:33 / 3 авг. Новое сообщение без темы | Хитов: 1 | Ответов: 0 19:49 / 3 авг. Button Click | Хитов: 37 | Ответов: 1 18:32 / 3 авг. winsock | Хитов: 31 | Ответов: 1 17:51 / 3 авг. Не пинайте меня, я опять про hutdown WinXP | Хитов: 29 | Ответов: 2 17:09 / 3 авг. Нефиг_Нафиг_Пофиг | Хитов: 7 | Ответов: 1 09:56 / 3 авг. Помогите с принтером... | Хитов: 25 | Ответов: 1 08:44 / 3 авг. Collection & Object required | Хитов: 20 | Ответов: 2 18:19 / 2 авг. Помогите с сортировкой | Хитов: 31 | Ответов: 3 14:43 / 2 авг. Кому охота делать сайт? | Хитов: 27 | Ответов: 2 Последние поступления в Библиотеку кодов: Перевод числа в другую систему счисления (78) Новости от VBNet-чиков!: наверх Новости сайта VBMania наверх Новости сайта Азбука VB наверх Новости сайта MSDN наверх Новости сайта GotdotNet Новые статьи: наверх Новости сайта dotSite Новые статьи:
Новые примеры: наверх Один момент из жизни форума: Указатели Вопрос: Автор вопроса: CyRax Просто захотелось проверить кто знает три VB-шных функции: ObjPtr, StrPtr и VarPtr. Которые являются указателями(pointer) на адрес памяти: ObjPtr - Объекта StrPtr - Строчной VarPtr - Числовой переменных. Пример: В API-шных ф-ях бывает когда нужно передать параметром не саму переменную, а адрес на неё. Возьмём к примеру тип: typedef struct { // cc DWORD lStructSize; HWND hwndOwner; HWND hInstance; COLORREF rgbResult; COLORREF* lpCustColors; DWORD Flags; LPARAM lCustData; LPCCHOOKPROC lpfnHook; LPCTSTR lpTemplateName; } CHOOSECOLOR; А если по русски (на VB): Type CHOOSECOLOR lStructSize As Long hwndOwner As Long hInstance As Long rgbResult As Long lpCustColors As Long flags As Long lCustData As Long lpfnHook As Long lpTemplateName As String End Type Здесь "COLORREF* lpCustColors" - указатель на адрес. Подозреваю что знак "*" в Си++ этим и является. Но на Си++ это делается так: Dim HandleToMemory As Long, PointerToMemory As Long, CustomColors(15) as Long Dim cc As CHOOSECOLOR HandleToMemory = GlobalAlloc(GMEM_MOVEABLE Or GMEM_ZEROINIT, 64) PointerToMemory = GlobalLock(HandleToMemory) ' 16 элементов по 4 байта CopyMemory ByVal PointerToMemory, CustomColors(0), 64 cc.lpCustColors = PointerToMemory На VB же это решается гораздо проще: cc.lpCustColors = VarPtr(CustomColors(0)) наверх Доска объявлений Ищу телеработу.
наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Авторы: Шатрыкин Иван и Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Олег Ответ ожидается по этому адресу По мере изучения VB столкнулся с двумя проблемами: 1) Нужно из формы запустить посторонний exe-шник с ключами, например winrar.exe 2) Часто встречал, что в VB-шных прогах для вывода отчетов использовался Word. Заранее созданный шаблон имел *.doc формат. Причем для заполнения данными в нужные ячейки таблицы помещали так называемые маркеры. Например: Поставщик: %001 Покупатель: %002 и т.п. Вот и я бы хотел реализовать нечто подобное в своих прогах. Автор вопроса: Maxim Ответ ожидается по этому адресу Почему поле отправки почты по средствам VB в WinXP на почтовый ящик приходит всякая тарабарщина, в качестве исходника испольяовал MailSender. Автор вопроса: Anatol Ответ ожидается по этому адресу При работе в Internet по модему система стала виснуть,если яакрываю страницу крестиком в правом верхнем углу страницы. Кто-нибудь янает, в чем дело? Автор вопроса: Сергей Гаан Ответ ожидается по этому адресу У меня тут такая проблема - не работает SQL-запрос с предикатом LIKE. Вот код: Set db = New ADODB.Connection db.ConnectionString = "Driver=Microsoft Access Driver (*.mdb);DBQ=" & App.Path & "\MP3Base.mdb" db.Open Set DynSet = New ADODB.Recordset DynSet.ActiveConnection = db SQL = "SELECT * FROM Таблица1 WHERE Путь LIKE '*чего-то там*'" DynSet.Open SQL Все проходит без ошибок, но записи в рекордсет не возвращаются, хотя я точно знаю, что в базе они есть. Причем если указать не шаблон, а конкретное слово, то все нормально. Подскажите, пожалуйста, в чем проблема. Автор вопроса: clayman Ответ ожидается по этому адресу Подскажите пожалуйста такую вещь - есть процедура, которая выделяет цветом определённый диапазон ячеек в MSFlexGrid, но при щелчке по любой из ячеек выделение цветом теряется. Как зафиксировать цвет выделеных ячеек? Процедура ниже... Sub SelLineGrid() Dim ir As Integer, istr As Integer 'номер строки ir = 1 Do Until ir = 6 If flxDivizion.TextMatrix(ir, 1) = txtTeam Then istr = ir ir = ir + 1 Loop flxDivizion.row = istr flxDivizion.Col = 0 flxDivizion.RowSel = istr flxDivizion.ColSel = 7 flxDivizion.BackColorSel = RGB(150, 150, 250) End Sub Ответы: Вопрос: Нужен контрол или код для такой операции (она сплошь и рядом в броузерах и крупных приложениях): есть два обьекта, разделенные вертикальной линией (например, TreeView и Listbox). Если взятся за эту линию, то можно, пропорционально изменить длину окна каждого элемента. Ответ: Автор ответа: Alexander Пример как-то довольно давно был на http://www.codeguru.com/vb/articles/1634_codedb.zip Выдержка сопроводиловки: ---------------- С разрешения Chris Eastwood (mailto:chris@eastwood60.freeserve.co.uk), автора программы VBCodeLibrary, её свободно распространяемая версия вместе с исходным кодом размещена на нашем сайте. Приглашаю на новую страницу проекта CodeLibrary. Если Вы усовершенствуете эту программу - присылайте ваши варианты исходников, они будут опубликованы. Сама база пополнена новыми исходными кодами (количество записей 188). --------------- Сейчас это сайт http://vbrussian.com Вопрос: Как сделать так, чтобы форма при активации (по таймеру), "вставала" поверх всех окон? Ответ: Автор ответа: Alexander Напиши: Form1.ZOrder Вопрос: Есть программа, в ней в качстве фона формы используются картинки в формате JPG, которые загружаються из указаной папки, при этом нужно эту папочку с картинками поставлять с программой, можно ли какм то образом эти картинки вшить в екзешник, чтобы избавиться от этого неудобства? Ответ: Автор ответа: Alexander Для этого в проекте используется VB Resource Editor (Add-Ins). Меню - "Open a Custom Resource", например. Вопрос: Почему когда пишу из массива в файл по For...Next все ок, но тормоза страшные (сами проверьте на файлике метра в три), а Put #1,,TMP -- моментально, но в конец файла дописывается лишний символ с кодом ноль. Функция Left работать отказалась на отрез... Что делать? P.S. То что можно просто скопировать файл test в test.in... Просто код упрощен для понимания, а так данные по идее будут преобразовываться. Заранее благодарен за ответ. Option Explicit Dim Str() As Byte Dim X As Long Dim Y As Long Dim TMP() As Byte Dim M Private Sub Form_Load() Me.Show Me.Refresh DoEvents Open "c:\test" For Binary As #1 X = FileLen("c:\test") ReDim Str(X) ReDim TMP(X) Get #1, , Str Close For Y = 0 To X - 1 Step 0 TMP(Y) = Str(Y) Y = Y + 1 Next Y Open "c:\test.in" For Binary As #1 'Так все ок, но тормозза... For Y = 0 To X - 1 Step 0 Put #1, , TMP(Y) Y = Y + 1 Next Y Close 'Так быстро, но в конец файла дописывается лишний символ 'с кодом 0 Put #1, , TMP MsgBox "OK", , "" End End Sub Ответ: Автор ответа: Alexander Всё правильно! Для быстрой записи нельзя ожидать скорости, когда читаешь или пишешь по 1 байту. Организуй буфер предварительного накопления, а потом - раз, и в дамки! Вопрос: Как в Access 97 создать представление из VB6? Ответ: Автор ответа: Alexander Нпример, так: > strShape = _ > SHAPE APPEND New adVarWChar(8) As STAFF_CODE, > New adVarWChar(20) As STAFF_NAME, > ((SHAPE APPEND New adVarWChar(8) As SALESMAN_CODE, > New adVarWChar(10) As MEMBER_CODE, > New adVarWChar(40) As MEMBER_NAME, > New adVarWChar(11) As INVOICE_NO, > New adDate as TRANS_DATE, > ((SHAPE APPEND New adDate as TRANS_DATE, > New adCurrency As SALESMAN_COMM_VOL, > New adCurrency As SALESMAN_COMM_AMT, > New adCurrency As INVOICE_AMOUNT) AS Child2 > RELATE TRANS_DATE to TRANS_DATE)) AS Child1 > RELATE STAFF_CODE to SALESMAN_CODE) > или так: Эта команда предоставляет два метода создания связи главный/подчиненный: Append и Compute. Для создания иерархических recordset-ов метод Append использует синтаксис SHAPE и RELATE. Этот метод, используя определенное преобразование колонок, позволяет получить связь главный-подчиненный между recordset-ами, созданными двумя разными командами. В следующем примере демонстрируется использование иерархических recordset-ов для реализации зависимого списка. В этом случае информация о книгах, написанных определенным автором, представляется как recordset с зависимостью главный/подчиненный между авторами и названиями. Public Function Load(ByVal AuthorId As String) As ADODB.Recordset Dim c As ADODB.Connection Dim rs As ADODB.Recordset Dim lsSQL As String 'создание команды shape lsSQL = "" lsSQL = lsSQL & "SHAPE " lsSQL = lsSQL & " {{ call authors_BrowseAll }} " lsSQL = lsSQL & " APPEND " lsSQL = lsSQL & " ({SELECT * FROM Titles t, TitleAuthor ta " lsSQL = lsSQL & " WHERE t.title_id = ta.title_id} " lsSQL = lsSQL & " AS titles " lsSQL = lsSQL & " RELATE au_id TO au_id)" Set c = New ADODB.Connection c.Provider = "MSDataShape"c.Open"DataProvider=MSDASQL;DSN=pubs;uid=sa;pwd=;database=pubs" Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open lsSQL, c Set Load = rs End Function 'Windows DNA (Distributed interNet Applications) и т.д. 'Источник: Создание middleware-компонентов доступа к данным () Есть и другие средства внутри VB. Для начала можно пощупать DE (Data Environment) из разряда визуальных дизайнеров. Очень удобна, но только для экспериментирования. Вопрос: Программа подставляет значения в формулу. Исходные данные и результаты расчёта должны быть выведены в виде таблицы: Васик открывает мой "Блокнотик" (в него больше влезает :-) - шлёт в него всё, что надо вывести в таблицу, попутно вставляя HTML тэги - сохраняет в *.html - открывает этот *.html (в перспективе, пока только в ручную) и показывает мне, что у него получилось. Но я не могу столько ждать. Таблица очень большая и грузится долго, а пересчитывать приходиться по нескольку раз. Неужели он сразу не может представить отчёт в HTML без напрасного сохранения? И научите его, пожалуйста, как можно открыть HTML файл в Internet Exploreрe. В моей макулатуре почему-то ПРО ЭТО ни слова не сказано. Даже в Интернете этой заветной строчки кода не нашёл. Ответ: Автор ответа: Капитан Вася Без сохранения не знаю как(вроде нельзя). Открыть файл в инет экслорере(прямо на форме): 1) Добавь контрол Microsoft Internet Controls(WebBrowser). 2) поставь его на форму. Используй это так: имяWebBrowser.Navigate ссылка Вопрос: Как с помощью нашего любимого VB сделать скриншот и записать его в jpg? Ответ: Автор ответа: Alexander Кстати, очень часто png-формат оказывается гораздо более предпочтительным, чем jpg, особенно если мы делаем фото окна без картинок. А пример фото можно найти на многих сайтах. Кажется, попадался на vbrussian.com. Вопрос: Как поместить на элемент управления (Button, PictureBox, Image) 32-битную иконку? Ответ: Автор ответа: Магалясов Виталий Как поместить на элемент управления (Button, PictureBox, Image) 32-битную иконку? Вопрос: Видел я тут в Дельфях контрол StringGrid. Имеет ли VB нечто похожее. Если да, то какой компонент надо подключить, а если нет, то как можно яаписывать данные в DataGrid в нужный столбец и строку и при этом не свяяываться с БД? Ответ: Автор ответа: Alexander Во-первых, связываться с БД вовсе не обязательно! ADO обеспечивает доступ, фактически, к чему годно. Во вторых, если рассматривать MsFlexGrid, то там принцип "делай со мной что хочешь". Вопрос: А есть в VB 6.0 какой-нибудь контрол, чтобы при передачи в него данных из TextBox он их отображал в HTML? Ответ: Автор ответа: Sergey Y. Tkachev Microsoft WebBrowser Control Вопрос: Как в текстовое окно вставить картинку, точнее как сделать как в чате смайлики между текстом? Ответ: Автор ответа: Андрей Попробуй Bitblt рисовать прмя в текстбокс Ответ: Автор ответа: Капитан Вася Используй контрол RichTextBox. Ответ: Автор ответа: VMJ Очень просто - используй не TextBox, а RichTextBox - в него можно вставлять картинки... Вопрос: Как нажать "Alt" + "TAB" програмно при помощи VB 6.0. Ответ: Автор ответа: Alexander Используй SendKeys string[, wait] В твоём случае это SendMess ("%{TAB}") Вопрос: Как можно иябавится от такого глюка: если на child-форме есть меню, даже невидимое, то при открытии этой формы в MDIForm происходит замена исходного меню на меню child-формы. Ответ: Автор ответа: Alexander Это не глюк! Любое меню (в MDI, не MDI) в свою очередь может быть генератором событий. Т.е. вы, создавая меню в Child-форме там тоже создаёте возможность генерации событий. Если же вы хотите "сделать меня красиво", то профессионалами предлагается следующий способ: Совет 295. Используйте ключевое слово WithEvents для связи форм MDI и MDIChild Здесь приводится изящный способ передачи событий, таких как щелчки на панели инструментов или выделение команд меню, из родительской MDI-формы в активную дочернюю MDIChild-форму в многодокументном приложении. Предположим, что MDI-форма содержит элемент управления Toolbar с именем tbrMain, для которого введите следующий код: Event ButtonClick(strKey As String) Private Sub tbrMain_ButtonClick(ByVal _ Button As MSComctlLib.Button) RaiseEvent ButtonClick(Button.Key) End Sub Затем напишите такой код для каждой MDIChild-формы, которая должна получить событие ButtonClick: Private WithEvents m_mdiParent As mdiParent Private Sub tbrMain_ButtonClick(ByVal _ Button As MSComctlLib.Button) RaiseEvent ButtonClick(Button.Key) End Sub Private Sub Form_Acitivate() Set m_mdiParent = mdiParent End Sub Private Sub Form_Deactivate() Set m_mdiParent = Nothing End Sub Private Sub m_mdiParent_ButtonClick (strKey As String) ' Пример кода, в котором значения ' Button.Key соответствуют кнопкам ' New, Change, Delete и Save Select Case strKey Case "New" PerformNewAction Case "Change" PerformChangeAction Case "Delete" PerformDeleteAction Case "Save" PerformSaveAction End Select End Sub Использование этой подпрограммы аналогично объявлению элемента управления с именем m_mdiParent, у которого есть событие ButtonClick. Используйте события Activate и Deactivate, чтобы форма MDIChild являлась единственной, которая бы получала событие ButtonClick. Ответ: Автор ответа: VMJ Это не глюк, а нормальное поведение. Кстати это относится ик Toolbox-ам. В Вашем случае я обычно содаю меню только на MDI форме, а события в дочерних формах запускаю отсылкой к функциям или подпрограммам на этих формах, открытых для общего доступа. Вопрос: В паскале есть тип данных Real который занимает 6 байт памяти, каким образом в VB6 (именно на VB , а не Delphi) можно сделать так, чтобы сохранять числовые данные в файл и они занимали по 6 байт (соответствували Real). Ответ: Автор ответа: Alexander В отличие от Паскаля, в VB есть всё :-) Если Вы хотите иметь данные, например, длиной, 3,2 байта, то это у нас есть. Назывется оно Type-statement. И пишите его в файл. Хотя, явно это не лучший способ, имея такую мощнейшую систему, как VB с ADO :-) Ответ: Автор ответа: P@Ssword Насколько я знаю, в Пасцале Real обрабатывается процессором, а не мат. сопроцессором, и только потому, что Real сопроцессором не поддерживается из-за своей нестандартной длины. А в Басике практически все типы имеют стандартную длину (1,2,4,8 бит). Так что если надо прочитать из файла значения, записанные из Дэльфы, то надо узнать формат хранения Real, прочитать побайтно и считать. А если за пределы Басика не выходить, то можно разделять число, например, на Long и Integer, и записывать в два хода. Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||||||||||||||||||||||||
Выпуск подготовили: |
Сурменок Павел |