Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Owerflow в for и прочих циклах... Добавлено: 05.02.07 21:00  

Автор вопроса:  MaAst
Хелп ми плиз!
У меня при вставлении одного цикла for в другой вылетает "Arifmetic operation ... Owerflow" - как это исправить? посмотрел в поиске, нашел ток про Owerflow в вычислениях(плохо искал видно), но в циклах такой метод "исправления" почему-то не действует(а именно в VB 2005, в VB6 все по маслу)
вот пример куска кода, где возникает этот загадочный Owerflow:

                Do
                    Form5.PictureBox1.Width = Form5.PictureBox2.Width * (i / (Len(iString) - 1))
                    CurNx = Microsoft.VisualBasic.Right(Microsoft.VisualBasic.Left(iString, i + Nmax), Nmax)
                        SNum = 0
                        For a = 0 To 255
                            For n = 0 To iIndexInf(a)

                                For ik = 0 To qNum
                                    If CurNx <> "" Then
                                        If Left(CurNx, ik + Nmin) = Left(FullData(a, n), ik + Nmin) Then
                                            huinia = huinia & Chr(a)
                                            FilePut(5, Chr(a))
                                            SNum = ik + Nmin
                                        End If
                                    End If
                                    Application.DoEvents()
                                Next
                            Next
                        Next
                    Application.DoEvents()
                    Exit Do
                    MsgBox(SNum)
                    i = i + SNum
                Loop

причем не в do...loop а в первом for...next!
(хотя заменять все на do и аналоги пробовал!)
как мне этот Owerflow исправить? вроде он возникает если результат арифметической операции не помещается в переменную, но тут все переменные - Long...
Заранее спасибо!

Ответить

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

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



Вопросов: 15
Ответов: 63
 Профиль | | #1 Добавлено: 05.02.07 21:04
ЗЫ: много чего вырезал местами... глупо выглядит теперь код :)

Ответить

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



Вопросов: 15
Ответов: 63
 Профиль | | #2 Добавлено: 05.02.07 21:16
ауч... все каким-то образом заработало %)
я в ступоре :-\

Ответить

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



Вопросов: 15
Ответов: 63
 Профиль | | #3 Добавлено: 05.02.07 22:04
ой... рано радовался :-\
Owerflow снова здеся 8(

Ответить

Номер ответа: 4
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #4 Добавлено: 06.02.07 00:12

блин.. ну что издевательство над НЕТ????? (((
Ты вообще книжки читать по НЕТ не пробовал, нет???
Так попробуй... помогает..
Особенно рекомендую почитать главы про работу со строками в НЕТ и еще про операции файлового ввода вывода.. судя по твоему коду тебе это крайне необходимо..

З.Ы. Что вообще должен делать этот кусок "кода"?

Ответить

Номер ответа: 5
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #5 Добавлено: 06.02.07 13:08
я вот про это не понял:
Exit Do

Зачем выходить из Do...Loop, если даже один проход в теле цикла не совершен???

Мож переменные не правильно обявляешь, вернее тип не тот присваиваешь...
Короче весь код давай... или осмысленный отрезок кода с объявлениями переменных.

Ответить

Номер ответа: 6
Автор ответа:
 MaAst



Вопросов: 15
Ответов: 63
 Профиль | | #6 Добавлено: 06.02.07 17:16
не пинайте так сильно лузера :)

Ты вообще книжки читать по НЕТ не пробовал, нет???

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

я вот про это не понял

я ж написал, это кусок, причем вырезаный где попало, здесть тока те циклы, где возникает ошибка... осмысленный кусок имеет в себе ~500 строк кода, а вообще тут 3 модуля, в каждом ~1500 строк.. все выложить из-за такого идиотского вопроса? :)
тип переменных iIndexInf(a) и qNum - Long, обьявляю их в другом модуле "public qNum as long"

Ответить

Номер ответа: 7
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #7 Добавлено: 06.02.07 18:12
MaAst где живешь? (В маскве есть Библио Глобус, там книг для чайников нету)

Ответить

Номер ответа: 8
Автор ответа:
 MaAst



Вопросов: 15
Ответов: 63
 Профиль | | #8 Добавлено: 06.02.07 18:35
в подмосковье.
а по какому адресу этот Библио Глобус?)

Ответить

Номер ответа: 9
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #9 Добавлено: 09.02.07 16:51
Мясницкая 6
www.biblio-globus.ru
Лучше сходи сначала на второй адрес, а то мож там нужной тебе к ниги и нет.

Ответить

Страница: 1 |

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



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