Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Поворот картинки на 30, 90, 45(и тд) градусов Добавлено: 09.12.03 00:09  

Автор вопроса:  >>> MUXzzzz <<< | Web-сайт: www.netbugs.ru | ICQ: 884468 

САБЖ :)
1)А Как повернуть картинку, на альфа градусов на VB6?

2)А еще чё за прикол такой, пишу:

a=300

a=a*130

'пока все ОК

a=300 * 130

' а здесь Owerflow :))

Сколько на ВБ кодю, только щас заметил :),что за приколы такие, кто нибудь знает?

Ответить

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

Номер ответа: 1
Автор ответа:
 Last_Santa



ICQ: 200700724 

Вопросов: 38
Ответов: 329
 Web-сайт: localhost
 Профиль | | #1
Добавлено: 09.12.03 02:07
действительно прикол главное и при integer, и при long, и при variant
:)

Ответить

Номер ответа: 2
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #2
Добавлено: 09.12.03 02:22

как я уже тут говорил забудьте про вариант переменный и про все функции связаные с ними..... ИХ НЕТ !

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

Пример

Dim a As Long

Dim b As Byte, c As Byte

b = 100

c = 67

a = b * c

кажется код обсалютно правелен .. ведь... переменная А может хранить в себе число 670... но !!!!! для вычесления переменной А будет использована ячейка памяти размером в 1 БАЙТ ! (мы то умножаем переменные типа БАЙТ) вот и возникнет переполнение...

Изменим слегка пример ...

Dim a As Long

Dim b As Long, c As Byte

b = 100

c = 67

a = b * c

... иии... и всё нормально рабоатет так как ВБ будет использовать .... под вычесление самую большую ячейку памяти .. то бишь если у нас один тип Байт (1 байт) а другой тип Лонг (4 байта...) то ВБ использует ячейку в 4 байта и всё у нас будет ОК....

теперь говорю про вашь пример ....

a = 300 * 130

ведь твои цифирки надо где то хранить так ?... ну вот для 130 подойдёт тип байт .... а вот под число 300 ... уже нет... ВБ возьмёт следующую за ним велечину .. и она будет Integer (2 байта) .. так теперь мыслим лагически.. если как я сказал ВБ использует максимальную величину.. то под вычесление выделит 2 байта... а число с типом интигер сможет .... сожержать максимум.. только .... (положительное) 32767... а ты путаешься впихнуть .... 300*130 = 39000 .... 39000 не поместится в этой переменной ... и по этому получается переполнение СВЕРХУ...

Понятно ?

Ответить

Номер ответа: 3
Автор ответа:
 Swift



Вопросов: 5
Ответов: 43
 Профиль | | #3 Добавлено: 09.12.03 10:41

Declare Function PlgBlt Lib "gdi32" (ByVal hdcDest As Long, lpPoint As POINTAPI, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hbmMask As Long, ByVal xMask As Long, ByVal yMask As Long) As Long

поворот. Прямоугольник в параллелограм.

Работает только для NT, 2000, XP

Ответить

Страница: 1 |

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



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