Страница: 1 |
Страница: 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
я вот про это не понял:
Зачем выходить из Do...Loop, если даже один проход в теле цикла не совершен???
Мож переменные не правильно обявляешь, вернее тип не тот присваиваешь...
Короче весь код давай... или осмысленный отрезок кода с объявлениями переменных.
Номер ответа: 6
Автор ответа:
MaAst
Вопросов: 15
Ответов: 63
Профиль | | #6
Добавлено: 06.02.07 17:16
не пинайте так сильно лузера
читал... но в тех которые у меня есть ниче полезного толком нет, ибо знаю только где можно купить книжки "для чайников".
я ж написал, это кусок, причем вырезаный где попало, здесть тока те циклы, где возникает ошибка... осмысленный кусок имеет в себе ~500 строк кода, а вообще тут 3 модуля, в каждом ~1500 строк.. все выложить из-за такого идиотского вопроса?
тип переменных iIndexInf и 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
Лучше сходи сначала на второй адрес, а то мож там нужной тебе к ниги и нет.