VBNet
VBMania
Голосование: Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск. Ничего нового не происходит. С нетерпением жду каникул :-((
Читайте! Содержание выпуска
Citycat by Email Программа Citycat by Email позволяет работать с сервером Subscribe.ru с помощью электронной почты. Теперь Вам не нужно тратить деньги на работу в online и просматривать мегабайты рекламы для того, чтобы подписаться на нужную рассылку! Вам просто необходимо скачать небольшую базу данных по всем рассылкам каталога с нашего сайта, после чего Вы сможете подписываться и отписываться от рассылок, заказывать архивы прошлых выпусков, выполнять поиск по каталогу рассылок и многое другое. Программу Citycat by Email можно бесплатно загрузить с сайта http://sapisoft.h1.ru. наверх Диск Представляем новый CD от проекта "Сообщество чайников"! На диске размещены вопросы и ответы на них по материалам системы «Эксперт» и эхоконференций СообЧа в количестве более 9000 шт. (вместе с тем, на сайте СообЧа расположено лишь до 2000). Рассматриваются более 100 тем компьютерной деятельности. Вот приблизительные количества вопросов по самым распространенным темам:
Диск представляет собой минидиск с внешним диаметром 80 мм. Такой диск читается любым CD-приводом, для этого на выдвижном лотке привода имеется углубление. Стоимость диска (сключая почтовые расходы) - 90 рублей. Диск распространяется по почте наложенным платежом. Оплата в почтовом отделении при получении. Заказть диск можно здесь: http://www.vbnet.ru/vbshop/cart.asp?add=6. наверх Новости сайта VBNet Последние 20 тем форума на VBNet.Ru: 08:00 / 6 окт. столбцы RichTextBox. | Хитов: 4 | Ответов: 1 05:58 / 6 окт. Печать RichEdit | Хитов: 5 | Ответов: 1 01:09 / 6 окт. Вставка пустой строки в конец списка | Хитов: 8 | Ответов: 1 23:00 / 5 окт. _____ ВСЕ СЮДА ! ЭТО ВАЖНО! ______ | Хитов: 35 | Ответов: 3 20:42 / 5 окт. Распознавание речи ??? | Хитов: 9 | Ответов: 0 20:08 / 5 окт. ToolBar | Хитов: 12 | Ответов: 1 20:04 / 5 окт. Как избавиться от Msvbvm60.dll ? | Хитов: 26 | Ответов: 4 12:09 / 5 окт. multimedia | Хитов: 15 | Ответов: 1 16:40 / 4 окт. Диск | Хитов: 39 | Ответов: 1 14:43 / 4 окт. опять про воспроизведение модемом звука в тел. ... | Хитов: 25 | Ответов: 1 13:23 / 4 окт. VB.NET - Tool bar - ИМХО! | Хитов: 20 | Ответов: 1 12:53 / 4 окт. Помогите убрать все меню в Excel. | Хитов: 8 | Ответов: 0 12:27 / 4 окт. OLERichTextBox, есть ли что-то такое для VB6? П... | Хитов: 24 | Ответов: 3 02:01 / 4 окт. Height statusbar'а | Хитов: 30 | Ответов: 5 01:52 / 4 окт. НАВОДНИК и ЕГО личико... | Хитов: 29 | Ответов: 1 23:44 / 3 окт. Ребята помогите! | Хитов: 62 | Ответов: 3 17:49 / 3 окт. Как прогу поставить в автозагрузку! | Хитов: 43 | Ответов: 3 15:25 / 3 окт. На картинке написать текст и напечатать | Хитов: 17 | Ответов: 0 14:47 / 3 окт. Запаковать .ocx и .dll в .exe | Хитов: 30 | Ответов: 5 14:26 / 3 окт. Как в .exe зашить все необходимые .ocx, .dll | Хитов: 48 | Ответов: 8 Последние поступления в Библиотеку кодов: Создание огня на форме (15) Размытие картинки (66) Сдвиг на n-ное число бит (68) Пример работы с текстовой БД (139) наверх Новости сайта MSDN наверх Новости сайта GotdotNet Новые статьи:
наверх Новости сайта dotSite Новые статьи: Новые примеры: наверх Один момент из жизни форума: Ошибка в методе Update объекта SqlDataAdapter Вопрос: Автор вопроса: Alex3 Кто скажет почему не работает данный код? Dim daSourceType As New SqlDataAdapter Dim strSQL As String strSQL = "Update SourceType Set SourceTypeName=? Where IDSourceType=?" Dim cmdUpdateSourceType As New SqlCommand(strSQL, conn) Dim pc As SqlParameterCollection = cmdUpdateSourceType.Parameters pc.Add("SourceTypeName", SqlDbType.VarChar, 50, "SourceTypeName") pc.Add("IDSourceType", SqlDbType.Int, 0, "IDSourceType") daSourceType.UpdateCommand = cmdUpdateSourceType daSourceType.Update(dsSource.Tables("SourceType").Select("", "", DataViewRowState.ModifiedCurrent)) Валится на последней строке, говорит - "Системная ошибка". conn объявлен на уровне класса формы: Dim conn As New SqlConnection(ConnString) dsSource существует и заполнен. Извращался по всякому, ничего не помогает, чувствую, дело в ерунде какой-то. Ответы: Автор: boevik Попробуй отловить ошибку (try...Catch...). И посмотри, что в коллекции Errors этой ошибке (там должно быть подробное описание ошибки). И, раз у тебя не OleDB, а SQL, то возможно вместо вопросов в запросе нужно поставить названия со знаком "@" типа: Update SourceType Set SourceTypeName=@SourceTypeName Where IDSourceType=@IDSourceType И, соответственно, в коллекции параметров такие же имена: pc.Add("@SourceTypeName", ... наверх Доска объявлений Ищу телеработу.
наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Нет вопросов. Ответы: Вопрос: Некоторые АПИ требуют чтобы им передали хэндл события. А как это сделать методами VB? Если я объявил событие, как извлечь его логический номер (хэндл)? Ответ: Автор ответа: ViTal Используй: AddressOf ИмяСобытия Вопрос: Как програмно свернуть окно? Ответ: Автор ответа: biv Me.WindowState = vbMinimized Ответ: Автор ответа: Артем Кривокрисенко Для твоего окна из проекта frmMain.WindowState=2 Для любого окна (по hwnd) нужна АПИ: lngTemp=ShowWindow(hwnd,SW_MINIMIZE) Ответ: Автор ответа: Vlasenko Fedor Как програмно свернуть окно? Используй API, в модуле: Public Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Public Const SW_SHOWMINIMIZED = 2 В модуле формы: Private Sub Form_Load() ShowWindow Me.hwnd, SW_SHOWMINIMIZED End Sub Ответ: Автор ответа: Vir Form1.WindowState = 1 Вопрос: Есть форма. На ней ComboBox (поле со списком). Как при нажатии кнопки списка вывести в этом списке календарь, как в Windows 98 при поиске файлов на вкладке "Дата" между такой и такой? Если можно примерчик или ссылку. Ответ: Автор ответа: Артем Кривокрисенко А как насчет подключить к проекту Windows Commaon Controls - 2 6.0 (SP4)? Там есть контролы Month View DTPitker Они тебе понравятся:))) Ответ: Автор ответа: Vir Компонент MS Windows Common Controls-2 6.0. Вопрос: У меня два вопроса, касающиеся MS Access: 1. можно ли в форме средствами VB создавать контролы (например текстбоксы). При этом следует отметить, чтобы форма находилась в режиме просмотра, а не в режиме проектирования. Т.е. хотелось бы поиметь динамически создаваемые контролы для формы в MDE (т.к. там форму нельзя открыть в режиме проектирования). 2. В базе есть одна форма. Каким образом можно на экране открыть несколько раз эту форму. Думаю, что нужно создать класс формы. Пробовал, но ничего не получется. Ответ: Автор ответа: biv 1 Я бы в конструкторе сделал несколько невидимых полей и по надобности показывал бы их, меняя размер, координаты и т.п. 2 Думаю, что нельзя, если речь идет не о копии формы. Ответ: Автор ответа: Максим Динамически создать контрол нельзя... Можно только копию существующего. Создай пикчер, индекс поставь 0. Пиши код: Load Picture1(1) With picture1(1) .visible=true .move 100,100 end with А еще одну форму создать, объявив ее новый класс: Dim f as new form1 f.show Примечание редактора: не согласен, создать контрол динамически можно, причём не одним способом! Ответ: Автор ответа: Vlasenko Fedor 1. Дружище, на самом деле существует достаточно много решений этого вопроса. От созданий новых класов, экземпляров их, до копирования свойств объектов и т.д. 2. Private Sub CommandButton1_Click() Dim NewForm As New MyForm NewForm.Visible = True End Sub Вопрос: В PictureBox нарисовал несколько линий методом Line. Как мне сохранить изображение (с линиями) в .bmp файл? Ответ: Автор ответа: Артем Кривокрисенко Что-то вроде SavePicture Picture1.Image, "C:\1.bmp" Ответ: Автор ответа: Максим Savepicture picture1.image ,Path Ответ: Автор ответа: Липин Владимир Борисович SavePicture Image, Name_Picture На забудь поставить для PictureBox AutoRedraw=True Вопрос: Как через VB и API управлять перемещать указатель мыши и генерировать нажатия клавиш/прокрутку колес? Ответ: Автор ответа: Артем Кривокрисенко Установка/получение позиции курсора: SetCursorPos/GetCursorPos Генерирование события мыши: mouse_event Вопрос: У меня возникла огромная проблема, надеюсь лучшие умы рассылки помогут мне, а то хана. Бацаю программу для работы с расписанием(проходит процесс тестирования) Когда создавал не обратил внимания на проблему, что user-type не может быть больше 32 кб Type Raspisanie Название_предмета(62) As String * 53 Практика_Лекция(62) As String * 8 Имя_преподавателей(62) As String * 50 Дата(6) As String * 2 Время1(8) As String * 2 Время2(8) As String * 2 Время3(8) As String * 2 Время4(8) As String * 2 Время5(8) As String * 2 Время6(8) As String * 2 Время7(8) As String * 2 Время8(8) As String * 2 Неделя As String * 10 Месяц As String * 10 End Type Я его конечно подогнал под 32 кб, но хочется что-бы Название_предмета и Имя_преподавателей были бы по больше. Прикинул типа разбить на несколько типов Type Raspisanie_a Практика_Лекция(62) As String * 8 Дата(6) As String * 2 Время1(8) As String * 2 Время2(8) As String * 2 Время3(8) As String * 2 Время4(8) As String * 2 Время5(8) As String * 2 Время6(8) As String * 2 Время7(8) As String * 2 Время8(8) As String * 2 Неделя As String * 10 Месяц As String * 10 End Type Type Raspisanie_b Имя_преподавателей(62) As String * 150 End Type Type Raspisanie_c Название_предмета(62) As String * 150 End Type И тут поперли проблемы Если объявлять в одной процедуре несколько переменных каждого типа пишет что суммарный размер всех переменных не должен превышать 64 кб если они static, или если dim то слишком много Dim'ов. Помогите как мне перебачить и код сильно не ломать. Ответ: Автор ответа: Максим Для таких вещей нужно классы писать, а не user-type. Ответ: Автор ответа: Matrix А если попробовать объявить и static и dim в одной процедуре. Вопрос: Можно ли выдернуть из файла иконку и использовать её в программе? Ответ: Автор ответа: Vlasenko Fedor Просьба уточнить, какие именно иконки нужно вытянуть из файла (ассоциированные с расширением (маленькие или большие), или иконки ресурсов файла). Ответ: Автор ответа: Vir Public Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long Вопрос: При работе с базой данных появляется сообщение "Run-time error '7' Out of memory" Как можно перехватить это сообщение или же как очищать эту самую память программно? Ответ: Автор ответа: Артем Кривокрисенко "Память нужно не очищать, а не засорять" (с) Это похоже на повисший рекруссивный алгоритм типа такого: Public Sub Main() BadProcedure end sub public Sub BadProcedure() BadProcedure End Sub При запускеиз под VB прога выдаст ошибку, тк переполнит стек. А вот при запуске готового exe в определенный момент займет _все_ рессурсы системы. Эти ошибки не нужно отлавливать - их нужно полностью исключить, перепроектировав приложение. Ответ: Автор ответа: Chernov Dmitry Во-первых, корректно закрывай все объекты работы с базой данных. Т.е., допустим работаешь с объектом Recordset dim rs as Recordset Set rs = OpenRecordset(...) ... ' Здесь работаем с базой данных rs.Close Set rs = Noting При этом также следует помнить что последние две строки должны также выполняться при включенной обработке ошибок, т.е. структура подпрограмм и функций должна быть следующей Sub Subroutine(...) On Error Goto lblError ... ' Здесь происходит ошибка lblExit: rs.Close Set rs = Noting Exit Sub lblError: ... ' Здесь происходит обработка ошибок Resume lblExit End Sub И примерно так-же для остальных объектов. В противном случае от ошибок не избавишся... Ответ: Автор ответа: Bold Попробуй закрывать рекордсеты и ставить их в Nothing, т.е. Set RecordsetName = Nothing. Вопрос: Проблема такая: в чужую программу посылаются данные через SendKeys, сначала посылается SendKeys "{Enter}", чтобы открыть форму, в которую посылаются данные, сгенерированные в цикле, а затем посылеатся SendKeys "{Enter}", чтобы эти данные ввести. Затем в чужой проге появляется MsgBox, сообщающий, что данные введены, в нём и состоит вся проблема, т.к., если посылать на него тоже "{Enter}", то на восьмом прогоне цикла, происходит ошиба на строке, где фокус переходит на самое первое окно чужой проги, с которой нужно открыть форму для ввода данных, но почему то MsgBox с сообщение об успешном вводе остаётся, т.е. "{Enter}" на него почему то не был послан и весь цикл запарывается. Ответ: Автор ответа: Vir Используй задержку между посыланием SendKey. Если проблемма не в этом, то надо смотреть, на каком окне в нужный момент фокус. Вопрос: Как заставить компьютер влючаться и выключаться в заданное время? Безусловно такой вопрос задавался вам не раз но я не нашел код в вашей рассылке, хотя читаю ее довольно давно. Может быть я что и пропустил? Помогите пожалуйста. Ответ: Автор ответа: Владимир Кирко Для того, чтобы компьютер включался в заданное время, он должен иметь соответствующий BIOS, где и задаётся время включения (при этом его ещё от сети отключать не надо). А выключается компьютер в заданное время таким скриптом, например: dim OpSysSet, obj Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate," & _ "(Shutdown)}//./root/cimv2").ExecQuery _ ("SELECT * FROM Win32_OperatingSystem" & _ " WHERE Primary=true") For Each obj In OpSysSet obj.Win32Shutdown(8) Next Его надо оформить в виде файла с расширением vbs,например файла poweroff.vbs, и вызывать в Sheduler'е в нужное Вам время. Кроме того, в XP, думаю, что и в 2000-ом, есть программа shutdown.exe, которая выполняет ту же задачу. Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
Выпуск подготовили: |
Сурменок Павел |