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


VBNet VBMania
Голосование:

Голосования сайта VBNet.Ru. Результаты голосований передаются на сайт. Проследите, что есть соединение с интернетом.



Рассылки Subscribe.Ru
VB.NET-World
Новости сайта IgorykSoft и советы по программированию
DanSoft о Visual Basic
Visual Basic.NET Уроки.

Ссылки:

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

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

       Новый выпуск.
    Читайте!


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




    Как подключиться к базе с паролем?

    Вопрос:

    Создал в Аксесе БД, поставил на нее пароль.
    Подключаюсь к ней из моей программы, пишу:

    Dim Wrk As DAO.Workspace
    Dim Base As DAO.Database

    Set Wrk = CreateWorkspace("MyDB", "admin", "password", dbUseJet)
    Set Base = Wrk.OpenDatabase(App.Path + "\1.mdb")

    Выдает ошибку 3028. Причем, если указать заведомо неверный пароль, то выдает ошибку 3031: "Ошибочный пароль". Что не так?

    Ответ:

    Data1.Connect = dbLangCyrillic & ";pwd=PASSWORD"
    ---< OR >---
    Set NewDB = NewWs.OpenDatabase(strDBPath, EncryptOptions, False, _
    dbLangCyrillic & ";pwd=PASSWORD")

        [Алексей]

    наверх


    Как открыть базу не в монопольном режиме?

    Вопрос:

    База с паролем не открывается в том случае, если она уже где-то открыта, например в том же Аксесе. Так вот что надо написать, чтобы база открывалась не в монопольном режиме?

    Ответ:

    Set NewDB = NewWs.OpenDatabase(strDBPath,EncryptOptions, true, _
    dbLangCyrillic & ";pwd=PASSWORD")

        [Алексей]

    наверх


    Какой аналог в VB.NET конструкции App.Path?

    Вопрос:

    Какой аналог в VB.NET конструкции App.Path?

    Ответ:

    System.appdomain.currentdomain.basedirectory

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

    наверх


    Как на VB отправлять широковещательные пакеты?

    Вопрос:

    Как отправлять широковещательные пакеты из VB? Допустим мне нужно отправить пакет всей моей подсети 192.168.0.* В Delphi у сокета есть такое свойство, а как быть в VB?

    Ответ:

    bool bBroadCast=1;
    setsockopt(skt,SOL_SOCKET,SO_BROADCAST,(const char*)&bBroadCast,sizeof(bool));

    Это переведёт сокет на широковещание.

        Ivan Rozhuk

    наверх


    Чем отличаются функции MoveMemory и CopyMemory?

    Вопрос:

    Чем отличаются функции MoveMemory и CopyMemory?

    Посмотрел МСДН - в информации об обеих функциях написано:

    This function is defined as the RtlCopyMemory function. For more information, see Winbase.h and Winnt.h.

    То есть, обе функции вызывают в конечном счете RtlCopyMemory. Зачем это надо?

    Ответ:

    Цитирую справочник А.Климова:

    Функция MoveMemory
    Данная функция является всего лишь другим названием функции CopyMemory. Так исторически сложилось, что среди программистов стали популярны два названия одной и той же функции. Ничем другим, кроме своего названия, они не отличаются.

        Артур

    наверх


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

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

    Вопросы:


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

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

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


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

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

       Какие переменные Windows возвращает функция Environ? Хотелось бы весь список.


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

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

       Идея: Моя программа запускается, определяет, что в определенной папке (на сетевом диске) находится новая версия этой программы, сообщает об этом пользователю, заменяет себя на новую версию (заменяет только EXE файл) и перезапскается уже в новой версии.

    Внимание вопрос:
    а) Как программе удалить свой собственный EXE-файл, при этом оставаясь в памяти и будучи в запущенном состоянии?
    б) Как ей перезапуститься?


    Автор вопроса: Андрей

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

       При одновременной работе 4 и более winsock (созданных заранее и работающих на разные ІР адреса) через некоторое время появляется сообщение об ошибке "No buffer space is available”. Можно ли как-то очищать этот буфер или избежать ошибки другими способами?


    Автор вопроса: Андрей

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

       Как создать папку (програмно) c правом доступа, или расшарить существуюшую
    папку, если такое возможно?


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

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

       Есть ли какая-нибудь программа (linux), для написания VB-программ под системой Linux?
    Обычно там только C и C++, но можно писать и на паскале (Kylix-Delphi для линукса).


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

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

       Я как-то спрашивал как редактировать idtag из VB и мне помогли, прислали класс для работы с tag v1 - но проблема в том что инфа из tagv2 как бы главнее и её видно в Winamp и ХРюше. Как редактировать Tag v2 - или просто стереть их?


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

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

       Я решил несколько дополнить стандартный элемент TextBox. Создал новый Activex контрол добавил стандартный TextBox и дописал для него несколько новых свойств: получение фокуса, ввод только букв или чисел с разрешением использования разделителя используемого в системе. (подобное описано в статье Михаила Эскина, есть на многих сайтах). Затем заметил что не работает свойство DataChange и нет динамического обновления полей при связи с БД посредством элемента Data. В атрибутах процедуры Text для Data стоят все галочки. Если надо кину исходник.


    Автор вопроса: Котофей

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

       Как мне в чужую прогу, в обьект TextBox (текстовое поле) вставить текст? Желательно поподробнее. И возможно ли в чужой проге програмно нажать любую кнопку?


    Автор вопроса: Ярослав

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

       Как сделать на VB DLL-библиотеку? Если можно, пришлите пример (не сложный, но и не простой).


    Автор вопроса: Мелёшин А. А.

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

       Я делаю прогу с множеством OCX ' ов, как сделать так, чтобы прога работала на других компах? Где-то слышал что надо OCX ' ы копировать в system32. Если так, то посоветуйте каким инсталлятором пользоваться.


    Автор вопроса: Мелёшин А. А.

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

       Как сделать надпись под углом 45, 90 градусов? Если есть OCX ' ы, намыльте пожалуйста.


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

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

       Как узнать путь к папке \MSSQL\?


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

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

       Как сделать, чтоб при открытии файла, например, *.txt запускалась программа и загружала этот файл в textBox?


    Автор вопроса: Михаил Антонов

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

       Можно ли работать с файлами по FTP на запись-чтение стандартными методами (Open/Close) или через FSO?


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

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

       Имеется форма в acceess'e. Данные сохраняются естественно в таблицу. На форме имеется комбо со значениями, которые берутся из таблицы "адреса" (3 столбца код [цифровой] район [цифровой], адрес [текстовой]), необходимо чтобы при выборе адреса на форме в текстовом поле отображался район, для этого имеется таблица с районами (код [цифровой], район [текстовой]). Как это сделать я не могу связать это цифровое значение с текстовым, как заставить его брать значение района если известен его код?


    Автор вопроса: Малахов Денис

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

       Как расположить значок программы рядом с системными часами (область уведомлений)?


    Автор вопроса: Андрей

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

       Создаю в реестре несколько ключей при помощи API, HKLM\...\... и так далее, записываю значения в эти ключи. Как из реестра считать эти записаные ключи, именно ключи, а не их значения?


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

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

       Можно ли на Visual Basic отправить игре нажатие клавиш A,W,S,Z, например, игре MK4?


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

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

       Можно ли на Visual Basic создать меню в игре как trainera для игр?




    Ответы:


    Вопрос:

       У меня возникла огромная проблема, надеюсь лучшие умы рассылки помогут мне, а то хана. Бацаю программу для работы с расписанием(проходит процесс тестирования) Когда создавал не обратил внимания на проблему, что 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'ов. Помогите как мне перебачить и код сильно не ломать.

    Ответ:

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

    Может бать есть и другие способы, но я знаю только один убрать первоначальный размер String (String * 8), скорость работы программы будет при этом ниже и некоторые участки кода придется переписать.




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

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

    наверх


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

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