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


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

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



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

Доска почёта:

Sergey Y. Tkachev
Кононенко Роман
Kirill

Ссылки:

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

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

       Я на две недели уеду в Питер. Выпуски 106 и 107 этой рассылки уже введены и выйдут в срок. Правда, в них Вы не увидите раздела Вопрос/Ответ. А вот со следующими придётся подождать... Выпуски 108 и 109 выйдут 15 или 16 ноября. Дальше всё пойдёт по плану. Обновления на сайте запланированы, так что через день будут появляться новые статьи и примеры.
    Читайте!


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




    Книги

    Переход на VB .NET. Стратегии, концепции, код (цена ~ 158 руб.)

    Эта книга была задумана как одна из первых книг о .NET, которая ознакомит читателя с основными идеями новой архитектуры и подготовит его к знакомству с более детальной литературой, например документацией Microsoft и ее толкованиями, которая неизбежно появится на рынке. Она поможет вам взглянуть на эту технологию с позиций ваших собственных рабочих планов и быстро освоить те концепции, которые покажутся необычными для большинства прогр...

    Автор(ы): Дан Эпплман, Издательство: Питер, 2002 г.


    Программирование на VB.NET. Учебный курс (цена ~ 119 руб.)

    Эта книга является вводным курсом по изучению языка программирования Visual Basic .NET. Даны основные принципы объектно-ориентированного программирования в контексте языка VB .NET, поскольку без хорошей подготовки в этой области невозможно в полной мере пользоваться всеми преимуществами VB .NET.
    Изложены азы всех аспектов языка, которыми должен владеть любой профессиональный разработчик VB .NET

    Автор(ы): Г. Корнелл, Дж. Моррисон, Издательство: Питер, 2002 г.


    VB.NET для разработчиков (цена ~ 125 руб.)

    Основная задача книги - быстро ознакомить разработчиков Visual Basic с изменениями в .NET Framework. Программисты, использующие Java, C++, Delphi или другие инструменты разработки приложений и интересующиеся Visual Basic или технологией .NET Framework, также найдут эту книгу полезной. Хотя книга посвящена Visual Basic.NET, ее основная цель - продемонстрировать взаимодействие Visual Basic и ...

    Автор(ы): Кит Франклин, Издательство: Вильямс, 2002 г.




    Остальные книги о VB можно найти
    здесь.

    наверх


    MS Agent CD

       Я сильно извиняюсь за задержку с рассылкой компакт диска "MS Agent CD". Заказы на диск будут приниматься в течении недели (до 8 ноября). Затем диск будет разослан всем заказчкам.

    Шатрыкин Иван



    наверх


    Сколько цветов может отобразить видеокарта

    Расположите на форме элемент CommandButton.

    Данная опция зависит от настроек вашей видеокарты в панели управления - ЭКРАН - вкладка "Настройка" - "Цветовая палитра".

    Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function GetDesktopWindow Lib "user32" () As Long
    Private Const PHYSICALOFFSETX = 112
    Private Const PHYSICALOFFSETY = 113
    Private Const PLANES = 14
    Private Const BITSPIXEL = 12

    Public Function GetNColors() As Long
    Dim hSrcDC As Integer
    hSrcDC = GetDC(GetDesktopWindow())
    GetNColors = GetDeviceCaps(hSrcDC, PLANES) * 2 ^ GetDeviceCaps(hSrcDC, BITSPIXEL)
    End Function

    Private Sub Command1_Click()
    MsgBox GetNColors
    End Sub

    наверх


    Функции для работы с памятью компьютера

    Честно говоря, размещая данный код на страницах сайта, я толком не смог связать данные, получаемые с помощью этих функций с реальными данными, предоставляемыми операционной системой Windows98. Но вдруг вам кое-что пригодится...

    Private Type MEMORYSTATUS
    dwLength As Long
    dwMemoryLoad As Long
    dwTotalPhys As Long
    dwAvailPhys As Long
    dwTotalPageFile As Long
    dwAvailPageFile As Long
    dwTotalVirtual As Long
    dwAvailVirtual As Long
    End Type
    Private pUdtMemStatus As MEMORYSTATUS
    Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
    Public Function AvailablePhysicalMemory() As Double
    'Return Value in Megabytes
    Dim dblAns As Double
    GlobalMemoryStatus pUdtMemStatus
    dblAns = pUdtMemStatus.dwAvailPhys
    AvailablePhysicalMemory = BytesToMegabytes(dblAns)
    End Function
    Public Function TotalPhysicalMemory() As Double
    'Return Value in Megabytes
    Dim dblAns As Double
    GlobalMemoryStatus pUdtMemStatus
    dblAns = pUdtMemStatus.dwTotalPhys
    TotalPhysicalMemory = BytesToMegabytes(dblAns)
    End Function
    Public Function PercentMemoryFree() As Double
    PercentMemoryFree = Format(AvailableMemory / TotalMemory * 100, "0#")
    End Function
    Public Function AvailablePageFile() As Double
    'Return Value in Megabytes
    Dim dblAns As Double
    GlobalMemoryStatus pUdtMemStatus
    dblAns = pUdtMemStatus.dwAvailPageFile
    AvailablePageFile = BytesToMegabytes(dblAns)
    End Function
    Public Function PageFileSize() As Double
    'Return Value in Megabytes
    Dim dblAns As Double
    GlobalMemoryStatus pUdtMemStatus
    dblAns = pUdtMemStatus.dwTotalPageFile
    PageFileSize = BytesToMegabytes(dblAns)
    End Function
    Public Function AvailableMemory() As Double
    'Return Value in Megabytes
    AvailableMemory = AvailablePhysicalMemory + AvailablePageFile
    End Function
    Public Function TotalMemory() As Double
    'Return Value in Megabytes
    TotalMemory = PageFileSize + TotalPhysicalMemory
    End Function
    Private Function BytesToMegabytes(Bytes As Double) As Double
    Dim dblAns As Double
    dblAns = (Bytes / 1024) / 1024
    BytesToMegabytes = Format(dblAns, "###,###,##0.00")
    End Function

    Private Sub Command1_Click()
    Print AvailableMemory
    Print AvailablePageFile
    Print AvailablePhysicalMemory
    Print PageFileSize
    Print PercentMemoryFree
    Print TotalMemory
    Print TotalPhysicalMemory
    End Sub

    наверх


    Примеры работы с BIOS

    Данный пример покажет дату Bios'а



    ВАРИАНТ 1

    'ВАЖНОЕ ПРИМЕЧАНИЕ: Используйте данный код только в Windows 95/98
    'Использование кода в Windows 2000/NT приводит к краху приложения

    Private Declare Sub GetMem1 Lib "msvbvm50.dll" (ByVal MemAddress As Long, var As Byte)
    Private Function GetBIOSDate() As String
    Dim p As Byte, MemAddr As Long, sBios As String
    Dim i As Integer
    MemAddr = &HFFFF5
    For i = 0 To 7
    Call GetMem1(MemAddr + i, p)
    sBios = sBios & Chr$(p)
    Next i
    GetBIOSDate = sBios
    End Function
    Private Sub Command1_Click()
    MsgBox "Дата Bios'а: " & GetBIOSDate
    End Sub

    ВАРИАНТ 2

    Private Type BIOS_DATE
    s As String * 8
    End Type
    Private Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal ByteLen As Long)
    Public Function BIOS() As String
    Dim sDB As BIOS_DATE
    CopyMemory sDB, ByVal &HFFFF5, 8&
    BIOS = sDB.s
    End Function
    Private Sub Command1_Click()
    MsgBox BIOS
    End Sub

    наверх


    Установить новую дату и время на компьютере

    Данный пример установит новое время на компьютере. Для установления новой даты на компьютере, снимите комментарии в функции SetNewTime.

    Одна проблема: после выполнения кода, не происходит обновления времени в SystemTray. Если кто знает, как обновить время в SysTray, то напишите ведущему раздела.

    Private Type SystemTime
    wYear As Integer
    wMonth As Integer
    wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
    wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
    End Type
    Private Declare Function SetLocalTime Lib "kernel32.dll" (lpSystemTime As SystemTime) As Long

    Public Sub SetNewTime(NewHour As Integer, NewMinute As Integer, NewSecond As Integer)
    Dim SetTime As SystemTime
    Dim RetVal As Long
    SetTime.wHour = NewHour
    SetTime.wMinute = NewMinute
    SetTime.wSecond = NewSecond
    SetTime.wMilliseconds = 0
    SetTime.wDay = Day(Date)
    'SetTime.wDay = 14
    SetTime.wMonth = Month(Date)
    'SetTime.wMonth = 3
    SetTime.wYear = Year(Date)
    'SetTime.wYear = 1997
    RetVal = SetLocalTime(SetTime)
    End Sub

    Private Sub Command1_Click()
    Call SetNewTime(13, 20, 50)
    End Sub

    наверх


    Определение появления и изымания компакт-диска

    Данный пример автоматически определит появление и изымание компакт-диска в приводе СД-РОМ. Проверка действия примера очень проста: запустите ваш VB Project на выполнение, затем отктройте дверцу СД-РОМа, вставьте диск, закройте СД-РОМ и смотрите на сообщение на вашей форме.

    В данном примере вам ОБЯЗАТЕЛЬНО потребуется модуль, а также расположите на форме элемент Label.

    'КОД МОДУЛЯ

    Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public Const GWL_WNDPROC = (-4)
    Public Const WM_DEVICECHANGE = &H219
    Public glngPrevWndProc As Long
    Public Function MyWindowProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    If Msg = WM_DEVICECHANGE Then
    Select Case wParam
    ' Событие возникает при появлении нового диска в CD-ROM'е.
    Case &H8000&
    Call Form1.DeviceArrival
    ' Событие возникает при изъятии диска из CD-ROM'а
    Case &H8004&
    Call Form1.DeviceRemoveComplete
    End Select
    MyWindowProc = 0
    Exit Function
    End If
    ' остальные сообщения передаются для обработки стандартной процедуре окна
    MyWindowProc = CallWindowProc(glngPrevWndProc, hwnd, Msg, wParam, lParam)
    End Function

    'КОД ФОРМЫ

    'Как определить когда появляется и изымается компакт-диск из устройства CD-ROM?

    Private Sub Form_Load()
    ' Перенаправление сообщений Windows от формы к собственной
    ' процедуре обработки сообщений Module1.MyWindowProc
    glngPrevWndProc = GetWindowLong(hwnd, GWL_WNDPROC)
    SetWindowLong hwnd, GWL_WNDPROC, AddressOf MyWindowProc
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
    ' Возвращение управления форме
    SetWindowLong hwnd, GWL_WNDPROC, glngPrevWndProc
    End Sub

    Sub DeviceArrival()
    ' Здесь вы можете поместить код, который будет выполнятся при
    ' появление компакт-диска в устройстве CD-ROM
    Label1.Caption = "Появилось устройство"
    End Sub

    Sub DeviceRemoveComplete()
    ' Здесь вы можете поместить код, который будет выполнятся при
    ' удалении компакт-диска из устройства CD-ROM
    Label2.Caption = "Устройство исчезло"
    End Sub

    'Пример с сайта www.sources.ru

    наверх


    Вызов окна "Свойство COM1" и "Настройка параллельного порта"

    Private Declare Function ConfigurePort Lib "winspool.drv" Alias "ConfigurePortA" (ByVal pName As String, ByVal hwnd As Long, ByVal pPortName As String) As Long
    Private Sub Command1_Click()
    'MsgBox ConfigurePort("", Me.hwnd, "COM1:")
    'MsgBox ConfigurePort("", Me.hwnd, "LPT1:")
    Call ConfigurePort("", Me.hwnd, "COM1:")
    Call ConfigurePort("", Me.hwnd, "LPT1:")
    End Sub

    наверх


    Мои программы

    BalloonMessage for MS Agent

       BalloonMessage for Microsoft Agent реализует диалог программы с пользователем, используя при этом технологию Microsoft Agent. OCX реализует три типа диалоговых окон: InputBox, MsgBox и MsgLabels.

    Автора: Шатрыкин Иван и Павел Сурменок.

    наверх


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

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

    Вопросы:


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

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

       Подскажите как работать с FTP - сервером; тоесть вводить адресс, имя, пароль.


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

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

       Имеется 2 звуковых файла... каждый из них представляет примерно такую стуктуру 1011100111 (1-сигнал, 0-пустота)...частота сигналов может быть разной, а вот пробелы между сигналами (0) всегда одинаковы. Требуется средствами VB сравнить эти два файла, причем сравнивать по пробелам между сигналами.
      P.S. Побайтовое сравнение не пойдет... т.к. частота сигналов разная, вся загвоздка во времени этих сигналов...
    Если у кого какие есть идеи (любые), шлите на мыло


    Автор вопроса: Саша

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

       Подскажите где взять Function и Sub у WinInet ?
    Все кто хоть немного знает что-то шлите на email.


    Автор вопроса: Гернович Валентин

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

       Работаю во всякого рода рекламных и публицистических газетах очень давно, собралось кучу разных скриптов и програмулек целая гора, пишу свои скрипты, базы данных и программы....
    И вот в один прекрасный день задумал написать большую программу "идеальная газета", в которой есть все: верстка и учет рекламы, верстка и учет текстов, планирование верстки текстовых полос, сбор информации с новосных сайтов, кроссворды и сканворды, верстка тв программы, и т.д.
    Предполагаю все это сделать: хранение данных в ACCESS или MsSQL, оболочка в VB. Модули для Corel, InDesign, PageMaker, PhotoShop, Ventura 1:C Бухгалтерия, и т.д.
    Программа бесплатной не будет. Собираю команду. Все кто в ее войдет будут иметь право ее распространять.
    Если увас возникли какие либо мысли по этому поводу пишите.
    Пишите мне на адрес rdw@rdw.by


    Автор вопроса: Islentyev Dmitri

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

       В который раз вопрошаю как сделать DLL на VB так, чтобы С++ программы могли использовать функции DLL


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

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

       Как сделать распечатку на принтр из txt файла?


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

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

       1. Как прочитать название CD-привода, т.е. если зайти в "свойства системы" на закладку "Устройства" и открыть ноду "Устройства чтения компакт-дисков" - то там сразу видно название устройста (ASUS CDS360 ..., Teac ... и т. д.). А вот как енто програмно прочитать ??????

    2. Народ, дайте ПРЯМУЮ ссылку на программу Fusion (прога внедрения ядра в ЕХЕ-шник), а то я пытался найти через поисковики и там столько мусора попадалось ... так и не откопал нормальную.


    Автор вопроса: Dr.Max

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

       Есть код

      Dim vData As Variant
    vData = Me.Inet1.OpenURL("http://vbstreets.ru/bookstore/20.gif",
    icByteArray)' подклучаем библиотеку Internet Transfer control
    Open "C:\pic.gif" For Output As #1
    Print #1, , vData
    Close #1

    Но ,как вы уже поняли,он не работает.точнее работает ,но "недорабатывает". Код должен сохранить рисунок ,он его сохраняет ,но рисунка -то нет! Тоже самое при попытке сохранить веб страницу . т. е. файл есть ,но пустой! Придательский красный крестик и всё!!! Мне кажется ,что проблема не в открытии файла,а в его сохранении.
    Помогите!!!!!!!!!!


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

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

       1. Как с помощью WinSock пересылать файлы между клиентом и сервером...
    2. Как сфотографировать экран клиента и отравить на сервер в PictureBox...
    ЖЕЛАТЕЛЬНО С ПРИМЕРАМИ!!!


    Автор вопроса: Eugene KRUGLOFF

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

       Вопрос по VBA (WORD).
    Нужна функция окна диалога для открытия папки (не файла!).
    Внимание! API функция - не работает, на то есть причины.


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

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

       Возможно ли средствами VB докачивать какой-либо файл, т.е. качаем...связь обрывается...перезваниваем...докачиваем...
       Если можно, напишите как!


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

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

       На Вашем сайте нашел интересные советы по ВБ.
        Не будете ли Вы так любезны ответить новичку еще на несколько вопросов.Не очень сложно , чтобы я понял.
        1.Могу ли я из своего ВБ 6 открыть какой-либо документ из моего компьютора или более конкретно - окно для связи с Интернетом и нажать кнопку подключения и тд
        .2.Из ВБ 6 можно говорят заблокировать любое окно виндоус. А если кто-то заблокировал окно / к примеру настройку часов в компьютере и тп / , можно ли взломать этот запрет , ведь его коды мне не видны.и я не знаю даже с помощью какой программы и языка это заблокировано
        3.Я нашел маленькую програмку для ВБ, которая позволяет увидеть данные за звездочками .Я ее коды скопировал, заустил ,запаролил данные в текстовом окне своей ВБ-формы и действительно звездочки открываются. Но вот что я не понял: ведь она работает когда пароль размещен на моей ВБ-форме, А как же быть если скрытые данные расположены в другом месте
        4.У меня на вэб-странице есть ВБ 6-форма с окном Text, в который можно вписывать текст / типа гостевой книги/ .Можно ли с помощью кода в моей ВБ-форме сделать чтобы этот текст добавлялся в мою форму на сервере, чтобы при новом открытии страницы этот текст сохранялся
        5.Я вставляю в пикче-бокс флэш-анимацию, а она в нем не движется


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

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

       Чтотакое ping (пинг) и что яначит запинговать?


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

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

       как проверить готовность сетевого устройства (например\\Mat1\c\OSTAT,...) и если оно готово,то скопироватьтуда несколько файлов.
    Мой ПК в группе nod4, ПК польяователей в группе mat. например, в \\Mat1\c\OSTAT,\\Mat2\c\OSTAT,\\Mat3\c\OSTAT,...,\\Mat13\c\OSTAT.


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

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

       Помогите разобраться в чем дело, хочу вывести на принтер картинку, и повернуть ее по горизонтали и вертикали (одновременно), переворачивает только по горизонтали, делаю следующим образом

    Printer.PaintPicture Image1, xx + 125, yy + 125, -125, -125

    Что я делаю не так?




    Ответы:


    Вопрос:

       У меня вот какой вопрос - пишу:

    Private Sub Command1_Click()

    a = a + 1
    If Text2.Text = "" Then
    Winsock1.RemoteHost = "ip адрес сервера" + ad
    Winsock1.RemotePort = Text1.Text
    Winsock1.Connect
    Winsock2.RemotePort = Text1.Text
    Winsock2.RemoteHost = "ip адрес сервера" + ad
    Winsock2.Connect
    Winsock1.SendData Text3.Text
    Winsock2.SendData Text2.Text
    Winsock1.SendData "START"
    Winsock1.SendData Text3.Text
    If LISMCOM.Text1.Text <> "OK" Then MsgBox "NO!"
    Else
    Winsock1.RemotePort = Text1.Text
    Winsock1.RemoteHost = Text2.Text
    Winsock1.Connect
    Winsock2.RemotePort = 1002
    Winsock2.RemoteHost = Text2.Text
    Winsock2.Connect
    End If
    End Sub

    Запускаю... На Winsock1.SendData Text3.Text пишет ошибку №40006: "Wrong protocol or connection state" и т.д. Может кто подскажет, что мне делать?

    Ответ:

    Автор ответа: Sergey Y. Tkachev

    Скорее всего у тебя сокет просто не успевет посылать данные. Я не пробовал запускать твой код, но то, что у тебя подряд два сенда, это неправильно. Есть событие SendComplete, которое позволяет убедиться в том, что данные отосланы


    Вопрос:

       Как измерять скорость кода программы?????????
    Чего-то сшал про такую апи - функцию.

    Ответ:

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

    Как ни странно - временем выполнения этого самого кода! :)
    Можешь использовать встроенный в ВБ Timer. Ну а если ОЧЕНЬ хочется использовать АПИ, то пользуй:

    Declare Function timeGetTime Lib "winmm.dll" () As Long


    Вопрос:

       Есть текстовый файл ,10 столбцов на 10 сток ,еще есть массив ,тоже 10х10 ,а теперь вопрос: как загнать файл в массив ?

    Ответ:

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

    Если я тебя правильно понял то тебе нужно зделать так:

    Dim ArrFileStr() As String
    Dim f$
    Dim r&

    f$ = FreeFile
    ReDim ArrFileStr(0)

    Open FileName For Input As #f
      While Not EOF(f)
       r = UBound(ArrFileStr)
       Input #f, ArrFileStr(r)
       ReDim Preserve ArrFileStr(r + 1)
      Wend
    Close

    Вот собственно и всё, теперь файл FileName у тебя забит в массив ArrFileStr


    Вопрос:

       Есть текстовый файл ,10 столбцов на 10 сток ,еще есть массив ,тоже 10х10 ,а теперь вопрос: как загнать файл в массив ?

    Ответ:

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

    Очень просто это сделать (для примера - исходники с метками(label))
    Разместив на форме одну метку, выбрав в меню копировать, вставляешь в эту же форму. VB предлагает сделать массив - ОК!
    Расставив метки в соответствующем порядке нужно проверить, что метки располагаются по порядку (т. е. по порядку индексов)

    Private Sub Command1_Click()
    Dim mas(9, 9) As Integer
    Dim j, i As Byte
    For i = 0 To 9
    For j = 0 To 9
    mas(i, j) = Int(Rnd * 100) 'присваиваем массиву случайные значения (если записать mas(i,j)=i*10+j, то метки примут значения, соответствующие их индексам)
    Label1(i * 10 + j).Caption = mas(i, j)
    Next j, i
    End Sub

    Если тебе интересны исходники динамического массива, пиши: phis@bee-s.com


    Вопрос:

       1. Для просмотра HTML странички к програме прицепил объект WebBrowser. Задаю свойству Navigate полный путь и имя файла. Открывает все нормально. В документе есть ссылки внитри текста. При нажатии на любую из них ругается, что немогу открыть страницу и т.д. (будто ее не существует). Хотя какое-то время назад (как только я начинал делать свою програму) все работало нормально. Что делать.

    2. Записываю в фаил строку текста. В нем есть запятые, точки, все как положено. При чтении из фала VB почемуто воспринимает знаки препинания как разделители записей, и , соответственно, они пропадают. Выручайте, мож кто знает. Записываю в фаил по OUTPUT, читаю INPUT.

    Ответ:

    Автор ответа: Данила

    записывай
    Line Input
    Line Output


    Вопрос:

       1. Для просмотра HTML странички к програме прицепил объект WebBrowser. Задаю свойству Navigate полный путь и имя файла. Открывает все нормально. В документе есть ссылки внитри текста. При нажатии на любую из них ругается, что немогу открыть страницу и т.д. (будто ее не существует). Хотя какое-то время назад (как только я начинал делать свою програму) все работало нормально. Что делать.

    2. Записываю в фаил строку текста. В нем есть запятые, точки, все как положено. При чтении из фала VB почемуто воспринимает знаки препинания как разделители записей, и , соответственно, они пропадают. Выручайте, мож кто знает. Записываю в фаил по OUTPUT, читаю INPUT.

    Ответ:

    Автор ответа: Артём Кривокрисенко

    1.Хм. Тяжёлый случай. Если контрол через некоторе время стал так работать, то ты, наверное, случайно изменил какое-то свойство контрола. Удали WebBrowser и поставь туда точно такой же.

    2.Тоже тяжёлый случай. Очевидно, для чтения ты используешь оператор

    Input #1, strText

    Этот оператор может неправильно считывать информацию из файла (Например, концом строки считать символ табуляции или ещё какой-нибудь - это можно уточнить в MSDN). Лично я использую

    While Not eof(1)
             Line Input #1, strText
             strAll=strAll & strText & vbCrLf
    wend
    strAll=left(strAll, Len(strAll)-2)


    Вопрос:

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

    Ответ:

    Автор ответа: Артём Кривокрисенко

    Ничего сложного - используй OLE. Можно попробовать скопировать таблицу в Экселе и вставить в Ворд (таким способом таблица может вставиться не как объект Экселя, а как обычная Вордовская таблица


    Вопрос:

       У меня такой вопрос, я делаю прогу типа проводника, как сделать так чтобы ия List можно было выбрать файл и открыть его.
    Т.е как ссылаться на объекты ия Васика(ВБ).

    Ответ:

    Автор ответа: Артём Кривокрисенко

    Если я рправильно понял проблему, тебе надо заполнить ListBox названиями файла. Нет ничего проще - используй FileListBox.


    Вопрос:

       народ не поможетели в такой ситуации :нужна функция которой я даю строку текста и символ (букву,цифру либо спец символ), а она мне возращает слово в котором есть этот знак (не его номер), да и ещё слово может состоять не только из букв, а и из смеси букв, цифр и заков.

    Ответ:

    Автор ответа: Артём Кривокрисенко

    Используй функцию InStr и InStrRev


    Вопрос:

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

    Ответ:

    Автор ответа: Артём Кривокрисенко

    Открывать файл надо в двоичном (Binary) режиме. Потом заполнить нулями, а в процесе закачки заменять нули нужными данными


    Вопрос:

       Как использовать в Basic функцию Rnd для любых символов(букв.цифр)
    Напешите код. Если кто знает.

    Ответ:

    Автор ответа: Артём Кривокрисенко

    strSymbol=chr(1+int(rnd*255))


    Вопрос:

       Люди хелп плиз, проблема вобщем то такая. Написал кое какую прогу, все работало нормально, Вставил в нее код созданный макросам в Excele? теперь при сохранении данных в таблице все идет как надо. При попытке ее открыть после сохранения Excel не запускается, и причем сам Excel висит в меню завершения программ вызываемых Ctrl+Alt+Del. На закрытие Excelя использую такой код

    " wBook.SaveAs файл' где файл переменная.
           wBook.Close
           Set wBook = Nothing
           ' если Excel запускали мы, то надо бы его закрыть
           If StartedNew Then
           exapp.Quit
           End If
           Set exapp = Nothing

    Убираю код написаный макросом все опять нормально работает. В чем проблема?

    Ответ:

    Автор ответа: Артём Кривокрисенко

    Мне кажется, нужно убрать последнюю строку


    Вопрос:

       нужно сделать чтобы прога определяла имя своего файла и место нахождения
    app.exeName - че то не работае

    Ответ:

    Автор ответа: Артём Кривокрисенко

    Несколько дней назад зад отвечал на подобный вопрос
    App.exename возвращает только имя файла без пути.
    App.Path возвращает путь к файлу (без последнего слэша)


    Вопрос:

       Подскажите ссылки где можно найти документацию и исходняки для 3D програмирования DirectX. Если нетрудно киньте на E-Mail исходняки, можно урезая файлы .3ds .x и т.д. Мне нужно именно 3D, а не плоская графика.

    Ответ:

    Автор ответа: Артём Кривокрисенко

    Первая ссылка - www.msdn.microsoft.com
    Вторая - диски MSDN


    Вопрос:

       Вопрос 1: Как сделать так,чтобы программу невозможно было выгрузить, а если её выгрузить, то запускалась бы копия программы.
    Вопрос 2: У меня есть программа. Как сделать так, чтобы она брала данные из внешнего файла (например .txt) и загружала их оттуда (В этом файле должны находиться переменные вместе с данными)

    Ответ:

    Автор ответа: Nechaev Sergey

    2. Пример чтения system.ini
    Private Sub Form_Load()
    ff = FreeFile
    Open "C:\win\system.ini" For Input As #ff
    Do While Not EOF(ff)
    Line Input #ff, buffer
    Text1.Text = Text1.Text & vbCrLf & buffer
    Loop
    End Sub


    Вопрос:

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

    Ответ:

    Автор ответа: Nechaev Sergey

    Private Sub Form_Load()
    If App.PrevInstance Then
    MsgBox "Уже запущено"
    End
    End Sub


    Вопрос:

       Как мне по имеющемуся пути осуществить перебор всех файлов, находящихся в данной конкретной папке (исключая подпапки).
    Есть ли такая вояможность в VB6 или какими функциями API необходимо польяоваться?

    Ответ:

    Автор ответа: Nechaev Sergey

    Кидаешь на форму FileListBox, задаешь ему папку, требуемое расширение и прочие параметры, потом перебираешь все это в цикле For n=0 to File1.ListCount-1...Next


    Вопрос:

       Каким образом можно из VB получать и обрабатывать системные события Windows ! Например, читать клавиатуру.

    Ответ:

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

    Зайти на сайт dansoft.narod.ru в разделе библеотеки скачай файл DanLib.dll бросай в system'у пиши regsvr32 danlib.dll
      
    Он может перехватавать нажатие мыши и клавиатуры причем на глобальном уровне и без счетчика.
      
    использование:

    Сначало внеси в ссылки (у меня русский VB6) это библиотеку.
      
    добавь Label1 на Form
      
    Пиши это в Form
      
      Dim WithEvents Sh As cSystemHook
      
    Private Sub Form_Load()
        Set Sh = New cSystemHook
        Sh.SetHook
    End Sub
      
    Private Sub Form_Unload(Cancel As Integer)
        Set Sh = Nothing
    End Sub
      
    Private Sub Sh_KeyDown(KeyCode As Integer, Shift As Integer)
        Label1.Caption = KeyCode
        ' Если ты добавишь ниже keycode=49, то какую бы кнопку юзер не нажал будет нажиматься цифра "1"
    End Sub


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

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

    наверх


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

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