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

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


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

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


VBNet VBMania
Ссылки:

  • GotDotNet
  • Улицы VB
  • Азбука VB
  • VB по русски
  • MDesign
  • DanSoft
  • Хрестоматия VB
  • VBCoder
  • Господа!!! читайте MSDN!!!

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

       У нас уже зима началась: снег лежит... Хотя всего неделю назад была отличная погода: сухая, теплая и ясная :)
    Читайте!


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




    Как задать координаты для вывода текста на формы методом Print?

    Вопрос:

    Как задать координаты для вывода текста на формы методом Print?

    Ответ:

    Задать координаты вывода текста и не только, можно при помощи свойств CurrentX и CurrentY, где CurrentX-координата верхнего угла(относительно формы), а CurrentY-координата левого угла(относительно формы). Вот,пример, использующий эти свойства:

    Private Sub Form_Load()
    Show
    CurrentX = 0
    CurrentY = 1500
    Print "Rafis"
    End Sub

    Rafis

    наверх


    Как отобразить анимацию?

    Вопрос:

    Очень хочу узнать с помощью чего можно отобразить у себя на форме амимацию (формат avi).

    Ответ:

    Проигрывать файлы типа avi на форме можно с помощью элемента Animation находится в библиотеке Microsoft Windows Common Controls-2 6.0.

    Jumanjee

    наверх


    Как отправить из программы на VB письмо на email?

    Вопрос:

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

    Ответ:

    Для отправки письма, кликаешь по кнопке или метке (вообще по чему хочешь (и лучше над этим объектом менять курсор)) и запускается почтовик установленный по умолчанию с указанными параметрами через API, остается только отправить мыло. Параметры можешь определить чем хочешь: списком, текстовым полем и т.д.
    -----------------
    Private Declare Function ShellExecute& Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long)
    Private Declare Function GetDesktopWindow Lib "user32" () As Long

    Private Sub Label1_Click()
    'Вызываем маил с адресом
    Call ShellExecute(0&, "Open", "mailto:" + "ЛОГИН@СЕРВЕР.ru" + "?Subject=" + "'Здесь описана тема...'", "", "", SW_SHOWNORMAL)
    End Sub
    ------------------
    Вот и все.

    Сергей Гуров

    наверх


    Почему в MS Word первый запуск макроса занимает много времени?

    Вопрос:

    Почему исполнение в MS Word любого пользовательского макроса на VB, даже не очень объемного, занимает слишком много времени. Причем это происходит только при первом его запуске. В дальнейшем работа любого существующего макроса происходит с завидной скоростью.

    Ответ:

    Дело в том, что при первом запуске код макроса предварительно компилируется и храниться в так называемом пи-коде. Это и требует некоторого времени. В дальнейшем используется только этот скомпилированный код. Когда кто либо вносит изменения в макрос, код перекомпилируется.

    Shemyakin, Dmitry

    наверх


    Почему функция API ExitWindowsEx не завершает работу или не выключает компьютер, а завершает сеанс?

    Вопрос:

    Почему функция API ExitWindowsEx не завершает работу или не выключает компьютер, а завершает сеанс данного пользователя и предлагает войти под новым именем?

    Ответ:

    Возможно, что у тебя используется константа = 0 (см. ниже), она равносильна входу в систему под другим именем.
    Нужно делать так:

    Private EWX_LOGOFF = 0 'Входит в систему под другим именем.
    Private EWX_SHUTDOWN = 1 'Завершает работу и выключает питание
    Private EWX_REBOOT = 2 'Перезагружает компьютер
    Private EWX_FORCE = 4 'Закрывает все программы не сохраняя файлы
    Private EWX_POWEROFF = 8 'Завершает работу системы и если есть возможность выключает компьютер

    Пример:

    Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

    Private Sub Form_Load ()
    ExitWindowsEx EWX_REBOOT 'Перезагружаем компьютер
    End Sub

    Игорь



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

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

    Вопросы:


    Автор вопроса: Ольга

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

       Как автоматически выравнивать по высоте ячейки MSFlexGrid по содержимому текста ячеек во всей таблице MSFlexGrid сразу, если установлено свойство WordWrap=true?
    Содержимое ячеек MSFlexGrid меняется программой через поле ввода.


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

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

       Где в Win XP хранится информация о пользователях, как можно их считать?


    Автор вопроса: Ольга

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

       Кто точно знает, как и по какому принципу изменяется время модификации директории? При изменении файла внутри директории на компьютере время модификации директории не изменяется, а вот в сети изменяется, но тогда, когда файл лежит на корне. Так ли это всегда?


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

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

       У меня есть конструкция:

    TYPE is_DIR
          Name as string
          Path as string
          Title as string
    END TYPE

    TYPE is_FILES
          Name as string
          Path as string
          Title as string
    END TYPE

    TYPE is_IMAGE
          Name as string
          Path as string
          Title as string
    END TYPE

    TYPE is_Main
          Name as String
          DIRZ()as is_DIR
          FILES()as is_FILES
          IMAGES()as is_IMAGE
    END TYPE

    PUBLIC default as is_Main

    Как можно записать (возможно?) переменную default в файл?

    Open FILENAME For Binary as #i
    PUT #i, , default
    CLOSE #i

    Не работает. Кто-нибудь подскажет?


    Автор вопроса: Богдан

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

          Вопрос по VBA ACCESS 2000.
       Импортирую в Аксес таблицу DBASE (dbf).

       DoCmd.TransferDatabase , databasetype, databasename[, objecttype], source, destination
       
       Путь к файлу - U:\Eipico\KLIENTY\FarmaMed\159603.dbf
       Что именно надо подставлять вместо databasename и source? Если подставить вместо databasename имя файла (включая путь), что же тогда подставляем вместо source?




    Ответы:


    Вопрос:

       Есть текстовый файл в котором надо заменить только первую строку. Можно конечно загрузить весь документ в текстбокс, там подменить первую строку и обратно записать в файл. Есть ли более простой вариант, как можно это сделать (файлы большие, долго загружает)?

    Ответ:

    Автор ответа: x-pert

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

    Для чтения используется метод ReadLine потока StreamReader, создаваемого методом OpenText. Предполагается, что имя файла передается по переменной Fname.

    Sub RdLine (ByVal FName as String)
      If File.Exists (FName) Then
       Dim sr as StreamReader = File.OpenText(FName)
       Textbox1.Text = sr.ReadLine()
       sr.Close
      EndIf
    End Sub

    Для обратной записи используем метод WriteLine потока StreamWriter,создаваемого методом CreateText.

    Sub WrLine (ByVal FName as String)
       Dim sw as StreamWriter = File.CreateText(FName)
       sw.WriteLine (Textbox1.Text)
       sw.Close
    End Sub


    Вопрос:

       Как осуществить поиск по заданным параметрам из MS Access таблицы (например, найти все имена на букву "а")?

    Ответ:

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

    Вообще-то у объекта RecordSet (если я правильно понимаю и о нем идет речь) есть методы поиска и позиционирования на нужную запись: Find, Seek(индексированный поиск). Но как они работают мне не очень нравится - медленно и криво. Для меня проще написать запрос с нужными критериями отбора:

       dim cn as ADODB.Connection
       dim rs as ADODB.RecordSet
       set cn = New ADODB.Connection
       cn.Provider = "....."
       cn.ConnectionString = "..."
       cn.CursorLocation = adUseClient
       Set rs = New ADODB.RecordSEt
       rs.ActiveConnection = cn
       rs.CursorType = adOpenKeyset
       rs.LockType = adLockOptimistic
       ' И самое главное....
       rs.Source = "select Имена from Таблица1 where Имена like 'а*'"
       rs.Open

    Откроется набор записей rs у которого значение поля Имена для всех записей будет начинаться с буквы а.


    Вопрос:

       У кого-нибудь найдется электронный справочник по WinApi?

    Ответ:

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

    Попробуй поискать на www.allapi.net называется API-Guide


    Вопрос:

       Как сделать, чтобы форма и все ее объекты изменяли размер соответственно текущему разрешению экрана?

    Ответ:

    Автор ответа: Александр

    Есть такой объект - screen! Есть у него свойства: Width и Height (read only) Вот под них и подгоняешь форму и объекты. Вот код подгона формы:

    me.width=screen.width
    me.height=screen.height
    me.move 0,0



    Ответ:

    Автор ответа: C...R...a...S...H

    Private Sub Form_Resize()
    Me.Height = Screen.Height * 0.5
    Me.Width = Screen.Width * 0.5
    'Форма будет занимать 50% экрана при любом разрешении
    'Далее тебе придется изменять размеры каждого контрола на форме
    'Или исчпользовать свойства Dock или Anchor если ты пишешь под .NET
    End Sub



    Ответ:

    Автор ответа: Хатламаджиян

    Screen.Height - высота
    Screen.Width - ширина

    Просто при Resize или Load'е формы пропорционально изменяешь размеры контролов

    Private Sub Form_Load()
            Text1.Height = Screen.Height * 0.1 '10% от высоты экрана
            Text1.Width = Screen.Width * 0.1 '10% от ширины экрана
    End Sub

    Но... каждый контрол надо описывать отдельно (высота и ширина), и для каждого надо подобрать своё процентное отношение.


    Вопрос:

       Написаные мною проги работают только на моей машине, а на других выдают "Unexpected Error". Пишу на VB 6.0.

    Ответ:

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

    Ты проверь, установлены ли там все ocx и dll нужные. Или может на доисторическом компе проверял :-))


    Вопрос:

       Где можно найти хорошее описание и примеры, как работать на VB с SQL сервером, как написать программу типа клиент и сервер, и где можно взять дистрибутив SQL сервера?

    Ответ:

    Автор ответа: C...R...a...S...H

    SQL Server продается в Магазинах, либо распространяетсчя с MS Office (MSDE). Примеры работы можно найти в MSDN. Либо на любом сайте, посвященном VB. (Например, VBNET.RU).




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

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

    наверх


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

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

    http://subscribe.ru/
    http://subscribe.ru/feedback/
    Подписан адрес:
    Код этой рассылки: comp.soft.prog.vbnewsadvices
    Отписаться

    В избранное