ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #481  
Старый 31.05.2010, 14:47
Аватар для jecka3000
jecka3000
Постоянный
Регистрация: 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)
                            {
все равно записывает счет любой....
 
Ответить с цитированием

  #482  
Старый 31.05.2010, 15:23
Аватар для BrainDeaD
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

Код:
Оператор "!=" не может применяться к операндам типа "int" и "string"
оператор сравнения не может быть применён к различным типам. поменяй int на string у num

что делает функция TryInt(interv.ToString()) ? что она возвращает?

Последний раз редактировалось BrainDeaD; 31.05.2010 в 15:29..
 
Ответить с цитированием

  #483  
Старый 31.05.2010, 15:31
Аватар для jecka3000
jecka3000
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме:
2052341

Репутация: 95
По умолчанию

проверяем переменную целая она или нет и переводим ее в string
 
Ответить с цитированием

  #484  
Старый 31.05.2010, 15:33
Аватар для jecka3000
jecka3000
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме:
2052341

Репутация: 95
По умолчанию

да мне кажется что все бы заработала если бы тут if (tb2.Text.Length < 7 || tb2.Text.Length > 12)
он не ругался и не говорил что tb2 не существует в данном контексте
 
Ответить с цитированием

  #485  
Старый 31.05.2010, 15:34
Аватар для BrainDeaD
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

Цитата:
Сообщение от jecka3000  
проверяем переменную целая она или нет и переводим ее в string
дай сюда весъ метод TryInt.

edit: он не видит твой tb2 из другого класса. ты должен его сделать общедоступным. ещё надо инклудить forms
 
Ответить с цитированием

  #486  
Старый 31.05.2010, 15:40
Аватар для jecka3000
jecka3000
Постоянный
Регистрация: 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;
}
}
 
Ответить с цитированием

  #487  
Старый 31.05.2010, 16:24
Аватар для BrainDeaD
BrainDeaD
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #488  
Старый 31.05.2010, 16:54
Аватар для GhostOnline
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Цитата:
edit: он не видит твой tb2 из другого класса. ты должен его сделать общедоступным. ещё надо инклудить forms
млять, всегда удивлялся как компилер может такое пропускать?

ЗЫ читая тему пришел к выводу что в сишарп лезут люди, далекие от ООП.
Сцуко, ненавидел дельфи за то что говнокодеры так и прут, в шарпе видимо все еще хуже
 
Ответить с цитированием

  #489  
Старый 31.05.2010, 17:03
Аватар для BrainDeaD
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

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

  #490  
Старый 31.05.2010, 19:58
Аватар для jecka3000
jecka3000
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме:
2052341

Репутация: 95
По умолчанию

BrainDeaD,
скажи, было у тя когда нить, что например открываешь свой проект и , например, решаешь добавить менюшку, добавил, добавил код. А когда нажимаешь Debug ничего не происходит,т.е. компилер отказывается принимать любое новшество?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы и ответы - *NIX Сервера. zythar *nix системы 294 17.06.2010 08:39
Обсуждение темы. Форум - Faq. Вопросы и Ответы. Егорыч+++ Правила форума 55 16.06.2010 01:07
Форум - Faq. Вопросы и Ответы. Егорыч+++ Правила форума 0 07.06.2008 18:52
Мультимедийные Обучающие Курсы TeachPro Java VenTeL ПО для Web разработчика 8 24.04.2008 15:38
Словарь Java-терминов foreva Чужие Статьи 0 08.02.2005 16:28



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ