Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Visual Basic: новости сайтов, советы, примеры кодов. Выпуск 269.


Информационный Канал Subscribe.Ru

Visual Basic: новости сайтов, советы, примеры кодов.
Выпуск 269.


VBNet VBMania
Ссылки:

  • Улицы VB
  • Использование VB
  • Азбука VB
  • VB на русском
  • Улицы VB
  • Кирпичики VB
  • CообЧа VB
  • MDesign
  • IgorykSoft
  • DanSoft
  • Хрестоматия VB
  • Господа!!! читайте MSDN!!!

    Несколько слов от автора:

       Здравствуйте...
    Читайте!


    Содержание выпуска




    Как в VB.NET динамически создавать текстбоксы?

    Вопрос:

    Есть панель Panel1, на ней два текстбокса. Как сделать так, чтобы при появлении текста во втором текстбоксе, снизу создавался третий. Не делался visible, а появлялся, создавался.

    Ответ:

    'Вверху там где объявления переменных уровня класса

    Friend WithEvents txtNumber As System.Windows.Forms.TextBox

    'В процедуре, в которой создаёшь текстбокс
    txtNumber=New System.Windows.Forms.TextBox
    txtNumber.Visible=true
    'Устанавливаем положение и размеры
    txtNumber.Left=...
    txtNumber.top=...
    txtnumber.width=...
    txtnumber.height=...

        Павел Сурменок

    Можно унаследовать предыдущий и делать все это с массивом.

    redim pres...
    txtNumber(index)=New txtNumber(index-1)
    txtNumber(index).top=txtNumber(index-1).top + сколько надо
    а чтоб появился надо добавить его в соответствующую коллекцию
    Controls
    и еще не забыть обработчик навесить, чтоб под ним тоже могло появляться.

        Алексей Вишневский

    наверх


    Как узнать размер кэш второго уровня [L2] процессора из VB в Windows XP?

    Вопрос:

    Как узнать размер кэш второго уровня [L2] процессора из VB в Windows XP?

    Ответ:

    Следующий пример выводит размер и скорость кеша L2 в Immediate (для всех процессоров в системе !). Если надо получить информацию о другой машине в сети - замените localhost на соответствующее имя.

    В Project:References надо предварительно выбрать "Microsoft WMI Scripting ... Library"

    Dim WMIService As SWbemServicesEx, Processors As SWbemObjectSet
    Dim Processor As SWbemObjectEx

    Set WMIService = GetObject("winmgmts:\\localhost\root\cimv2")
    Set Processors = WMIService.ExecQuery("Select * from Win32_Processor", ,48)
      
    For Each Processor In Processors
         With Processor
             Debug.Print String(20, "-")
             Debug.Print .Name & ", " & .CurrentClockSpeed & "MHz"
             Debug.Print "L2Cache: " & .L2CacheSize & "Kb L2Speed: " & _
             .L2CacheSpeed & "MHz"
         End With
    Next

    Но работать будет скорее всего только в XP/2K.

        Andrey Shchekin [darXeth]

    наверх


    Как в VBA выравнить текст по центру?

    Вопрос:

    Как в VBA выравнить текст по центру?

    Ответ:

    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

        Rustam F.Yusupov

    наверх


    Как в NT-системе правильно скопировать текст?

    Вопрос:

    Как под NT системой правильно скопировать текст в буфер? Вот такая строчка "Clipboard.SetText lstStatus.Text" копирует лажу (не в той кодировке).

    Ответ:

    Можно программно менять раскладку:

    Private Declare Function ActivateKeyboardLayout Lib "user32" _
         (ByVal HKL As Long, ByVal flags As Long) As Long

    Public Sub RussianKbd()
         ActivateKeyboardLayout 68748313, 0
    End Sub

    Public Sub EnglishKbd()
         ActivateKeyboardLayout 67699721, 0
    End Sub

        Рязанов Андрей

    наверх


    Как сделать, чтобы при нажатии функциональной клавиши открывалась новая форма?

    Вопрос:

    У меня есть основная форма. Как мне по нажатию какой-нибудь функциональной клавиши (например F3) запускалась другая форма?

    Ответ:

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
       If KeyCode = vbKeyF3 Then NewForm.Show
    End Sub

    Sergey Y. Tkachev



    Вопрос/Ответ

    Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы.

    Вопросы:


    Автор вопроса: Dew

    Ответ ожидается по этому адресу

       Как узнать, под каким именем и паролем открыта база Access?


    Автор вопроса: Dew

    Ответ ожидается по этому адресу

       В Access необходимо открыть отчет. Если в нем нет данных, то в поле count([поле]) выдается #Ошибка. Как узнать, что текстовое поле имеет это значение и скрыть его?


    Автор вопроса: Тимур

    Ответ ожидается по этому адресу

       Есть база даных Access, системная БД.
    Прав администратора нет. Но есть права Usera, т.е. логин и пароль. Можно ли поключиться к этой базе, и как это сделать?


    Автор вопроса: NESSAJA

    Ответ ожидается по этому адресу

       Решил сделать "апдейт" своему Visual Basic 6.0 (не плющит меня .NET).
    Какие есть дополнения и обновления к Visual Basic 6.0?
    Какой SP последний, существует ли Visual Assist под VB6, что нужно поставить, чтобы использовать Flash MX из VB6. Какие новые библиотеки было бы неплохо поставить.
    Вообще, какие инструменты упрощают жизнь VB программисту.?


    Автор вопроса: NESSAJA

    Ответ ожидается по этому адресу

       Как в VB6 создавать формы, стиля/дизайна Office XP (кнопки плоские, меню как закладки и т.д.)?


    Автор вопроса: Andrey

    Ответ ожидается по этому адресу

       Как у формы можно закруглить верхние углы, а нижние оставить прежними?


    Автор вопроса: tor

    Ответ ожидается по этому адресу

       Может ли winSock-ет отправлять глобальные сообщения в режиме UDP, и если да, то как?


    Автор вопроса: Jack

    Ответ ожидается по этому адресу

       Где можно скачать последний сервис пак?


    Автор вопроса: Евтерпа

    Ответ ожидается по этому адресу

       Где можно найти или скачать программу, чтоб создать и скомпилировать справочный фаил chm?




    Ответы:


    Вопрос:

       Подскажите функцию, обратную Hex().

    Ответ:

    Автор ответа: Владимир

    n = ??
    str = Hex(n)
    n = CInt("&H" + str)


    Вопрос:

       Когда я с помощью элемента управления DriveListBox выбираю диск A (3.5), программа у меня выдает ошибку (только когда в нем нету дискеты) о том, что в устройстве отсутствует носитель, она закрывается. Как мне сделать, чтобы вместо ошибки он мне выдал сообщение "Вставьте дискету..." и можно было вернуться назад на исполнение программы?

    Ответ:

    Автор ответа: Andruew

    On error goto pr
    pr: MsgBox "Vstavte disketu"

      Можно еще и проверку проводить, что за ошибка возникла и соответственные выдавать сообщения. Кажись в Err.number хранится номер ошибки.



    Ответ:

    Автор ответа: jakie

    Это можно сделать так:

    Private Sub DriveListBox_Change()
    ProcBegin:
         Dim a As String 'объявляем переменную для хранения нажатой кнопки
    If DriveListBox.Drive = "a:" Then 'ловим выбор диска a: в элементе DriveListBox
         On Error GoTo ErrMsg: 'устанавливаем обработчик ошибок
         DirBox.Path = DriveBox.Drive
         FileBox.Path = DirBox.Path 'этот код взят мной для примера.
    End If
    Exit Sub 'завершаем выполнение процедуры
    ErrMsg: 'если при выполнении произошла ошибка выполняется этот код
         a = MsgBox("Вставьте диск в дисковод A:\", vbExclamation + vbOKCancel, "Ошибка")
         If a = vbOK Then 'если пользователь нажал ОК то...
             GoTo ProcBegin: '...возвращаемся в начало процедуры
         End If
    End Sub

    Если программа относительно простая и не включает в себя большое
    количество различных ошибок на этапе выполнения то можешь сделать даже вот так:

    Private Sub DriveListBox_Change()
    ProcBegin:
         Dim a As String
         On Error GoTo ErrMsg:
         DirListBox.Path = DriveListBox.Drive
         FileListBox.Path = DirListBox.Path
    Exit Sub
    ErrMsg:
         a = MsgBox("Вставьте диск в дисковод A:\", vbExclamation + vbOKCancel, "Ошибка")
         If a = vbOK Then
             GoTo ProcBegin:
         End If
    End Sub



    Ответ:

    Автор ответа: Padasevana

    Private Sub Drive1_Change()
         
         Do
             Err.Clear
             On Error Resume Next
             Dir1.Path = Drive1.Drive
             
             If Err.Number = 68 Then
                 If MsgBox("Вставьте диск!", vbRetryCancel) = vbCancel Then
                     Err.Clear
                 End If
             End If
         
         Loop Until Err.Number = 0
      
    End Sub


    Вопрос:

       Как програмно определить, запущен ли Explorer.exe?

    Ответ:

    Автор ответа: Neco

    Имхо, explorer всю жизнь запущен...


    Вопрос:

       Есть исходник работы с MSAccess, работаю впервые и вот в чем беда:
    В модуле прописываю:

          Public cn As adodb.connection
          Public rs As adodb.Recordset

          Sub main()
          Set cn = New adodb.Connect
          cn.connectionstring = "DSN=job;"
          cn.open
          Form1.Show
          End Sub

    Но при запуске выводит ошибку 'User-defined type not defined' по поводу строк cn As adodb.connection и rs As adodb.Recordset
    На компе, откуда списал исходник прога нормально работает. Может я чего-то упустил? И еще: при написании проги подключали какую-то библиотеку. Может кто подскажет какую?

    Ответ:

    Автор ответа: bogdan

    Надо проверить, подключена ли ADO в References.


    Вопрос:

       Ни кто на подскажет, как пользоваться Microsoft Comm Controll ' ом?
    Открываю порт модема, а дальше? Как набирать номер?

    Ответ:

    Автор ответа: Markelov Eduard

    Читай документации по AT командам (они могут быть на колесе с дровами для твоего мопеда ;).
    Набрать номер: atdp02 или atdt02
    буквы p и t говорят о том, в каком режиме нужно набирать номер, тоновый или импульсный соответственно.




    Можете заполнить эту форму, либо отослать вопрос СЮДА

    Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта.
    Текст сообщения:
    Ваше имя
    E-mail для ответа

    наверх


    Выпуск подготовили:

    Сурменок Павел


    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Отписаться
    Убрать рекламу


    В избранное