Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

31.05.2010, 14:47
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
попробовал сделать такой метод:
Код:
public static int TryInterval(int interv, int from, int to) //метод проверяет, попала ли переменная в заданный интервал
{
interv = TryInt(interv.ToString()); //вызываем TryInt, проверяем что переменная целая
if (interv > to || interv < from)
{
MessageBox.Show("Ошибка! Прочитайте инструкцию!", "Ошибка ввода");
return 0; //возвращаем 0 если переменная не попала в интервал
}
else return interv; //возвращаем значение, попадающее в интервал
}
Код:
num = Account.TryInterval(num, 7, 12);
if (num != 0)
{
все равно записывает счет любой....
|
|
|

31.05.2010, 15:23
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
Код:
Оператор "!=" не может применяться к операндам типа "int" и "string"
оператор сравнения не может быть применён к различным типам. поменяй int на string у num
что делает функция TryInt(interv.ToString()) ? что она возвращает?
Последний раз редактировалось BrainDeaD; 31.05.2010 в 15:29..
|
|
|

31.05.2010, 15:31
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
проверяем переменную целая она или нет и переводим ее в string
|
|
|

31.05.2010, 15:33
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
да мне кажется что все бы заработала если бы тут if (tb2.Text.Length < 7 || tb2.Text.Length > 12)
он не ругался и не говорил что tb2 не существует в данном контексте
|
|
|

31.05.2010, 15:34
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
Сообщение от jecka3000
проверяем переменную целая она или нет и переводим ее в string
дай сюда весъ метод TryInt.
edit: он не видит твой tb2 из другого класса. ты должен его сделать общедоступным. ещё надо инклудить forms
|
|
|

31.05.2010, 15:40
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
public static int TryInt(string strnum) //метод проверяет тип переменной
{
int tryme = 0;
try //проверяем тип переменной
{
tryme = int.Parse(strnum);
return tryme; //если переменная целого типа, возвращаем ее
}
catch //если тип не int, выводим предупреждение и возвращаем 0
{
MessageBox.Show("Ошибка! Прочитайте инструкцию!", "Ошибка ввода");
return 0; //возвращаем 0 в случае ошибки
}
}
public static int TryNum(int number)
{
if (tb2.Text.Length < 7 || tb2.Text.Length > 12)
{
MessageBox.Show("Ошибка! Прочитайте инструкцию!", "Ошибка ввода");
return 0;
}
else
{
return number;
}
}
|
|
|

31.05.2010, 16:24
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
методы в принципе ок. у меня всё работает. я бы ещё поменял всё int на long, так как 12-значное число слишком велико для int. и раз ты уже передаёшь значение number функции TryNum, то и проверяй его а не tb2.Text. тоесть так if (number.ToString().Length < 7 || number.ToString().Length > 12). вызывай функцию например в коде главной формы так TryNum(long.Parse(tb2.Text))
edit:если ты не хочешь вызывать функции из кода формы, а производишь вызов из другого класса, то передавай класс формы как параметр функции или параметр конструктора класса. по другому ещё можно определитъ таблицы как статические свойства формы и обращатъся к ним типа Форма.Свойство.
Последний раз редактировалось BrainDeaD; 31.05.2010 в 16:39..
|
|
|

31.05.2010, 16:54
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
edit: он не видит твой tb2 из другого класса. ты должен его сделать общедоступным. ещё надо инклудить forms
млять, всегда удивлялся как компилер может такое пропускать?
ЗЫ читая тему пришел к выводу что в сишарп лезут люди, далекие от ООП.
Сцуко, ненавидел дельфи за то что говнокодеры так и прут, в шарпе видимо все еще хуже
|
|
|

31.05.2010, 17:03
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
Сообщение от GhostOnline
ЗЫ читая тему пришел к выводу что в сишарп лезут люди, далекие от ООП.
Сцуко, ненавидел дельфи за то что говнокодеры так и прут, в шарпе видимо все еще хуже
ну пацанчик походу только начинает. все мы когда-то начинали. ооп в принципе простая вещь, но допереть до неё сразу не просто. зато в один момент приходит озарение, и всё идёт как по маслу.
Сообщение от GhostOnline
млять, всегда удивлялся как компилер может такое пропускать?
ну так компайлер ошибку палит. он только не может сказать какого класса объект, так как возможно в каждом классе есть свой tb2.
|
|
|

31.05.2010, 19:58
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
BrainDeaD,
скажи, было у тя когда нить, что например открываешь свой проект и , например, решаешь добавить менюшку, добавил, добавил код. А когда нажимаешь Debug ничего не происходит,т.е. компилер отказывается принимать любое новшество?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|