Visual Basic 6.0 - Фокусы
Re: Фокусы
Hello, Dmitriy!
You wrote to "A. Skrobov" <A. Skrobov [@] p2.f175.n5020.z2.fidonet.org>to A.
Skrobov on 20 Jul 04 12:21:25:
DK> Кстати, еще одна такая фича: галочка Control Panel -> Display ->
DK> Effects -> Hide keyboard navigation indicators until I use the Alt key
DK> не влияет на подчеркивания в Label при UseMnemonic=True.
Это как раз естественно: VB6 выпустили, когда этой функциональности ещё не
было, вот и не предусмотрели. А в сервиспаках, наверное, не добавили "для
совместимости с существующими программами".
DK> Зато тут же лежит одна на этот раз приятная фича: при нажатии Access
DK> Key, содержащегося в тексте Label'а, фокус автоматически передается на
DK> ближайший (в смысле TabStop'а) контрол. Hе думал, что лейблам такое
DK> свойственно.
А это старая и хорошо забытая фишка. Имхо это ещё в VB3 было.
Аппельман в DAXC о ней, кстати, пишет.
* Origin: He should not be here when your mother is out! (2:5080/1003.16)
Re: Пpокpутка в TextBox
Hello, Roman!
You wrote to "A. Skrobov" <A. Skrobov [@] p2.f175.n5020.z2.fidonet.org>to A.
Skrobov on 21 Jul 04 01:04:40:
RY>>>>> А если загадки любишь - то загадку покажу. ;)
AS>>>> Давай ;-)
AS>>>> "В каждом исходнике должна быть загадка, а также подсказка и
AS>>>> отгадка" (почти анекдот)
RY>>> http://www.listsoft.ru/14897/
RY>>> Третья кнопка тулбара. ;)
AS>> Перетекают строки при наведении/потере фокуса. Это?
RY> Что делают???
Без фокуса надпись в две строчки, а с фокусом - в три. Или наоборот, точно
не помню ;-)
* Origin: Now the spot is all over DAD'S $10 SHOES! (2:5080/1003.16)
Unicode
Czes'c', All!
Как читать текстовый файл в Unicode?
scrrun.dll cannot be loaded. Что делать?
[END OF MESSAGE]
* Origin: Delete Software Limited, Moscow, Russia. (2:5020/1042.42)
Re: разница в записи
From: Alexander Asyabrik <belmis [@] mail.belpak.by>
Привет, Master.
Вы, было дело, писали 19 июля 2004 г., 9:31:
DK>> Const s1 As String = "ABC"
DK>> Const s2 = "DEF"
DK> Виноват, стормозил - неправильно прочел письмо Александра.
Это ладно, а вот ты мне лучше объясни, почему VarPtr для обоих
констант (а точнее для _любых_одинакового_типа) возвращает одинаковое
значение:
================
Const s As String = "Test1"
Const s1 As String = "Test2"
Const s2 As String = "Test3"
Const s3 As String = "Test4"
Const s4 As String = "Test5"
Const s5 As String = "Test6"
Const s6 As String = "Test7"
Private Sub Command1_Click()
Debug.Print VarPtr(s)
Debug.Print VarPtr(s1)
Debug.Print VarPtr(s2)
Debug.Print VarPtr(s3)
Debug.Print VarPtr(s4)
Debug.Print VarPtr(s5)
Debug.Print VarPtr(s6)
End Sub
=====================================
По клику - в Immediate Window столбец одинаковых цифр.
Они там, что, все внутри какого-то массива сидят? Или ... я ничего
не понимаю :(
--
С уважением, Alexander
10:07:25 PM
* Origin: Talk.Mail.Ru (2:5020/400)
Re: работа с постоянными данными более 2гб-1
From: Alexander Asyabrik <belmis [@] mail.belpak.by>
Привет, Roman.
Вы, было дело, писали 20 июля 2004 г., 20:19:
RY> А вот ReadFile/WriteFile - не хотит работать. ;(
Такой ход: вместо прямого указания далекой (> 2ГБ) позиции в
SetFilePointer(Ex) делать несколько перемещений с параметром
dwMoveMethod = FILE_CURRENT.
А вообще в Microsoft Knowledge Base Article - 189981 лежит
аккуратненький такой классик для работы с большими файлами:
Random.cls
'It encapsulates basic functionality for opening, closing, reading,
writing, and seeking on files using low-level Windows APIs to get
around the 2GB file limit.
'It provides basic error trapping.
--
С уважением, Alexander
8:22:07 PM
* Origin: Talk.Mail.Ru (2:5020/400)
Re: Unicode
Hello, Aleksej!
You wrote to <All>to All on 20 Jul 04 22:10:12:
AR> Как читать текстовый файл в Unicode?
StrConv(To_Kuda_Prochital, vbFromUnicode)
AR> scrrun.dll cannot be loaded. Что делать?
Звать телепатов ;-)
* Origin: Whose shoes did he use? I looked and saw whose! (2:5080/1003.16)
Re: разница в записи
Hello, Alexander!
You wrote to "Dmitriy Kozyrev"
Kozyrev [@] p148.f11.n5023.z2.fidonet.org>to Dmitriy Kozyrev on 20 Jul 04
22:28:41:
AA> Это ладно, а вот ты мне лучше объясни,
А можно я? ;-)
AA> почему VarPtr для обоих констант (а точнее для
AA> _любых_одинакового_типа) возвращает одинаковое значение:
При вызове VarPtr создаётся временная копия, после вызова уничтожается. Имхо
если между вызовами VarPtr какие-нибудь вещи делать, типа редимов, цифры
будут разные.
AA> Они там, что, все внутри какого-то массива сидят? Или ... я ничего
AA> не понимаю :(
Констант нет, они только кажутся ;-)
ЗЫ: наверняка какую-нибудь дурь щас пишу, здесь 3:13, и мозги уже не
варят...
* Origin: You can make a trick clock stack. (2:5080/1003.16)
test1
From: Dmitry Miloserdov <dim [@] kemtel.ru>
Привет, All,
Sorry, the test only due to impossibility to write anything into the
fido7 group :(
--
Best regards,
Dmitry Miloserdov
* Origin: http://www.softmajor.com (2:5020/400)
Re: разница в записи
From: Alexander Asyabrik <belmis [@] mail.belpak.by>
Привет, A Skrobov
(Странно: ты точку убрал, а она из откудова-то все равно
лезет и опять ты для The Bat! просто A и точка:)
Вы, было дело, писали 20 июля 2004 г., 22:14:
AA>> почему VarPtr для обоих констант (а точнее для
AA>> _любых_одинакового_типа) возвращает одинаковое значение:
AS> При вызове VarPtr создаётся временная копия, после вызова уничтожается. Имхо
AS> если между вызовами VarPtr какие-нибудь вещи делать, типа редимов, цифры
AS> будут разные.
Дык и с редимами попробовал - все едино остались одинаковыми эти
VarPtr. А вот если попытаться другого типа константу между однотипными
вклинить, то у нее будет другое значение VarPtr, а потом пойдет опять
тое самое :) Hе подходит под твою теорию. А вот действительно
смахивает на то, однотипные константы хранятся, объединенные в
каких-то массивах. Hу где там ваши CopyMemory и дебуггеры, посмотрите
че там внутрях, а то ведь и впрямь интересно...
--
С уважением, Alexander
7:24:23 AM
* Origin: Talk.Mail.Ru (2:5020/400)
Re: разница в записи
From: "A. Skrobov" <tyomitch [@] r66.ru>
Wed Jul 21 2004 08:38, Alexander Asyabrik wrote to A Skrobov:
AA> Привет, A Skrobov
AA> (Странно: ты точку убрал, а она из откудова-то все равно
AA> лезет и опять ты для The Bat! просто A и точка:)
Я не специально, это FL её в имени не пускает :-(
AA>>> почему VarPtr для обоих констант (а точнее для
AA>>> _любых_одинакового_типа) возвращает одинаковое значение:
AS>> При вызове VarPtr создаётся временная копия, после вызова уничтожается.
AS>> Имхо если между вызовами VarPtr какие-нибудь вещи делать, типа редимов,
AS>> цифры будут разные.
Вот: при вызове VarPtr создаётся временная копия, при следующем вызове
уничтожается. Видимо, временная копия всегда лежит по одному и тому же адресу,
зависящему только от типа. Подтверждение:
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"
(Destination As Any, Source As Any, ByVal Length As Long)
Const l1 As Long = 123
Const l2 As Long = 456
Private Sub Main()
Dim l As Long, addr As Long
addr = VarPtr(l1)
VarPtr (l2)
CopyMemory l, ByVal addr, 4
MsgBox l
End Sub
AA> Дык и с редимами попробовал - все едино остались одинаковыми эти
AA> VarPtr. А вот если попытаться другого типа константу между однотипными
AA> вклинить, то у нее будет другое значение VarPtr, а потом пойдет опять
AA> тое самое :) Hе подходит под твою теорию.
Ага, я вижу :-)
AA> А вот действительно смахивает на то, однотипные константы
AA> хранятся, объединенные в каких-то массивах.
Массив из одного элемента? Хм... ;-)
AA> Hу где там ваши CopyMemory и дебуггеры, посмотрите че там внутрях, а то
AA> ведь и впрямь интересно...
Скорее всего константа в памяти постоянно не хранится, а только подставляется
туда, куда нужно. Иначе можно было бы её изменить операцией
CopyMemory l1, 567, 4
ЗЫ: VarPtr - это пустышка из двух операций: mov eax, [esp + 4]; ret 4.
Её копать бессмысленно, а механизм вызова апей многие пытались копать, и
никому не удавалось ;-( Там такое наверчено - ужас...
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)