VBNet
VBMania
Голосование: Голосования сайта VBNet.Ru. Результаты голосований передаются на сайт. Проследите, что есть соединение с интернетом. Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск.
Читайте! Содержание выпуска
Как изменять размер динамического массива, сохраняя данные? Вопрос: Необходимо размерность двумерного динамического массива увеличивать, при этом данные сохранять (типа Preserve) вот так пишу:
Dim bd() As Variant
Так что делать?
Ответ: Если ты используешь ключевое слово Preserve, то ты можешь изменить только последнюю размерность массива . Есть два пути решения. первый - вообще не изменять размер первого измерения. Второй - создать новый динамический массив и в него переписать данные из предыдущего массива. Артем Кривокрисенко Это можно делать только со строками таблицы. Есть массив, правильно сделанный. X(5,5) так вот 5,10 сделать можно, а 10,5 нельзя. Точнее можно, но гораздо более сложно. DmitryK1 наверх Как преобразовать 4 байта в Лонг? Вопрос: Достаю из файла 4 байта - переменную типа Long\DWord. Как преобразовать её в число Long? Ответ:
lngResult=byt1 + _ Артем Кривокрисенко Можно ещё LSET попробовать создаётся два типа.в одном 4 байта в другом 2 лонга, из них две переменных. а потом
Lset tip1=tip2 DmitryK1 наверх Как в NT-системе правильно скопировать текст? Вопрос: Как под NT системой правильно скопировать текст в буфер? Вот такая строчка "Clipboard.SetText lstStatus.Text" копирует лажу (не в той кодировке). Ответ: Можно программно менять раскладку:
Private Declare Function ActivateKeyboardLayout Lib "user32" _ Рязанов Андрей наверх Как определить позицию курсора в Windows? Вопрос: Как определить позицию курсора в Windows? Ответ: Позицию курсора можно определить с помощью API функции GetCursorPos Объявление: Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End Type Private g As Long' Любая переменная типа Long Private Position As POINTAPI ' Любая переменная типа POINTAPI Применение: Private Sub Form_Load() g = GetCursorPos(Position) MsgBox "Позиция по Х: " & Position.x MsgBox "Позиция по Y: " & Position.y End Sub Ivan наверх Как сумировать ячейки в таблице Excel, которые выделены красным цветом? Вопрос: Как сумировать ячейки в таблице Excel, которые выделены, к примеру, красным цветом? Ответ: Можно использовать такую схему: ' отобранные ячейки для суммирования Dim sumRange As Range ' отдельная проверямая ячейка Dim rCell As Range ' просматриваем диапазон ячеек For Each rCell In Range("A1:D5").Cells ' проверяем цвет шрифта в ячейке If rCell.Font.Color = RGB(255, 0, 0) Then ' если набор ячеек еще не инициализирован If sumRange Is Nothing Then ' инициализируем набор первой найденной ячейкой Set sumRange = rCell Else ' или добавляем очередную ячейку к уже найденным Set sumRange = Union(sumRange, rCell) End If End If Next rCell ' записываем результат, используя для суммирования ' встроенную функцию Excel'я Range("A7").Value = Application.Sum(sumRange) Kirill наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Игорь Ответ ожидается по этому адресу Как с помощью модема соедениться с двумя машинами и передать файл (на VB6)? Автор вопроса: Den Ответ ожидается по этому адресу Вопрос по .Net. Мне надо вызвать процедуру обработки события "Panel1_paint" из другой процедуры. Но там какие-то два странных Аргумента: (ByVal sender As System.Object, ByVal _ e As _ System.Windows.Forms.PaintEventArgs)" Скажите, для чего они нужны и что в них надо передавать. Автор вопроса: Anakonda Ответ ожидается по этому адресу Как проигрывать звук циклически без всяких там контролов, только средствами Win API и VB? Автор вопроса: Антон Ответ ожидается по этому адресу Как на VB получить системную переменную? Мне конкретно нужна переменная, в которой хранится полный путь к временной дирректории (temp). Полагаю, нужно использьзовать WINAPI, но какую ф-ю не знаю. Может кто делал и поделится инфой, можно и примерчиком маленьким. Ответы: Вопрос: Скажите, пожалуйста, как заблокировать мышь и клавиатуру. Идея: тест производительности системы и нужно, чтобы пользователь не имел возможности клацать мышь и клавиатуру, чтобы не созадавать погрешности в расчетах. Ответ: Автор ответа: Sergey Хорошая WinXPI ф-ция - BlockInput. Блокирует/разблокирует мышь и клавиатуру. Вопрос: Существует кем-то написанная программа, работающая в фоновом режиме, хочу послать ее окну комбинацию клавиш: Shift+a, ctrl+a, alt+a (a – для примера). Знаю hwnd этого окно, пробовал при помощи sendmessage, но посылается только отдельная клавиша, а как комбинацию послать не знаю Ответ: Автор ответа: Sergey Попробуй следующие комбинации: "+(a)","^(a)","%(a)" Вопрос: На форме есть RichTextBox. Как узнать скорость ввода символов? Ответ: Автор ответа: Котофей Для этого поставь на форму еще обьекты Timer и Label и пиши: Dim z1 As Long '-время начала работы в секундах Dim z2 As Long '-время в данный момент (проверяется через время заданное в свойстве обьекта Timer1.interval) Dim z3 As Long '-разнось времени сейчас и начала работы Private Sub Form_Load() z1 = Timer End Sub Private Sub Timer1_Timer() z2 = Timer+1 ' - плюсовать один чтобы не было переполнения переменной z3 = z2 - z1 Label1.Caption = "скорость" & Len(RichTextBox1.Text) / z3 End Sub Функция Timer возвращает количество секунд прошедшее после полуночи. Если нужно что-нибудь усложнить или что-то непонятно пиши на ящик, помогу. Ответ: Автор ответа: Sergey А разве скорость ввода символов зависит от того, куда мы их вводим (если конечно не предусмотреть специальной обработки)? Попробуй WinAPI ф-ции SystemParametersInfo c параметрами SPI_GETKEYBOARDDELAY, SPI_GETKEYBOARDSPEED. Вопрос: Есть ли какая нибуть ф-ция для конвентирования файлов bmp в другие форматы? Ответ: Автор ответа: Vir Функций нет, есть только контролы, много в инете, например, на VBNET.RU. Вопрос: Как красивее написать следующее условие: Если NameVariable = 0 или NameVariable = 1 или NameVariable = 2 или NameVariable = 3 или NameVariable = 1000 ...и т.д. (Переменная одна, а значений, при которых это условие должно выполнятся, может быть ооооооочень много). Ответ: Автор ответа: Mind Engine Вот так! select case NameVariable case 0 ... case 1 ... case 2 ... case 3 ... case 1000 ... case else ... end select Ответ: Автор ответа: Vlasenko Fedor Красивее написать так: Select Case NameVariable Case 0 Msgbox 0 Case 1 Msgbox 1 '.................. Case 1000 Msgbox 1000 '.................. End Select Ответ: Автор ответа: Котофей Если значения переменной находятся в какой-то закономерности или это последовательность то можно например так: if (NameVariable>0 and NameVariable<1000) or (NameVariable>2000 and NameVariable<3000) or ... Ответ: Автор ответа: Vir 1. если последовательны то 0<=NameVariable <=1000 2. значения 0,1,2 хранятся в массиве a(1000) то a=array(1,2,3,4,...) for i=0 to 1000 if a(i)=NameVariable then ... exit for end if next Ответ: Автор ответа: Сан Саныч Для таких случаев существует конструкция Select Case: Select Case NameVariable Case 1 to 20, 55, 23, 64 to 80 'do something Case Else 'do else something End Select Вопрос: 1. Как различить нажатие левой и правой клавиши Ctrl ( Shift, Alt). В программе мне необходимо выполнить два разных действия при нажатии левой или правой клавиши? 2. Аналогично, как различить нажатие Enter и Enter дополнительной клавиатуры? Ответ: Автор ответа: Vir Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Private Sub Timer1_Timer() Text1.Text ="" For i = 1 To 255 If GetAsyncKeyState(i) Then Text1.Text =Text1.Text & " " & i End If Next End Sub Код показывает все нажатые клавиши. Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
Выпуск подготовили: |
Сурменок Павел |