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


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!!!

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

       Новый выпуск. Ничего нового в рассылке и на сайте не происходит... Меня поразило количество писем в раздел Вопрос/Ответ - почти час в базу данных закидывал!
    Читайте!


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




    Книги

    Переход на 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 можно найти
    здесь.

    наверх


    Шифровка/расшифровка текста с использованием пароля

    Добавьте на форму элемент TextBox и два элемента CommandButton.

    Public Function Encrypt(ByVal Source As String, ByVal Password As String) As String 'шифрование данных
    Dim a As String
    Dim b As String
    Dim c As String
    Dim d As String
    Dim lentext As Long
    Dim lenpass As Long
    Dim cn As Long
    'ввод исходных данных
    'исходный текст для шифрования - запрашивается от пользователя, к примеру -
    a = Source
    'пароль: может запрашиваться от пользователя
    b = Password
    'итог шифрования
    c = ""
    'узнаем длины каждой из строк
    lentext = Len(a)
    lenpass = Len(b)
    'собственно шифрование
    For cn = 1 To lentext
    'в этой строке разберитесь сами, здесь попросту выполняется функция Xor с каждым символом исходной строки и соответствующим символом пароля, как бы "повторенным" на всю длину исходного текста. Mid берет из середины строки символ, Asc - превращает его в ASCII-код, Str - превращает число в строку, Trim - удаляет пробелы
    d = Trim(Str(Asc(Mid(a, cn, 1)) Xor Asc(Mid(b, ((cn - 1) Mod lenpass) + 1, 1))))
    'а теперь сделаем так, чтобы каждый символ занимал ровно три позиции, вне зависимости от величины его ASCII-кода. А иначе как вы будете потом при расшифровке разбивать строку на символы?
    Select Case Val(d)
    Case 0 To 9
    d = "00" + d
    Case 10 To 99
    d = "0" + d
    End Select
    c = c + d
    'ну вот и все, и так - с каждым символом из исходной строки
    Next cn
    'в итоге в переменной с - зашифрованная строка, каждой исходной букве соответствует 3 символа, ее можно записать в любое место - в документ, к примеру:
    Encrypt = c
    End Function

    Public Function Decrypt(ByVal Code As String, ByVal Password As String) As String 'расшифровывание данных
    Dim a As String
    Dim b As String
    Dim c As String
    Dim d As String
    Dim lentext As Long
    Dim lenpass As Long
    Dim cn As Long
    'строка для расшифровки
    c = Code
    'пароль
    b = Password
    'итог расшифровывания
    a = ""
    'узнаем длины каждой из строк
    lentext = Len(c)
    lenpass = Len(b)
    'собственно расшифровывание
    For cn = 1 To lentext Step 3
    a = a + Chr(Val(Mid(c, cn, 3)) Xor Asc(Mid(b, (Int(cn / 3) Mod lenpass) + 1, 1)))
    Next cn
    'в итоге в переменной a - расшифрованная строка, ее можно записать в любое место - в документ, к примеру:
    Decrypt = a
    End Function

    Private Sub Command1_Click()
    Text1 = Encrypt("никому не скажу", "parol")
    End Sub

    Private Sub Command2_Click()
    Text1 = Decrypt(Text1, "parol")
    End Sub

    наверх


    Изменение свойства Style (стиль)

    Если вы попытаетесь изменить свойство Style элементов OptionButton и CheckBox во время выполнения программы, вы получите сообщение об ошибке "can't assign to read-only property". Для  решения этой проблемы вы можете воспользоваться следующим кодом.
    Добавьте на форму элементы OptionButton, CheckBox и 3 CommandButton.

    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Const GWL_STYLE = (-16)
    Const BS_PUSHLIKE = &H1000&
    Public Sub SetGraphicStyle(StyleButton As Control, Flag As Boolean)
    Dim curstyle As Long
    Dim newstyle As Long
    'exit this sub if the control is not Option Button or Check Box
    If Not TypeOf StyleButton Is OptionButton And _
    Not TypeOf StyleButton Is CheckBox Then Exit Sub
    curstyle = GetWindowLong(StyleButton.hwnd, GWL_STYLE)
    If Flag Then
    curstyle = curstyle Or BS_PUSHLIKE
    Else
    curstyle = curstyle And (Not BS_PUSHLIKE)
    End If
    newstyle = SetWindowLong(StyleButton.hwnd, GWL_STYLE, curstyle)
    StyleButton.Refresh
    End Sub

    Private Sub Command1_Click()
    Call SetGraphicStyle(Option1, True)
    Call SetGraphicStyle(Check1, True)
    End Sub
    Private Sub Command2_Click()
    Call SetGraphicStyle(Option1, False)
    Call SetGraphicStyle(Check1, False)
    End Sub
    Private Sub Command3_Click()
    Option1.Value = False
    Check1.Value = False
    End Sub

    наверх


    Изменение высоты выпадающей части комбобокса (Вариант 1)

    Данный пример покажет, как можно изменить высоту выпадающей части элемента ComboBox в зависимости от высоты формы, на которой элемент расположен.

    Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
    Private Sub Form_Load()
    Dim i As Integer ' Заполняем комбобокс значениями
    For i = 1 To 50
    Combo1.AddItem Format$(i)
    Next i
    Combo1.ListIndex = 0 ' Меняем размер выпадающей части комбобокса
    ReSizeCombo Me, Combo1
    End Sub
    Public Sub ReSizeCombo(frm As Form, cbo As ComboBox) ' Процедура меняет размер выпадающей части комбобокса
    Dim cboLeft As Long
    Dim cboTop As Long
    Dim cboWidth As Long
    Dim cboHeight As Long
    Dim oldScaleMode As Long ' Меняем Scale Mode формы на пиксели.
    oldScaleMode = frm.ScaleMode
    frm.ScaleMode = vbPixels ' Сохраняем размеры комбобокса
    cboLeft = cbo.Left
    cboTop = cbo.Top
    cboWidth = cbo.Width ' Задаем новую высоту комбобокса, в соотвествии с рабочей областью формы
    cboHeight = frm.ScaleHeight - cbo.Top - 5
    frm.ScaleMode = oldScaleMode 'и собственно ресайзаем
    MoveWindow cbo.hwnd, cboLeft, cboTop, cboWidth, cboHeight, 1
    End Sub
    Private Sub Form_Resize()
    ReSizeCombo Me, Combo1
    End Sub

    наверх


    Как установить количество открываемых строк (вариант 1)

    Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Const CB_GETITEMHEIGHT = &H154
    Private Sub Form_Load()
    Dim i As Integer
    'Заполняем комбобокс значениями
    For i = 1 To 50
    Combo1.AddItem Format$(i)
    Next i
    Combo1.ListIndex = 0
    'Меняем размер выпадающей части комбобокса
    ReSizeCombo Me, Combo1, 9
    End Sub

    Public Sub ReSizeCombo(frm As Form, cbo As ComboBox, n As Integer)
    'Процедура меняет размер выпадающей части комбобокса
    Dim cboLeft As Long
    Dim cboTop As Long
    Dim cboWidth As Long
    Dim cboHeight As Long
    Dim oldScaleMode As Long
    Dim h As Long
    'Меняем Scale Mode формы на пиксели.
    oldScaleMode = frm.ScaleMode
    frm.ScaleMode = vbPixels
    'Сохраняем размеры комбобокса
    cboLeft = cbo.Left
    cboTop = cbo.Top
    cboWidth = cbo.Width
    'Получаем высоту одной строчки в пикселях
    h = SendMessage(cbo.hwnd, CB_GETITEMHEIGHT, 0, 0)
    'Задаем новую высоту комбобокса
    'К количеству строк надо прибавить 2 (не знаю почему)
    cboHeight = h * (n + 2)
    frm.ScaleMode = oldScaleMode
    'и собственно ресайзаем
    MoveWindow cbo.hwnd, cboLeft, cboTop, cboWidth, cboHeight, 1
    End Sub

    наверх


    Изменение высоты выпадающей части комбобокса (Вариант 2)

    Изменяя значение '100' в событии Form_Load вы меняете высоту выпадающей части элемента ComboBox

    Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
    Function SetComboHeight(YourCombo As ComboBox, lDropDownHeight As Long)
    Dim oldscalemode As Integer
    If TypeOf YourCombo.Parent Is Frame Then Exit Function
    oldscalemode = YourCombo.Parent.ScaleMode
    YourCombo.Parent.ScaleMode = vbPixels
    MoveWindow YourCombo.hwnd, YourCombo.Left, _
    YourCombo.Top, YourCombo.Width, lDropDownHeight, 1
    YourCombo.Parent.ScaleMode = oldscalemode
    End Function

    Private Sub Form_Load()
    'Замените значение '100' ниже на нужную вам высоту элемента ComboBox
    SetComboHeight Combo1, 100
    End Sub

    наверх


    Изменилось ли содержимое ComboBox

    Данный код позволяет проверить, изменилось ли содержиомое ComboBox'а
    Расположите на форме элементы ComboBox и CommandButton

    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As Long, ByVal hWndChild As Long, ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Const EM_SETMODIFY = &HB9
    Const EM_GETMODIFY = &HB8
    Private Sub Command1_Click()
    Dim CombohWnd As Long
    Dim DirtyFlag As Long
    CombohWnd = FindWindowEx(Combo1.hWnd, 0&, vbNullString, vbNullString)
    DirtyFlag = SendMessage(CombohWnd, EM_GETMODIFY, ByVal 0&, ByVal 0&)
    If DirtyFlag = 1 Then
    MsgBox "Содержимое Combo Box изменилось"
    Else
    MsgBox "Содержимое Combo Box не изменилось"
    End If
    End Sub

    наверх


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

    BalloonMessage for MS Agent

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

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

    наверх


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

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

    Вопросы:


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

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

       В пакете Microsoft Office Word имеется перенос слов по слогам, если его можно использовать в своей программе, то как это можно сделать? Не хочется изобретать велосипед.


    Автор вопроса: Nechaev Sergey

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

       Как можно прицепить к TextBox'у свое контекстное меню, чтобы при нажатии правой кнопки мыши выскакивала моя менюшка а не стандартная. А может можно как-нибудь добавить в стандартное меню свой пункт? (хотя сильно в этом сомневаюсь). Писать свой контрол с нуля или подключать уже готовый не хотелось бы, т.к. данный ход нужен только в одном месте на весь проект, а сторонний контрол ресурсов сожрет немерено.


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

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

       Если в буфер обмена помещается строка текста (к примеру адрес сайта), то как записать его отдельной строкой в файл(txt), если строка уже сужествует вывести сообщение и повторно не записывать.


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

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

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


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

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

       Народ непоскажител какие есть типы БД с которымиможно было работать на ВБ, хорошобы чтоб они поддерживали тип данных в котором моглт бы храниться графические файлы.


    Автор вопроса: Сергей

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

       Как отобаяить в listbox имена файлов в укаяаной папки


    Автор вопроса: Сергей

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

       Как раяархивировать zip формат


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

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

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


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

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

       А все таки как нарисовать треугольник по трем точкам. Конкретно мне надо: чтобы на экране нарисовался закрашенный треугольник. Если я буду рисовать его по линиям, то это займет много времени.


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

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

       Private Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As
    Long, lpcConnections As Long) As Long
    Private Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long,
    lpStatus As Any) As Long
    Private Const RAS95_MaxEntryName = 256
    Private Const RAS95_MaxDeviceType = 16
    Private Const RAS95_MaxDeviceName = 32
    Private Type RASCONN95
    dwSize As Long
    hRasCon As Long
    szEntryName(RAS95_MaxEntryName) As Byte
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
    End Type
    Private Type RASCONNSTATUS95
    dwSize As Long
    RasConnState As Long
    dwError As Long
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
    End Type

    Public Function IsConnected() As Boolean
    Dim TRasCon(255) As RASCONN95
    Dim lg As Long
    Dim lpcon As Long
    Dim RetVal As Long
    Dim Tstatus As RASCONNSTATUS95
    TRasCon(0).dwSize = 412
    lg = 256 * TRasCon(0).dwSize
    RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
    Tstatus.dwSize = 160
    RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
    If Tstatus.RasConnState = &H2000 Then
    IsConnected = True
    Else
    IsConnected = False
    End If
    End Function

    Private Sub Form_Load()
    MsgBox IsConnected()
    End Sub

    Эта программа проверяет есть свяяь с инетом или нет
    Когда программу яапускаю под Win98 все рабоиает нормально, а когда под Win2000 Происходит крах программы
    Вопросы:
    1.Почему ?
    2.Какими функциями можно яаменить их чтобы работали под Win2000
    3.Может кто янает как еще можно проверить есть свьяь с инетом или нет.


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

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

       Не мог бы кто нибудь прислать мне не сложный пример на тему Ping... (как работать...)
    Желательно с описанием...
    Gav@beep.ru


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

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

       У меня VB60. Почему в его собственном редакторе не работает колесико у скролинговой мыши? Везде работает а в VB нет. Мышь обыкновенная Genius NetScroll. Драйвера стандартные Windows. Установлена Win98. Как можно решить? Или никак? А?


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

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

       Товарищи!! Может кто знает как в DirectDraw7 сделать объекта полупрозрачными????????




    Ответы:


    Вопрос:

       Как отследить, какие клавиши нажимаются на клавиатуре, при этом форма находится в свернутом состоянии?

    Ответ:

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

    Вытащил из API-Guide 3.7

    'In a module
    Public Const DT_CENTER = &H1
    Public Const DT_WORDBREAK = &H10
    Type RECT
         Left As Long
         Top As Long
         Right As Long
         Bottom As Long
    End Type
    Declare Function DrawTextEx Lib "user32" Alias "DrawTextExA" (ByVal hDC As Long, ByVal lpsz As String, ByVal n As Long,
    lpRect As RECT, ByVal un As Long, ByVal lpDrawTextParams As Any) As Long
    Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal
    lpTimerFunc As Long) As Long
    Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
    Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
    Declare Function SetRect Lib "user32" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As
    Long) As Long
    Global Cnt As Long, sSave As String, sOld As String, Ret As String
    Dim Tel As Long
    Function GetPressedKey() As String
         For Cnt = 32 To 128
             'Get the keystate of a specified key
             If GetAsyncKeyState(Cnt) <> 0 Then
                 GetPressedKey = Chr$(Cnt)
                 Exit For
             End If
         Next Cnt
    End Function
    Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
         Ret = GetPressedKey
         If Ret <> sOld Then
             sOld = Ret
             sSave = sSave + sOld
         End If
    End Sub

    'In a form
    Private Sub Form_Load()
         'KPD-Team 1999
         'URL: http://www.allapi.net/
         'E-Mail: KPDTeam@Allapi.net
         Me.Caption = "Key Spy"
         'Create an API-timer
         SetTimer Me.hwnd, 0, 1, AddressOf TimerProc
    End Sub
    Private Sub Form_Paint()
         Dim R As RECT
         Const mStr = "Start this project, go to another application, type something, switch back to this application and unload
    the form. If you unload the form, a messagebox with all the typed keys will be shown."
         'Clear the form
         Me.Cls
         'API uses pixels
         Me.ScaleMode = vbPixels
         'Set the rectangle's values
         SetRect R, 0, 0, Me.ScaleWidth, Me.ScaleHeight
         'Draw the text on the form
         DrawTextEx Me.hDC, mStr, Len(mStr), R, DT_WORDBREAK Or DT_CENTER, ByVal 0&
    End Sub
    Private Sub Form_Resize()
         Form_Paint
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
         'Kill our API-timer
         KillTimer Me.hwnd, 0
         'Show all the typed keys
         MsgBox sSave
    End Sub


    Вопрос:

       Как отследить, какие клавиши нажимаются на клавиатуре, при этом форма находится в свернутом состоянии?

    Ответ:

    Автор ответа: Администратор

    Если нужно глобально, то без библиотеки не обойдешься.
    на сайт dansoft.narod.ru в разделе библиотеки есть библиотека Danlib.dll
    С помощью её ты и сможешь перехватывать нажатие клавишь клавиатуры и мыши.


    Вопрос:

       У меня такой вопросик: в Accessовской таблице есть два поля (допустим одно поле "Мужские фамилия", другое поле "Женские фамилия"), необходимо в отчете эти поля объединить в одно и отиндексировать по алфавиту.
    И такой вопросик: в Accessовской таблице есть поля (допустим поле "Пол" и поле "Имя"), необходимо в отчете вывести имена в два столбца параллельно (допустим справа Женские, а слева Мужские).
    Желательно пример кода, но буду рад даже мыслям и идеям!

    Ответ:

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

    Запрос для объединения полей и сортировки:

    SELECT [МужскоеИмя] & " " & [ЖенскоеИмя] AS ОбъединенноеПоле, [Таблица].МужскоеИмя, [Таблица].ЖенскоеИмя FROM [Таблица]
    ORDER BY [МужскоеИмя] & " " & [ЖенскоеИмя];

    В отчете создай поле, укажи данные из [ОбъединенноеПоле]


    Вопрос:

       Как на VB работать с графикой. Точнее со спайтами. Тобишь есть картинка. Как на ней яаставить двигаться другую картинку бея глюков. А то если испольяовать PicBox или Image то при движении появляються глюки. Желательно с примерами и по проши.

    Ответ:

    Автор ответа: Ревягин_Алексей

    впиши этот код в пустую форму,
    сохрани его,
    в директории где его сохранил помести два файла
    image1.jpg
    image2.jpg
    запусти и ...

    Dim Image1 As IPictureDisp
    Dim Image2 As IPictureDisp

    Private Type Location
         X As Integer
         Y As Integer
    End Type

    Dim Image1Move As Integer

    Dim Image2MoveX As Integer
    Dim Image2MoveY As Integer

    Dim Image1Local As Location
    Dim Image2Local As Location

    Const Operation = vbSrcAnd

    Private Sub Form_Load()
         'Load the graphics
         Set Image1 = LoadPicture(App.Path & "\Image1.jpg")
         Set Image2 = LoadPicture(App.Path & "\Image2.jpg")
         
         'Setup the window
         With frmMain
             .Show
             .Refresh
             .AutoRedraw = True
             .ScaleMode = vbPixels
         End With
         
         'Load the variables
         Image1Move = 1
         Image2MoveX = 3
         Image2MoveY = 3
         
         'Begin the loop
         Do
             'Draw image 1
             frmMain.PaintPicture Image1, Image1Local.X, Image1Local.Y
             frmMain.PaintPicture Image1, Image1Local.X + frmMain.ScaleWidth, Image1Local.Y
             frmMain.PaintPicture Image1, Image1Local.X, Image1Local.Y + frmMain.ScaleHeight
             frmMain.PaintPicture Image1, Image1Local.X + frmMain.ScaleWidth, Image1Local.Y + frmMain.ScaleHeight
             
             'Draw image 2
             frmMain.PaintPicture Image2, Image2Local.X, Image2Local.Y, , , , , , , Operation
             frmMain.PaintPicture Image2, Image2Local.X + frmMain.ScaleWidth, Image2Local.Y, , , , , , , Operation
             frmMain.PaintPicture Image2, Image2Local.X, Image2Local.Y + frmMain.ScaleHeight, , , , , , , Operation
             frmMain.PaintPicture Image2, Image2Local.X + frmMain.ScaleWidth, Image2Local.Y + frmMain.ScaleHeight, , , , , , ,
    Operation

             'Move the images
             With Image1Local
                 .X = .X - Image1Move
                 .Y = .Y - Image1Move
                 
                 If .X < -frmMain.ScaleWidth Then .X = 0
                 If .Y < -frmMain.ScaleHeight Then .Y = 0
             End With
             
             With Image2Local
                 .X = .X - Image2MoveX
                 .Y = .Y - Image2MoveY
                 
                 If .X < -frmMain.ScaleWidth Then .X = 0
                 If .Y < -frmMain.ScaleHeight Then .Y = 0
                 
                 If .X + frmMain.ScaleWidth > frmMain.ScaleWidth Then .X = -frmMain.ScaleWidth
                 If .Y + frmMain.ScaleHeight > frmMain.ScaleHeight Then .Y = -frmMain.ScaleWidth
             End With
             
             'Release for moving events etc.
             DoEvents
         Loop
    End Sub

    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
         Image2MoveX = Int(frmMain.ScaleWidth \ 2 - X) \ 10
         Image2MoveY = Int(frmMain.ScaleWidth \ 2 - Y) \ 10
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
         'Close the program
         End
    End Sub

    Private Sub lblOperation_Click()

    End Sub

    Private Sub Label1_Click()

    End Sub


    Вопрос:

       Как сделать так (не обяяательно средствами visual'a), чтобы приложение яапускалось раньше всех в системе, ну имеется ввиду, после ее запуска? Т.е. своеобраяная автозагруяка, но раньше всех... Желательно, даже значки с рабочки и трей обогнать!!!

    Ответ:

    Автор ответа: Администратор

    Делай свою программу малых обьемов.
    Чем меньше программа тем быстрее она запустится.


    Вопрос:

       Как сделать так (не обяяательно средствами visual'a), чтобы приложение яапускалось раньше всех в системе, ну имеется ввиду, после ее запуска? Т.е. своеобраяная автозагруяка, но раньше всех... Желательно, даже значки с рабочки и трей обогнать!!!

    Ответ:

    Автор ответа: Ревягин_Алексей

    поместить строку запуска в RunServicies


    Вопрос:

       Как сделать так (не обяяательно средствами visual'a), чтобы приложение яапускалось раньше всех в системе, ну имеется ввиду, после ее запуска? Т.е. своеобраяная автозагруяка, но раньше всех... Желательно, даже значки с рабочки и трей обогнать!!!

    Ответ:

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

    В Win98 это можно сделать в файле winstart.bat. Если его нет, нужно создать.
    Для WinXP, приложение можно загрузить как службу. Берешь любую службу, экспортируешь в .reg файл, изменяешь и запускаешь этот .reg файл.


    Вопрос:

       Я сделал отчет с помощью Crystal Reports Pro присоединил к форме, но когда яаношу новые данные в отчете они не обновляются, как это сделать или подскажите как можно сделать отчет по другому если это вояможно. Испольяую баяу данных MS Access

    Ответ:

    Автор ответа: Шувакин Н.В.

    ЕСТЬ ПРЕКРАСНАЯ ПРОГРАММА SEAGATE CRISTAL REPORTS ОНА ПОЗВОЛЯЕТ СОЗДАВАТЬ ОТЧЕТЫ ПРАКТИЧЕСКИ ИЗ ЛЮБЫХ БАЗ (ДАЖЕ ТЕКСТОВЫХ ФАЙЛОВ), В ТОМ ЧИСЛЕ И АВТОМАТИЧЕСКИ ОБНОВЛЯЕМЫЕ. ОЧЕНЬ РЕКОМЕНДУЮ. Я ИСПОЛЬЗУЮ SEAGATE CRISTAL REPORTS 8.0


    Вопрос:

       Подскажите где вяять описание функций WinInet.dll.

    Ответ:

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

    Самый простой способ не ждать пока ктонибудь тебе ето выложит, что врядле, а взять что-нибудь вроде W32Dasm и расковырять самому. :)


    Вопрос:

       Как получить полный объем жесткого диска и объем яагруженности жесткого диска.

    Ответ:

    Автор ответа: Rutshtein Alex

    Public Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" _
    (ByVal lpRootPathName As String, _
    lpSectorsPerCluster As Long, _
    lpBytesPerSector As Long, _
    lpNumberOfFreeClusters As Long, _
    lpTotalNumberOfClusters As Long) _
    As Long
      
    Public Function GetDiskSpace(lpRootPathName As String, FreeSpace As Long, TotalSpace As Long) As Boolean
      
    Dim lpSectorsPerCluster As Long
    Dim lpBytesPerSector As Long
    Dim lpNumberOfFreeClusters As Long
    Dim lpTotalNumberOfClusters As Long
      
    If GetDiskFreeSpace(lpRootPathName, lpSectorsPerCluster, _
                 lpBytesPerSector, lpNumberOfFreeClusters, _
                 lpTotalNumberOfClusters) <> 0 Then
       FreeSpace = lpSectorsPerCluster * lpBytesPerSector * lpNumberOfFreeClusters
       TotalSpace = lpSectorsPerCluster * lpBytesPerSector * lpTotalNumberOfClusters
       GetDiskSpace = True
    Else
       GetDiskSpace = False
    End If
      
    End Function


    Вопрос:

       Помогите советом. Можно ли в 98 Виндовсе сделать так чтобы нельзя было установить ни одной программы. А то достали пользователи.
    И еще где то мне попадалась инфа, что можно сделать чтоб при выключении компа реестр не сохраняется. соответсвенно какие бы настройки не изменяли. после загрузки будет все по старому. Проблемма в классе с учениками. то шрифт поставят большой, то цвета черти какие, а любимое выставлять частоту которую монитор не поддерживает. Вобщем достало это дело. Может кто то с этим сталкивался.

    Ответ:

    Автор ответа: -=CBK=-CRaSH

    Это эленементарно закачай с интернета программу windows configurator http://www.w98c.prv.pl/ или что-то подобное


    Вопрос:

       Помогите советом. Можно ли в 98 Виндовсе сделать так чтобы нельзя было установить ни одной программы. А то достали пользователи.
    И еще где то мне попадалась инфа, что можно сделать чтоб при выключении компа реестр не сохраняется. соответсвенно какие бы настройки не изменяли. после загрузки будет все по старому. Проблемма в классе с учениками. то шрифт поставят большой, то цвета черти какие, а любимое выставлять частоту которую монитор не поддерживает. Вобщем достало это дело. Может кто то с этим сталкивался.

    Ответ:

    Автор ответа: Mind Engine

    Для запрета вызова настроек диспелея+сотоварищи:

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\NoDispCPL

    Ставь 1 и все...
    А вообще сходи на

    http://pisoft.da.ru или http://psoft.narod.ru

    Есть прога WinTune, она тебе поможет...


    Вопрос:

       Помогите советом. Можно ли в 98 Виндовсе сделать так чтобы нельзя было установить ни одной программы. А то достали пользователи.
    И еще где то мне попадалась инфа, что можно сделать чтоб при выключении компа реестр не сохраняется. соответсвенно какие бы настройки не изменяли. после загрузки будет все по старому. Проблемма в классе с учениками. то шрифт поставят большой, то цвета черти какие, а любимое выставлять частоту которую монитор не поддерживает. Вобщем достало это дело. Может кто то с этим сталкивался.

    Ответ:

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

    Используй программу тонкой настройки реестра
    http://www.xteq.com/
    если плохо знаешь реестр, рекомендую делать резервные копии.
    Предупреждаю!
    Некоторые настройки опасно изменять, так что если что повалится сам виноват.


    Вопрос:

       Помогите советом. Можно ли в 98 Виндовсе сделать так чтобы нельзя было установить ни одной программы. А то достали пользователи.
    И еще где то мне попадалась инфа, что можно сделать чтоб при выключении компа реестр не сохраняется. соответсвенно какие бы настройки не изменяли. после загрузки будет все по старому. Проблемма в классе с учениками. то шрифт поставят большой, то цвета черти какие, а любимое выставлять частоту которую монитор не поддерживает. Вобщем достало это дело. Может кто то с этим сталкивался.

    Ответ:

    Автор ответа: Igor A. Volkov

    Для того чтобы не позволять доступ к настройкам рабочего стола в реестре найди HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
    элемент NoDispCpl и установи значение 1. При этом блокируется доступ как из Панели управления, так и через контекстное меню Рабочего стола.
    В ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
    необходимо создать ключ NoSaveSettings и установить для него значение 1.
    При этом все настройки пользователей сохраняться не будут. Если создан для каждого пользователя свой профиль, то нужно создать ключ в
    ветке HKEY_USERS\[имя профиля]\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
    для тех кому запрещено сохранять настройки.
    Эти исправления можно сделать ручками в реестре используя regedit, а можно задавая системные политики при помощи System Policy Editor для нужных юзеров. Его можно поставить с CD установки W98. (запусти "установка и удаление программ", "установка Windows", кнопка "Установить с диска" и укажи tools\Reskit\Netadmin\Poledit).
    Но самый лучший вариант - перейти на НТ !


    Вопрос:

       Как на форме нарисовать треугольник по 3 точкам, может быть с помощью API функции, важна скорость прорисовки!

    Ответ:

    Автор ответа: Администратор

    пишишь что-то вроде.
      
    form1.line(x1,y1)-(x2,y2)
    form1.line(x2,y2)-(x3,y3)
    form1.line(x3,y3)-(x1,y1)


    Вопрос:

       Тупой вопрос
       Открываю Notepad пишу туда число 20
       Закрываю. Смотрю размер файла - 2 байта
       Делаю тоже самое в ВБ

    Dim FileNum As Integer
    Dim txt As Byte
    FileNum = FreeFile

    txt = 20
    Open "c:\file.txt" For Output As FileNum
    Write #FileNum, txt
    Close #FileNum
    Смотрю размер 4 байта

    Мне необходимо создать именно 2 байтовый
    Пробовал через Binary Access - добавляются левые символы
    Помогите примером

    Ответ:

    Автор ответа: -=CBK=-CRaSH

    Тут фишка ы том что тип byte занимает в памяти 4 байта и ты с этим ничего поделать на сможеш. Но ты можеш записать в файл страку.

    Dim FileNum As Integer
    Dim txt As STRING
    FileNum = FreeFile

    txt = "20"
    Open "c:\file.txt" For Output As FileNum
    print# FileNum, txt
    Close #FileNum
    и все будет ок


    Вопрос:

       Тупой вопрос
       Открываю Notepad пишу туда число 20
       Закрываю. Смотрю размер файла - 2 байта
       Делаю тоже самое в ВБ

    Dim FileNum As Integer
    Dim txt As Byte
    FileNum = FreeFile

    txt = 20
    Open "c:\file.txt" For Output As FileNum
    Write #FileNum, txt
    Close #FileNum
    Смотрю размер 4 байта

    Мне необходимо создать именно 2 байтовый
    Пробовал через Binary Access - добавляются левые символы
    Помогите примером

    Ответ:

    Автор ответа: P@Ssword

    Всё просто до безобразия, но не так просто, как кажется.
             1) Два байта появляются из-за символа перевода строки.
             2) Предлагаю вместо Write использовать Print.
             3) Наверное не все знают, что если написать [Print "20"], то после "20" будет напечатан символ перевода строки; если написать [Print "20",], то после "20" будут напечатаны пробелы до столбца, кратного 14; а если написать [Print "20";], то после "20" не будет напечатано ничего (а ведь это было ещё на ZX-Spectrum'ах :).
             4) Если кто ещё не понял, то ответ в пункте 3 %-)


    Вопрос:

       Тупой вопрос
       Открываю Notepad пишу туда число 20
       Закрываю. Смотрю размер файла - 2 байта
       Делаю тоже самое в ВБ

    Dim FileNum As Integer
    Dim txt As Byte
    FileNum = FreeFile

    txt = 20
    Open "c:\file.txt" For Output As FileNum
    Write #FileNum, txt
    Close #FileNum
    Смотрю размер 4 байта

    Мне необходимо создать именно 2 байтовый
    Пробовал через Binary Access - добавляются левые символы
    Помогите примером

    Ответ:

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

    Поменяй Write# на Put# и output режим на binary и получишь искомые два байта:

    Dim FileNum As Integer
    Dim txt As Integer
    FileNum = FreeFile

    txt = 20
    Open "c:\file.txt" For Binary As FileNum
    Put #FileNum, , txt
    Close #FileNum


    Вопрос:

       Тупой вопрос
       Открываю Notepad пишу туда число 20
       Закрываю. Смотрю размер файла - 2 байта
       Делаю тоже самое в ВБ

    Dim FileNum As Integer
    Dim txt As Byte
    FileNum = FreeFile

    txt = 20
    Open "c:\file.txt" For Output As FileNum
    Write #FileNum, txt
    Close #FileNum
    Смотрю размер 4 байта

    Мне необходимо создать именно 2 байтовый
    Пробовал через Binary Access - добавляются левые символы
    Помогите примером

    Ответ:

    Автор ответа: Sergei Gorlovetsky

    Add Reference to Microsoft Scripting Runtime

    Private Sub Command1_Click()
      
    Dim txt As Integer
    Dim fso As New FileSystemObject
    Dim tmp
    txt = 20
    Set tmp = fso.OpenTextFile("c:\file.txt", ForWriting, True)
    tmp.Write txt
    tmp.Close

    End Sub


    Вопрос:

       Тупой вопрос
       Открываю Notepad пишу туда число 20
       Закрываю. Смотрю размер файла - 2 байта
       Делаю тоже самое в ВБ

    Dim FileNum As Integer
    Dim txt As Byte
    FileNum = FreeFile

    txt = 20
    Open "c:\file.txt" For Output As FileNum
    Write #FileNum, txt
    Close #FileNum
    Смотрю размер 4 байта

    Мне необходимо создать именно 2 байтовый
    Пробовал через Binary Access - добавляются левые символы
    Помогите примером

    Ответ:

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

    Dim intFileNum As Integer
    Dim bytDigit As Byte

             intFileNum = FreeFile
             bytDigit = 20

             Open "c:\file.txt" For Output As intFileNum

                     'Вместо Write нужно Print
                     'Перед записью в файл, преобразуем Byte в String
                     'с удалением лишних пробелов

                     Print #intFileNum, Trim(Str(bytDigit));

                     'Добавить точку с запятой ОБЯЗАТЕЛЬНО!
                     'Без онной в конец будут добавленны 2 кода ANSI/ASCII:
                     '10 (LF - код перевода строки) и 13 (CR - код абзаца)

             Close #intFileNum
             'Смотрю, размер уже 2 байта


    Вопрос:

       Подскажите как сохранить фаил .txt не вызывая диалога сохранения

    Ответ:

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

    open FileName$ for output as #1
      print #1, YourText$
    close


    Вопрос:

       Как сделать, чтобы RichTextBox скроллился автоматически?

    Ответ:

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

    Private Type SCROLLINFO
         cbSize As Long
         fMask As Long
         nMin As Long
         nMax As Long
         nPage As Long
         nPos As Long
         nTrackPos As Long
    End Type
    Private Declare Function GetScrollInfo Lib "user32" (ByVal hwnd As Long, ByVal n As Long, lpScrollInfo As SCROLLINFO) As Long
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Const SIF_RANGE = &H1
    Const SB_VERT = 1

    Dim lHeight As Long, OnePixel As Long
    Dim S As SCROLLINFO
    Private Sub Command1_Click()
       Do
         DoEvents
         ScrollUp 50
       Loop
    End Sub

    Private Sub Form_Load()
      rtb1(0).LoadFile App.Path & "\mydoc.rtf", rtfRTF
      Picture1.Move rtb1(0).Left, rtb1(0).Top, rtb1(0).Width, rtb1(0).Height
      Set rtb1(0).Container = Picture1
      OnePixel = Screen.TwipsPerPixelY
      S.cbSize = Len(S)
      S.fMask = SIF_RANGE
      Do
        Call GetScrollInfo(rtb1(0).hwnd, SB_VERT, S)
        If S.nMax = 0 Then Exit Do
        lHeight = S.nMax * OnePixel
        rtb1(0).Height = lHeight
      Loop
      If lHeight = 0 Then lHeight = rtb1(0).Height
      Text1 = lHeight / OnePixel
      rtb1(0).Move 0, 0
      Load rtb1(1)
      rtb1(1).Visible = False
    End Sub

    Private Sub ScrollUp(delay As Long)
       Sleep delay
       With rtb1(0)
        .Top = .Top - OnePixel
        If .Top + .Height = 0 Then
           .Move 0, 0
           rtb1(1).Visible = False
        End If
        If .Top + .Height <= Picture1.Height Then
           rtb1(1).Top = .Top + .Height
           rtb1(1).Visible = True
        End If
       End With
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
       End
    End Sub


    Вопрос:

       Как подключить FileSystemObject? Какая библиотека за нее отвечает?

    Ответ:

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

    Библиотека Microsoft Scripting Runtime (SCRRUN.DLL)


    Вопрос:

       Как найти число строк в Text1.Text?
    Как найти первое слово ия каждой стоки?
    Как польяоваться функцией Find в RichTextBox?

    Другими словами я соядал цикл:

             For i = 0 To [число строк в Text1.Text]
                     RTFText1.Find [первое слово ия строки i]
                     If [слово найдено] Then
                             . . .
                     End If
             Next i

    Всё что яаписанно в квадратных скобках, туда надо вписать правильный код.
    Да, и ещё, в Text1 текст записан вот так:

             чёрный, белый
             большой, малый
             . . .

    Ответ:

    Автор ответа: Ревягин_Алексей

       1) достаточно посчитать количество vbnewline'ов
       2) при поиске vbnewline'ов следующим символом искать пробел и выделить сово до пробела
       3)
          with rtfbox
          pos = .Find(SLOVO, 0, len(.text))


    Вопрос:

       Здрасьте, мой вопрос про изображения.
    Короче у элемента ImageBox есть свойство Stretch, оно подгоняет картинку под размеры элемента, но когда переносишь это изображение в PictureBox, то размеры опять меняются. А мне надо, чтобы они остались такими какими были в ImageBox (Stretch=true). Я пробовал делать так: Загружаю картинку в ИмагеБокс и с помощью метода PaintPicture пытаюсь перенести её в ПикчерБокс в том же виде, но получается ещё большая фигня чем была. Последнее я делал так:

    Private Sub Command1_Click()
    Image1.Picture = LoadPicture(Text1.Text)
    Picture1.ScaleMode = 3
    Picture1.PaintPicture Image1.Picture, 0, 0, Picture1.ScaleWidth,
    Picture1.ScaleHeight, _
    0, 0, Image1.Width, Image1.Height, vbSrcCopy
    End Sub

    Что здесь не так? Или как мне вообще перенести картинку из ImageBox (stretch=true) в PictureBox не потеряв размеров? Помогите пожайлуста, я уже просто в отчаянии, пробовал и через буфер, и через файл - никак не получается. Была надежда на метод PaintPicture и та провалилась. Как мне сделать так, как написано выше?

    Ответ:

    Автор ответа: P@Ssword

    Picture1.PaintPicture Image1.Picture, 0, 0, Image1.Width, Image1.Height


    Вопрос:

       Вот вам товарищи программеры обломный вопрос - как вставлять модели 3DMax'а в VB6 программы и самое главное как ими потом управлять, если можно с примерами и по проще...
    А то вот собрался 3D елку к новому году зделать а как MAX'овские модели всавлять неизвестно :(
      
    P.S.
    кстати если кто хочет присоединится к моему проэкту всегда пожалуйста, несколько vb программеров работающих за одно - это сила :))

    Ответ:

    Автор ответа: -=CBK=-CRaSH

    Вставлять 3д модели в вб нальзя. но можно их саздавать с помощью OpenGl или DirectX


    Вопрос:

       Вот вам товарищи программеры обломный вопрос - как вставлять модели 3DMax'а в VB6 программы и самое главное как ими потом управлять, если можно с примерами и по проще...
    А то вот собрался 3D елку к новому году зделать а как MAX'овские модели всавлять неизвестно :(
      
    P.S.
    кстати если кто хочет присоединится к моему проэкту всегда пожалуйста, несколько vb программеров работающих за одно - это сила :))

    Ответ:

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

    Вставить в принцыпе не сложно... есть 3D движки для VB например Revolution 3D
    посмотри на сайте http://vbstreets.ru/
    или вот сам сайт разработчика движка там с примерами и прочее... интересная штучка ...
    http://revolution3d.net/


    Вопрос:

       Что такое Package & Deployment Wizard и нафиг это надо????

    Ответ:

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

    PDW это приблуда к VB нужна для создание установочных пакетов... она засовывает все ocx и Dll в один пакети потом при установке пихает все это куда укажеш там в win\system... и т.д. и в Пуск прописывает... вот.
    но кривая она лудше пользоваться какой нить другой например хотя бы NSIS


    Вопрос:

       Что такое Package & Deployment Wizard и нафиг это надо????

    Ответ:

    Автор ответа: -=CBK=-CRaSH

    Создавать инсталяшки к твоим проектам. В них запиханы все файлы требуюшиеся для работы твоей проги


    Вопрос:

       Что такое Package & Deployment Wizard и нафиг это надо????

    Ответ:

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

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


    Вопрос:

       Что такое Package & Deployment Wizard и нафиг это надо????

    Ответ:

    Автор ответа: Rutshtein Alex

    Это программа для создания инсталляции своей программы, написанной на VB. Для чего это надо? EXE-шник программы, написанной на VB требует наличия библиотеки msvbvb60.dll и других OCX-компонентов, которые были использованы при создании программы. Если программа (EXE-файл) переносится на другой компьютер, то должны перенестись и указанные выше файлы. Package & Deployment Wizard создаёт инсталляционный пакет, включая туда все необходимые файлы.


    Вопрос:

       Есть ли у кого-нибудь библиотека Microsoft Data Bound Grid Control 5.0 или ссылка где её можно скачать. В VB6.0 у меня она отсутствует.

    Ответ:

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

    Незнаю где от Microsoft взять эту штуку но вот тут есть гриды и покруче http://componentone.com/ кряк найти можно в инете на той же http://astalavista.com/ или www.cracks.am


    Вопрос:

       есть прога которая паботает с базой данных mbd. Переношу на другую машину, инсталлирую. При запуске пишет что не может найти поставщика данных. Для доступа к базе использую Microsoft Jet 3.51 OLE DB Provider(выбираю в свойствах элемента ADO Data).
    В литературе пишут что надо создать источник данных, т.е. файл с расширением mdl. Это не получилось. Тем не менее приложение работает на машине где есть VB.
    Win 2000
    VB 6.0

    Ответ:

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

    попробуй скачай вот эту штуку http://www.microsoft.com/data/download_21242023.htm
    это комплект доступа к данным
    и поставь на машине где хочеш установить эту прогу...


    Вопрос:

       есть прога которая паботает с базой данных mbd. Переношу на другую машину, инсталлирую. При запуске пишет что не может найти поставщика данных. Для доступа к базе использую Microsoft Jet 3.51 OLE DB Provider(выбираю в свойствах элемента ADO Data).
    В литературе пишут что надо создать источник данных, т.е. файл с расширением mdl. Это не получилось. Тем не менее приложение работает на машине где есть VB.
    Win 2000
    VB 6.0

    Ответ:

    Автор ответа: Rutshtein Alex

    Попробуй создать инсталляцию при помощи Package & Deployment Wizard, идущий в комплекте с VB, он все необходимые файлы включит в себя и, соответственно установит на другой компьютер


    Вопрос:

       есть прога которая паботает с базой данных mbd. Переношу на другую машину, инсталлирую. При запуске пишет что не может найти поставщика данных. Для доступа к базе использую Microsoft Jet 3.51 OLE DB Provider(выбираю в свойствах элемента ADO Data).
    В литературе пишут что надо создать источник данных, т.е. файл с расширением mdl. Это не получилось. Тем не менее приложение работает на машине где есть VB.
    Win 2000
    VB 6.0

    Ответ:

    Автор ответа: Ревягин_Алексей

    нужно поместить в директорию с программой файлы MSJINT35.DLL и т. д.


    Вопрос:

       Помогите! Кто-нибудь знает как сделать прогу, которая по нажатию на кнопку (Command1 например) удаляла бы все файлы из заданой папки?
    И еще. Кто-нибудь знает как сделать прогу при запуске которой по эрану бегала бы какая-нибудь зверюшка (может кто-нибудь видел овцу бегающую по экрану)?

    Ответ:

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

    посмотри на сайте http:\\vbstreets.ru\ там полно всякой такой лабуды...


    Вопрос:

       Помогите! Кто-нибудь знает как сделать прогу, которая по нажатию на кнопку (Command1 например) удаляла бы все файлы из заданой папки?
    И еще. Кто-нибудь знает как сделать прогу при запуске которой по эрану бегала бы какая-нибудь зверюшка (может кто-нибудь видел овцу бегающую по экрану)?

    Ответ:

    Автор ответа: -=CBK=-CRaSH

    ну про удаления это легко

    Public sub command1_click()
    on error goto fuck
    dim str as string
    str=text1.text 'в текстовом поле text1 хранится путь к папке с файлами Например C:\window\ последний слеш обязателен
    kill str
    exit sub
    fuck:
    msgbox "Типа ошибка"
    End sub

    А вот со вторым проблема


    Вопрос:

       Как пользоваться DLL?
    Желательно с примерами, но без ссылок.

    Ответ:

    Автор ответа: Ревягин_Алексей

    указываешь в Project->References нужную библиотеку, а потом в коде объявляешь переменную как этот объект и всё

       dim asd as MyLib

       sub asdasd()

       asd.adsdasd (ПАРАМЕТРЫ_ФУНКЦИИ)
       
       end sub


    Вопрос:

       Пишу:

    private sub fff (optional option1 as byte)

    Print IsMissing(option1)
    end sub

    Не работает всегда говорит False
    а если пишу

    private sub fff (optional option1)

    Print IsMissing(option1)
    end sub

    Все работает правельно !
    Кто янает почему ???

    Ответ:

    Автор ответа: Андрей Германович

    логично, ибо пара "optional/IsMissing" работает тока на Variant-параметры, а еси указан тип, то параметр инициалица в дефолт, а енто уже не миссинг.


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

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

    наверх


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

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