VBNet
VBMania
Голосование: Голосования сайта VBNet.Ru. Результаты голосований передаются на сайт. Проследите, что есть соединение с интернетом. Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск. Ничего нового в рассылке и на сайте не происходит...
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх VBNet CD 12 2002 VBNet.RU представляет новый компакт диск "VBNet CD 12 2002". Диск был существенно переработан. Было добавлено 64 элемента:
Хочу отметить большое обновление в разделе Компоненты - все добавленные компоненты распространяются по лицензии freeware! В разделе Справочники добавлено 5 справочников от Русского проекта (по функция и сообщениям API, MS Agent, FSO и функциям Windows). Также был добавлен новый раздел - MS Agent. Он содержит 28 персонажей для MS Agent, редактор персонажей, а также всё необходимое для того, чтобы MS Agent заговорил по-русски (Speech API, движок синтеза русской речи, русификатор интерфейса MS Agent и др.). Диск содержит:
Полное содержание диска Вы можете скачать здесь. Диск распространяется по почте наложенным платежом. Цена: 60 рублей + 35 рублей (за почтовые расходы) = 95 рублей. Заказать диск можно в разделе Магазин нашего сайта, либо заполнив расположенную ниже форму: Стоимость: 95 рублей наверх Элемент управления Timer Элемент управления Timer (таймер) используется для выполнения действия через определенный промежуток времени. Основное свойство элемента - Interval - задает интервал времени, определяющий, как часто таймер должен уведомлять приложение. Свойство Interval задается в миллисекундах (1000 миллисекунд = 1 секунде). Хочется отметить, что максимально возможное значение данного свойства равно 65 секундам. Единственное событие таймера - Timer. Для того, чтобы как работает это событие, создайте новый проект, поместите на форму элемент Timer. Установите значение Interval равным 1000 (1 секунда). В событие Timer1_Timer вставьте следующий код: Form1.Caption = Time Запустите проект. Вы можете наблюдать, как через промежуток времени, равный 1 секунде меняется заголовок формы на текущее время вашего компьютера. Но если вы поставите значение Interval таймера равным 2000 или 10000, то заголовок формы будет меняться через 2 или 10 секунд. Далее показаны несколько примеров использования таймера. Реализация функции «ожидания» в VB Этот пример покажет, как можно реализовать функцию ожидания в VB. Вначале поместите на форму таймер (Timer1) и установите его свойство Enabled = False. Для тестирования процедуры добавьте две метки (Label1 и Label2) и командную кнопку (Command1) к форме. Напишите следующую подпрограмму и код события Timer для таймера: Public Sub Wait(seconds) Теперь можете использовать функцию Wait везде, где требуется какая-либо задержка, например: Private Sub Command1_Click() К примеру, необходимо чтобы каждые две минуты происходило какое-либо событие Недостатком данного метода является добавление в вашу программу дополнительных переменных. К тому же данная программа испытывалась в режиме тестирования, когда нагрузки на компьютер не было. И непонятно, как поведет себя эта программа в реальном режиме работы. Dim n As Long, s As Long Word: Получение статистики открытого файла Данный пример покажет, как можно получить данные из свойств файла (как если бы вы выбрали через через меню Файл | Свойства. Sub Макрос1() Dim a As String On Error Resume Next Dim dp As DocumentProperty For Each dp In ActiveDocument.BuiltInDocumentProperties a = dp.Name & "__" & dp.Value Selection.TypeText text:=a Selection.TypeParagraph Next dp End Sub И если вам, к примеру, нужно получить количество страниц в файле вам нужно поступить вот так. Sub Макрос1() Dim a As String On Error Resume Next Dim dp As DocumentProperty MsgBox ActiveDocument.BuiltInDocumentProperties("Number of pages") End Sub В заключение привожу список возможных значений встроенных свойств в файле Title Subject Author Keywords Comments Template Last author Revision number Application name Last print date Creation date Last save time Total editing time Number of pages Number of words Number of characters Security Category Format Manager Company Number of bytes Number of lines Number of paragraphs Number of slides Number of notes Number of hidden Slides Number of multimedia clips Hyperlink base Number of characters (with spaces) наверх Динамическое добавление в ImageList картинок Синтаксис: ImageList1.ListImages.Add([Index],[Key],[Picture]), где [Index] - номер по списку расположения [Key] - назначение данному элементу свойство Key [Picture] - полный путь к необходимой картинке On Error Resume Next Dim img As ListImage Set img = ImageList1.ListImages.Add(1, "SpellCheck", LoadPicture("D:\t\2\SPELL.BMP")) Set img = ImageList1.ListImages.Add(2, "Open", LoadPicture("D:\t\2\OPEN.BMP")) Set img = ImageList1.ListImages.Add(3, "About", LoadPicture("D:\t\2\W95MBX04.ICO")) наверх Описание элемента Slider Расположите на форме элемент CommandButton а также элемент Label Элемент Slider устанавливает значение некоторой величины, перемещая бегунок между минимальным и максимальным значением. Пользоваться данным элементом очень просто. Вы устанавливаете минимальное/максимальное значение, а также устанавливаете значения свойств элемента SmallChange (минимальное приращение значения) и LargeChange (большое приращение значения). Пример: создайте новый проект, разместите на нем элемент Slider и 2 элемента Label. Вставьте следующий код: Private Sub Form_Load() Перемещая ползунок с помощью мыши, вы
перемещаетесь ровно по одному делению. Кликая
мышкой слева/справа от ползунка, вы
перемещаетесь на столько делений, сколько
указано свойством LargeChange. В нашем случае это 6.
Если вы нажмете на клавиатуре на кнопки
перемещения курсора (4 серых кнопочки со
стрелками), то можете наблюдать перемещение
ползунка элемента Slider на количество позиций,
заданных свойством SmallChange, т.е. на 3 позиции. Как определить, какая из панелей кликнута Private Sub sbStatusBar_PanelClick(ByVal Panel As MSComctlLib.Panel) Select Case Panel.Index Case 1 Case 2 MsgBox "ЗДЕСЬ БУДЕТ КАЛЕНДАРИК", vbInformation Case Else End Select наверх Динамическое добавление панелей Dim mypanel As Panel Set mypanel = StatusBar1.Panels.Add() 'добавление панели mypanel.AutoSize = sbrSpring 'установка свойства АвтоРазмер mypanel.MinWidth = 1 'установка минимальной ширины Set mypanel = StatusBar1.Panels.Add(, , , sbrCaps) 'добавление панели, установка свойства включенной клавиши Caps Set mypanel = StatusBar1.Panels.Add(, , , sbrNum) 'добавление панели, установка свойства включенной клавиши Num mypanel.Bevel = sbrInset mypanel.Alignment = sbrRight 'установка выравнивания текста в панели StatusBar1.Panels(1).Text = "Status:" 'присвоение первой панели заголовка StatusBar1.Panels(2).Text = "" 'присвоение второй панели заголовка StatusBar1.Panels(1).AutoSize = sbrContents наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автора: Шатрыкин Иван и Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: alek Ответ ожидается по этому адресу 1.Как сделать так,чтобы при очередном клике по label для ввода символов в text, курсор распологался справа от введенго символа? Я пишу так: Private Sub Label1_Click() Dim strExp As String strExp = Left(Text1.Text, Text1.SelStart) strExp = strExp & " " & Label1 & "" strExp = strExp & Mid(Text1.Text, Text1.SelStart + 1) Text1 = strExp End Sub 2.Что значит 6 ошибка-Overflow(переполнение) Автор вопроса: Бессонова Ксения Ответ ожидается по этому адресу Подскажите, пожалуйста, как в Visual Basic сделать гладкий график без углов. Очень надо. И еще не подскажете как на гафике раскрасить области разными цветами (естественно в зависимости от значений). Автор вопроса: I-Sof Ответ ожидается по этому адресу Кто знает как програмно добавить запись в реестр? Путь: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] Мне нужно чтобы прога была в автозагрузке... Но нинаю как это зделать програмно. ПОМОГИТЕ........ Автор вопроса: Shade Ответ ожидается по этому адресу Народ помогайте! Зделал OCX (версии X), откомпелировал его, добавил в свою прогу - все отлично, все работает... Но вот понадобилось изменить код OCX'а... когда я его откомпелировал заново (версия X+1) то программа перестала работать, пишет что версия кодного из компонентов не подходит, даже несмотся на то, что я в свойствах этого "компонента" я пробовал ставить и Project Compatibility и даже Binary Compatibility. Автор вопроса: Вадим Ответ ожидается по этому адресу Подскажите - есть таблицы в HTML формате и их нужно "перевести" в xls формат. Проблема в том, что в ячейках HTML находятся десятичные числа (например 1.52) в одних ячейках и текст в других ячейках. Когда копируешь в ексель, то ексель числа воспринимает (формат ячейки - все форматы) как январь.52. Мне же нужно для обработки, чтобы текст в таблице оставался текстом, а числа 1.52 в 1,52 а не 1.52. Как это возможно решить с помощью макросов VBA. Автор вопроса: DeDMoRoZ Ответ ожидается по этому адресу Вот решил написать прогу для CD-ROM'а. И хотел бы задать несколько вопросов. Как на VB в файл с произвольным доступом сохранить картинку ? Как определить серииный номер CD диска ? Как определить какой из дисков CD-ROM ? Например в систем диски A, B, C, D, E как определить на какой из них CD-ROM. Как в exe файл дописать какоу нибудь инфу и чтобы после этого он нормально запускался ? Как из exe прочитать эту самую инфу ? И последнее как работать с ресурсами ? Конкретно как сохранить в файл ресурса картинку (jpg) (если можно)? И как её отудова потом достать ? Ответы: Вопрос: В VB функция RND дает нормальное распределение. Каким образом можно перейти к другим видам распределения. И как по массиву точек можно определить распределение. Очень нужно. Ответ: Автор ответа: Марк Для работы с распределениями случайных величин VB не очень подходит. RND вообще-то дает равномерное распределение на отрезке(0,1). Есть формулы для пересчета его в другие распределения. А обратную задачу - по значениям найти распределение - решать намного труднее. Мой совет: воспользоваться специальной программой, в которой все это уже есть. Я, например, пользуюсь программой Statistica 5. Еще есть Statgraphics, SPSS и др. Даже в EXCEL есть специальный раздел по статистике. Я, правда, им не пользовался, но в книгах видел описание использования.. Вопрос: Пишу эти строки и при копировании файла получаю через раз отказ в копировании файла VB6+SP5 Windows XP (сегодня все работает, а вчера сидет 4 часа и не поборол) Data1.DatabaseName = App.Path & "\ObRabot.mdb" Data1.RecordSource = "ObRabot" Data1.Refresh 'Data1.Recordset.Close Data1.RecordSource = "" Data1.DatabaseName = "" Data1.Database.Close 'Data1.Refresh FileCopy App.Path & "\ObRabot.mdb", App.Path & "\ObRabot_.mdb Ответ: Автор ответа: Nechaev Sergey Поставь паузу перед последней строкой. Похоже база не успевает закрыться, а при открытом файле доступ запрещен. Подожди пока файл будет закрыт и ОС получить сообщение об открытии доступа. Потом копируй. Вопрос: Мне нужно преревернуть рисунок этот рисунок танк. Вот мне нужно его поворачивать при нажатии клавиш как мне его повернуть Ответ: Автор ответа: Марк Надо сделать четыре картинки. Точнее, надо взять исходную картинку и сделать с помощью какого-нибудь графического редактора ее копии, повернутые соответственно на 90, 180 и 270 градусов (у меня этим занимается Presto! Image Folio LT, который пришел вместе со сканером). Записать картинки в файлы на магнитный диск в файлы, например, "Down.bmp", "Up.bmp", "Left.bmp" и ''Right.bmp". На форме размещаем элемент управления PictMain типа Picturebox - он будет принимать размеры наших рисунков. Устанавливаем свойства формы: KeyPreview - True, в этом случае она будет перехватывать нажатия клавишей. У элемента PictMain устанавливаем свойство AutoSize - True. Пишем программный код: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyDown Then PictMain.Picture = LoadPicture(App.Path & "\Down.bmp") End If If KeyCode = vbKeyUp Then PictMain.Picture = LoadPicture(App.Path & "\Up.bmp") End If If KeyCode = vbKeyLeft Then PictMain.Picture = LoadPicture(App.Path & "\Left.bmp") End If If KeyCode = vbKeyRight Then PictMain.Picture = LoadPicture(App.Path & "\Right.bmp") End If End Sub Private Sub Form_Load() PictMain.Picture = LoadPicture(App.Path & "\Down.bmp") End Sub При загрузке формы грузится файл с исходной картинкой. При нажатии на кнопки Up, Down, Left, Right загружается соответствующая нажатой клавише картинка. Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||
Выпуск подготовили: |
Сурменок Павел |