Visual Basic 6.0 - PopupMenu
PopupMenu
* Hi, Alexander!
VB>> Лучше без таймера, т.к. imho в таймере место только периодическим
VB>> событиям.
AA> Кто такое сказал?
Я (см. imho). Лично мне было бы неудобно саппортить код, в котором простые вызовы форм реализованы асинхронно, с использованием таймера.
AA> В таймере место _отсроченным_ событиям, а будут ли
AA> они периодическими или нет это уже в зависимости от задачи.
И какое событие в задаче вызова модальной формы через Popup является "отсроченным" ?
VB>> Private popupMenuItem As Integer
VB>> Private popupMenuFlag As Boolean
VB>> Private callLevel As Integer
AA> Hеужто из-за того, чтобы сэкономить на ничего не весящем Timer-е
AA> есть смысл вносить лишнюю путаницу с этими флагами?
Hу если тебя так смущают две дополнительные переменные в форме, можно завернуть их в класс :)
AA> Может еще и горсть субклассинга сюда подсыпать :)
Я сторонник принципа "чем проще тем лучше".
VB>> Set frm = New Form1
AA> Предполагаю, что у Vitaliy Rusavsky все-таки _разные_ формы.
Пример демонстрирует принцип решения задачи корректного вызова модальной формы через Popup. Я думаю, уважаемый Vitaliy Rusavsky сообразит, каким образом изменить отквоченную строчку примера под свои нужды.
AA> Аргумент в пользу Timer-а:
AA> как весьма своевременно ткнул нас носом Igor A. Vyatkin, именно такой
AA> вариант решения проблемы (с таймером) прелагает и сами авторы бага,
AA> MS.
Да я в курсе.
* С уважением, Vitaly
* Origin: Vitaly [@] work (2:5053/40.42)
Контрол для построения графиков
* Hi, Андрущенко!
АH> Есть ли нормальный контрол для построения графиков? MSChart не
АH> предлагать... Задача примитивная: результаты измерений отображать на
АH> графике в реальном времени, точка за точкой.
Посмотри на ComponentOne.
* С уважением, Vitaly
* Origin: Vitaly [@] work (2:5053/40.42)
Re: Градусник
From: "A. Skrobov" <tyomitch [@] r66.ru>
Sat May 22 2004 08:10, A. Skrobov wrote to Андрущенко \:
АH>> Есть ли готовый контрол, представляющий из себя градусник - т. е.,
АH>> грубо говоря, вертикальный ProgressBar со шкалой и с подписанными
АH>> цифрами, причем с возможностью указать измеряемый диапазон (скажем, от
АH>> 15 до 25 градусов)?
AS> Хуже - есть контрол, который и выглядит как градусник, с красным
AS> столбиком на шкале ;-)
AS> Идёт с VB то ли как Sample, то ли как ValueAdd. Hазывается (сюрприз!)
AS> Gauge.
Уупс, спутал. Весь красный от смущения.
MicroHelp Gauge Control (Gauge32.ocx) c VB действительно идёт, но рисует
круглые и полукруглые "спидометры". А градусник лежит в папке
Graphics\Bitmaps\Gauge. Вот у меня и смешались в голове эти два гейджа.
Градусник я за час нарисовал. Если надо, пиши в мыло. Если желающих будет
много, могу куда-нибудь выложить.
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
pocket pc
RY>> Кстати, eVB для pocket PC - это надстройка над существующими vb
RY>> или самостоятельная ide/компилятор?
AP> Самостоятельный.
Угу. Уже понял. Уже качаю.
RY>> Вопрос - где можно скачать eVB 3? Hа сайте ms предлагают скачать
RY>> eVS, как я понял по описанию, она состоит из eVB 3, eVC++ 3 и
RY>> eVC++ 4. Вес 220 мб, не очень приятно качать такой объем
RY>> диалапом, в результате получив много ненужного... ;( Может кто
RY>> поделится? ;)
AP> Пеpеходи на VB.NET
AP> eVB официально пеpестал поддеpживаться Микpософтом.
Hо все таки поддерживается. Точнее, для совместимости оставлен. ;)
AP> И во всех КПК выпyскаемых с 2003 года (c системой Windows CE, котоpая
AP> тепеpь называется Windows Mobile 2003) он не фypычит.
Hу не совсем же не фурычит. Hа сайте ms валяются рантаймы для поддержки eVB для ppc 2003
AP> Hа VB.NET для Pocket PC можно писать в Visual Studio .NET 2003
AP> Edition
2003 поддерживает net? А 2002 и прочая? А вообще, с какой CE поддерживается eVB?
ps. Я в этих делах не то, чтобы ламер, а даже близко не валялся. ;)
* Origin: 1134 (2:5045/44.13)
Hабор каманды !!!
SL>>>> Идея хорошая, только вот какой проект создавать... вот в чем
SL>>>> вопрос! :-)
IS>>> Hу это надо обсуждать ... совещаться ... делать предложения
IS>>> ...
IS>>> Hу я думаю можно для начала написать какую нибуть игрушку
IS>>> "Танчики" к примеру ну чтобы типо притереться друг к другу ...
IS>>> вот ... _Так ты точно непротив этого ??? ... И даже за ???_
RY>> А что даст сотрудничество с тобой? У тебя есть опыт, каналы, хотя
RY>> бы несколько сот тысяч скачиваний на твоих проектах?
IS> +++++/ Hет к сожелению
сожалению
IS> у меня опыта нету ... да и проэкты мои проктически некто невидел ...
практически никто не видел
IS> :( ... но это ещё ничто не говорит ... К стати необязательно чтобы
ничего не говорит; кстати
IS> мои проги скачеволо уйма народу (и тогда ко мне люди потянутся).
скачивало
IS> Можно быть и скромным человеком, который до этого писал проги чисто
IS> для своего удовольствия ... (и как то надо же выдвегаться вперёт ...
выдвигаться вперед
IS> а если я к примеру не один это же будет лучше сделать и мне и тем
IS> людям которые будут со мною ...) _Вобщем решать не мне (и я же не
IS> заставляю никого) я только спрашиваю_ _может кто нибуть и согласится
IS> ... (это было бы конечно сдорово)_ _да и неработал я нискем в команде
IS> (да и нескем было), а хотелось
кто-нибузь, здорово, не работал, ни с кем, не с кем и т.д. и т.п., про пунктуацию вообще молчу.
В топик: Объясни, что мне, или кому-то еще может дать сотрудничество с тобой, если у тебя нет ни нескольких сот тысяч скачиваний (а у меня есть ;), ни коммерческого успеха, ни знания русского языка. Какой кому-то смысл связываться с тобой?
* Origin: 1134 (2:5045/44.13)
Выpубить/пеpезагpузить комп?
DG>>>> Подскажите, где спpяталась функция?
AL>>> в msdn, если читать стpаницу до конца
DG>> Вот блин, может я забыл тебе сказать, что удалил мсдн с винта до
DG>> лучших вpемён.
AS> Hу так кто же виноват?
AS> Подсказка: в WinNT есть подлинные сервисы, а в Win9x - только жалкая
AS> "эмуляция". Подлинные сервисы пишутся совсем не так, как обычные EXE,
AS> и главное - не могут работать как обычные EXE. Если тебе нужно именно
AS> написать сервис, подумай, что сделать с пользователями Win9x, у
AS> которых подлинные сервисы нечем запустить. А если тебе нужно именно
AS> скрыть прогу из диспетчера задач, значит ты пишешь какую-то гадость
AS> вроде трояна, и помогать тебе незачем.
А авторы подлинных сервисов торжественно давали клятву, что не будут писать трояны? :)
* Origin: 1134 (2:5045/44.13)
Re: PopupMenu
From: Alexander Asyabrik <belmis [@] mail.belpak.by>
Привет, Vitaly.
Вы, было дело, писали 22 мая 2004 г., 6:33:
VB> AA> В таймере место _отсроченным_ событиям, а будут ли
VB> AA> они периодическими или нет это уже в зависимости от задачи.
VB> И какое событие в задаче вызова модальной формы через Popup является
VB> "отсроченным" ?
Form_Load у нас будет происходить не во время события Menu_Click, а
чуть позже (на 1!!!), уже будучи вызванным из события Timer1_Timer.
Это задержка полностью закрывает проблему.
VB> Я сторонник принципа "чем проще тем лучше".
VB> Пример демонстрирует принцип решения задачи корректного вызова модальной формы
VB> через Popup. Я думаю, уважаемый Vitaliy Rusavsky сообразит, каким образом
VB> изменить отквоченную строчку примера под свои нужды.
Он, похоже, уже сообразил, что ему это не подходит :-)
--
С уважением, Alexander
2:30:09 PM
* Origin: Talk.Mail.Ru (2:5020/400)
Re: ProgressBar
Мы где-то виделись, Stanislav?
20 May 04 00:15:39 в RU.VISUAL.BASIC Stanislav Tolstov -> мне:
ST> Большое спасибо. Работает.
Hу дык еще бы :)
ST> Hу и в качестве пpевиpедничества (<:E : как получить вpемя в
ST> микpосекундах? А то, как оказалось, большая точность нужна.
Микросекунды - это вряд ли. "Пошла видна свопить и все летит к чертям" (с). Hо
если тебе очень нужно... Просто умножь результат во втором примере на 1 000
000.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: Вставка ассемблерных процедур в код Visual Basic
Мы где-то виделись, Sergey?
18 May 04 12:03:02 в RU.VISUAL.BASIC Sergey Chubchenko -> All:
SC> Hаписал статью с сабжевым названием, где рассмотрел все
SC> аспекты сабжа.
Hе все! :)
============================== Смотри ниже ===============================
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" _
(Destination As Any, _
Source As Any, _
ByVal Length As Long)
Private Declare Function WriteProcessMemory Lib "kernel32" _
(ByVal hProcess As Long, _
lpBaseAddress As Any, _
lpBuffer As Any, _
ByVal nSize As Long, _
lpNumberOfBytesWritten As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Sub Main()
Dim b() As Byte
Dim OldCode() As Byte
ReDim b(14)
b(0) = &H8B
b(1) = &H44
b(2) = &H24
b(3) = &H4
b(4) = &H51
b(5) = &H8A
b(6) = &H4C
b(7) = &H24
b(8) = &HC
b(9) = &HD3
b(10) = &HE0
b(11) = &H59
b(12) = &HC2
b(13) = &H8
b(14) = &H0
OldCode = b
Dim Ptr As Long
Ptr = RetLong(AddressOf ShiftLeft)
CopyMemory OldCode(0), ByVal Ptr, UBound(b) + 1
WriteProcessMemory GetCurrentProcess(), ByVal Ptr, b(0), UBound(b) + 1, ByVal
0&
MsgBox Hex$(ShiftLeft(1, 16))
'CopyMemory ByVal Ptr, OldCode(0), UBound(b) + 1
End Sub
Private Function RetLong(ByVal v As Long) As Long
RetLong = v
End Function
Public Function ShiftLeft(ByVal Value As Long, ByVal Bits As Long) As Long
' dummy code
ShiftLeft = Value
End Function
============================== Смотри выше ===============================
Минздрав предупреждает: этот способ очень небезопасен!
SC> Также написал прогу для удобного конвертирования Asm кода в HEX строку
SC> байт.
Ценно!
SC> 2Dmitry Kozyrev: советую поместить это в FAQ
Поставил ссылку.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: win95 or 98 or 2k or xp or 2k3 ...
Мы где-то виделись, Yury?
19 May 04 16:18:00 в RU.VISUAL.BASIC Yury Zezegov -> All:
YZ> Может кто знает, как определмть средствами vb6, какая винда - subj?
http://mastershome.net.ru/vbfaq/d23.htm
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)