Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 |

 

  Вопрос: HScroll в ListBox Добавлено: 09.03.05 23:05  

Автор вопроса:  ZagZag | ICQ: 295002202 

Ответить

  Ответы Всего ответов: 54  

Номер ответа: 46
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #46
Добавлено: 18.03.05 12:35
Ура! На Windows 2000 тоже заработало :)
Редкое приятное исключение.

Ответить

Номер ответа: 47
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #47
Добавлено: 18.03.05 12:44
Кстати, может кто объяснит мне почему ZF у меня не устанавливается на XLAT? Или так и должно быть?

Function LB_ItemLen(ByVal pItemText As Long, ByVal FullLength As Long) As Long
#Register None
 ! MOV ESI, pItemText
 ! MOV ECX, FullLength
 ! MOV EBX, Offset IsTextTbl
 ! XOR EAX,EAX
Loop1:
 ! MOV AL, BYTE PTR [ESI]
 ! XLAT
 ! CMP AL,0
 ! JE Finish
 ! DEC ECX
 ! JZ Finish
 ! INC ESI
 ! JMP Loop1

Finish:
 ! MOV EAX, FullLength
 ! SUB EAX, ECX
 ! INC EAX
 ! MOV Function, EAX
 Exit Function

IsTextTbl:
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H20,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H30,&H31,&H32,&H33,&H34,&H35,&H36,&H37,&H38,&H39,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H41,&H42,&H43,&H44,&H45,&H46,&H47,&H48,&H49,&H4A,&H4B,&H4C,&H4D,&H4E,&H4F
! DB &H50,&H51,&H52,&H53,&H54,&H55,&H56,&H57,&H58,&H59,&H5A,&H0,&H0,&H0,&H0,&H5F
! DB &H0,&H61,&H62,&H63,&H64,&H65,&H66,&H67,&H68,&H69,&HA,&HB,&HC,&HD,&HE,&HF
! DB &H70,&H71,&H72,&H73,&H74,&H75,&H76,&H77,&H78,&H79,&H7A,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
! DB &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
'! DB &H0,&H1,&H2,&H3,&H4,&H5,&H6,&H7,&H8,&H9,&HA,&HB,&HC,&HD,&HE,&HF
End Function                          

 Просто лишнее CMP AL,0 не хочется писать, а так конечно мне по барабану :)

Ответить

Номер ответа: 48
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #48 Добавлено: 18.03.05 15:54
Вот так будет короче и быстрее:

    mov esi, offset SearchStr
    mov ecx, FullLength
    mov ebx, offset IsTextTbl
    xor eax, eax
 @Lp:
    mov al, byte ptr[esi]
    test cl, byte ptr[ebx+eax]
    jz Finish
    inc esi
    loopnz @Lp

Finish:

Ответить

Номер ответа: 49
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #49 Добавлено: 18.03.05 15:56
пардон, конечно же
mov esi, offset pItemText

Ответить

Номер ответа: 50
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #50
Добавлено: 18.03.05 19:40
Хи, для PB значит... Ну наконец-то ты пришел к выводу что ВОТ ТАКАЯ ЗАПИСЬ ОПЕРАТОРОВ ВЫГЛЯДИТ КРИВОВАТО И Выбрал Смешаный Регистр Символов :)

Теперь уже и понять-то сложно какой код PB а какой VB :) Но смешаный - смотрится, имхо, лучше :)

Ответить

Номер ответа: 51
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #51
Добавлено: 19.03.05 11:30

Ну наконец-то ты пришел к выводу что ВОТ ТАКАЯ ЗАПИСЬ ОПЕРАТОРОВ ВЫГЛЯДИТ КРИВОВАТО И Выбрал Смешаный Регистр Символов :)

 О чём ты? И почему у тебя столько больших букв? Тоже шифт западает? ;)

Ответить

Номер ответа: 52
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #52
Добавлено: 19.03.05 11:34
cresta,
 Вопрос был несколько в другом. Должен ли устанавливаться флаг нуля после XLAT или это в Intel'е не предусмотрено?

Ответить

Номер ответа: 53
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #53 Добавлено: 19.03.05 13:42
XLAT/XLATB - Translate
        Usage: XLAT translation-table
                XLATB (masm 5.x)
        Modifies flags: None

Поэтому последующий cmp нужен. А чтобы не делать лишних движений предложил test cl, byte ptr[ebx+eax]. Это позволяет проверить разом на ноль и ecx, и байт в таблице. Заодно ещё одна загрузка экономится.

Ответить

Номер ответа: 54
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #54
Добавлено: 19.03.05 14:01
Угу, мог и сам посмотреть :) Ну да ладно, этот участок к скорости не критичен, поэтому переписывать не буду. Но на будущее учту :)

Ответить

Страница: 1 | 2 | 3 | 4 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам