Может кому-то понадобится, что я накопал минут за 40...
Формат APV-файла
Заголовок
5 байтов Сигнатура APV-файла "VBAPI" 56 42 41 50 49
1 байт Версия Api Viewer (в данном случае 3) - 03
4 байта Число процедур (long)
4 байта Число функций (long)
4 байта Число констант (long)
4 байта Число типов (long)
4 байта Назначение непонятно, число 1024 (long) или 00 00 04 00
4 байта Назначение непонятно, число 2560 (long) или 00 00 0A 00
10 байтов Дата файла в формате dd.mm.yyyy
Названия функций, процедур
2 байта Длина названия N (short)
N байт Название функции (ASCII)
Параметры функций, процедур
2 байта Длина названия N (short)
N байт Строка вида "advapi32" Alias "AccessCheckAndAuditAlarmA" (?SubsystemName As String, HandleId As Any, ?ObjectTypeName As String, ?ObjectName As String, SecurityDescriptor As SECURITY_DESCRIPTOR, ?DesiredAccess&, GenericMapping As GENERIC_MAPPING, ?ObjectCreation&, GrantedAccess&, ?AccessStatus&, ?pfGenerateOnClose&)&
Первая подстрока в кавычках - имя DLL, содержащей функцию, иногда без расширения, иногда с другим расширением.
Пробел
Затем Alias "имя функции в DLL" , либо ничего
Открывающая скобка
Список параметров через точку с пробелом
"?", если ByVal
"~", если ByRef
"" в некоторых случаях (ByRef)
Имя параметра
Тип параметра:
"&", если Long
" As тип", если иное
"%", если Integer
"", иногда
Закрывающая скобка
Тип функции
"&", если Long
" As тип", если иное
"%", если Integer
"", если процедура
Названия типов
2 байта Длина названия N (short)
N байт Название типа (ASCII)
Описание типов
2 байта Длина названия N (short)
N байт Форматированный набор элементов, с табуляцией, переводом строки и комментариями, вместо последнего перевода строки перед End Type символ #13 (0D)
Названия констант
2 байта Длина названия N (short)
N байт Название константы (ASCII)
Значения констант
2 байта Длина названия N (short)
N байт Форматированное значение
Названия перечислений
2 байта Длина названия N (short)
N байт Название перечисления (ASCII)
Описание перечислений
2 байта Длина названия N (short)
N байт Форматированный набор элементов, с табуляцией, переводом строки и комментариями, вместо последнего перевода строки перед End Type символ #13 (0D)
Существует ли в VB6 возможность работать с DBF? Везде описывается работа с MDB. Если же есть возможность, то где можно об этом почитать? Либо, вкратце опишите как.
Ребят вопрос по части политики распространения коммерческих продуктов. Вобщем, поступил к нам заказ от америкосовской фирмы создать программу (не важно какую), которую в будущем эта самая фирма будет использовать в коммерческих целях.
Пожалуйста, если кто знает - ответьте на такой вопрос: разрешает ли соглашение Microsoft использовать программные VB-продукты в коммерческих целях. Допустим, что все созданное в VB разрешается продовать... А если используется компонент MSCOMCTL.ocx, к примеру? Сами знаете вопрос интересный и предлогаю его обсудить :)
Всё пытаюсь разобраться с базами данных MSccess, но по предложенным на бумаге примерам что-то не получается :( (по причине неполноо комплекта :)). Может есть у кого-нибудь исходники... Если есть то пожалуйста вышлите их на почту psinetron@mail.ru
Может кто-нибудь поможет решить задачу.
Даны итоги выборов в думу в городе: по К округам известно число голосовавших за представителей М партий, а также число не участвовавших в голосовании по каждому округу.
Выборы считаются состоявшимися, если в головании приняло участие не менее Р% избирателей. Определить, в каких округах выборы состоялись.
Есть в общем форма, на этой форме находится одно поле для ввода (field1) и список содержащее определённое значение (spisok), как сделать так что при обновлении Field, поле списка spisok1 стало активным ?
Ответы:
Вопрос:
Пишу:
Text1.Text = "Строка1" & Chr(13) & "Строка2"
А он мне всё в одной строке выдаёт, а вместо новой строки пишет символ перехода строки!
Как разнести переменные по строкам в Text1.text?
Хочу добавлять динамически контролы на форму.
Докапался примерно до такого:
Объект нужен в массиве и добавлять его с помощью load. Пробовал море раяных комбинаций, так и не понял.
Вот первоначальный вариант:
Dim Iconka(100) As PictureBox
Load (Ikonka)
Для тех, кто будет говорить примерно такое: Это уже тут сто рая обсуждалось. Профиль со всей почтой полетел.
Ты написал ActiveX библиотеку, а пытаешься использовать её как обычную. А надо её использовать как класс, предварительно подключив к проекту в Проект->Ссылки.
Вопрос:
Мой компьютер подсоединён к Интернет черея локальную сеть. Модема, как устройство на компьютере нет. Как мне определить, в каком режиме находится мой компьютер: "on line" или "off line" ?
Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" Alias "InternetGetConnectedStateExA" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Long, ByVal dwReserved As Long) As Long 'Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long 'this function used with IE4
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
Используй эту функцию:
inInet=InternetGetConnectedState(0, 0)
Или эту, для более полной информации о подключении:
Dim lFlags As Long, sNameBuf As String
sNameBuf=string$(512,vbnullchar)
inInet=InternetGetConnectedStateEx(lFlags, sNameBuf, 512, 0&)
Вопрос:
Как пользоваться "OnError GOTO"? В общем обьясните, как он работает?
Если в программе есть OnError GOTO metka, то при возникновении ошибки, программа переходит к этой метке, где по идее должна обробатываться ошибка. Если бы небыло этой строки, то прога просто бы зависла или завершила свою работу. Бедный юзер так бы и не узнал, что от него требовалось вставить дискету в флопак =)
Чувствую, что буду далеко не единственным, кто ответит на этот вопрос, но:
On Error Goto WasErr
' Далее следует код, в котором возможна ошибка
open "a:\1.txt" for input as #1
' Если произойдёт ошибка дальше код не пойдёт...
close #1
MsgBox "Файл есть"
WasErr: ' метка, куда перейдёт выполнение кода при ошибке выше
' Этот код будет выполняться в любом случае, хотя, как правило,
' метку WasErr отделяют через Exit Sub или Exit Function
MsgBox "Конец кода"
Вопрос:
Как мне обвести несколько textbox'ов и получить их индексы?
Может так и не выйдет, но попробуй "просканировать" выделеную курсором прямоугольную область (ну типа от координат нажатия кнопки мыши и до координат отпускания) а "сканить" типа так:
For each textbox in frmMain do
if textbox(i).left и textbox(i).Top входят в выделенную область, то сохраняем индекс в массив then a(n)=i ну типа того. Это не код проги. Это всего лишь мысль.
Вопрос:
Как подсчитать c=(12^121) mod 247, я все перепробовал, кроме цикличного вычитания 247.
Стандатрными средствами VB - никак.
Вообще (a mod b) == a - int(a / b) * b
Но, дело в том, что большие числа хранятся в экспоненциальном виде (mantissa*10^exponent или E), при этом в мантиссе сохраняется только 15 знаков после запятой. Именно 15, т.к., на самом деле мантисса приводится к такому виду, что бы целая часть была равна нулю, но первый знай после запятой отличался от нуля. Таким образом, при больших числах (>1E15) теряются значащие знаки. В обычном случае это бы и ничего, но при вычислении остатка - недопустимо.
Выход есть - писать свои функции математических операторов, которые работали бы с числами как со строками.
Вопрос:
Напишите код, как lock'ить listBox перед заполнением, если не трудно.