Вопросы по Visual C# 1. Как сделать отправку HTTP запроса? (на гугл) // Сделал уже. Принять, обработать регуляркой. 2. Как сделать выпадающее меню в listBox?
C# Для получения HTML страницы использую вот этот код: Code: HttpWebRequest r = (HttpWebRequest)WebRequest.Create("http://google.ru"); string str = new StreamReader(r.GetResponse().GetResponseStream(), Encoding.GetEncoding(1251)).ReadToEnd(); richTextBox1.Text = str; Вопросы: 1. Как можно сделать что бы считывать не весь код а только первые (к примеру 50 символов). 2. Будет ли при этом идти экономия интернет трафика? Или все так же будет скачивать(все страницу). Заранее спасибо.
1. http://msdn.microsoft.com/ru-ru/library/system.io.stream.read(VS.90).aspx вместо ReadToEnd(); 2. по идее будет
Всем привет ! Есть такой вопрос - как в С# легче работать с системами счисления ! Нужно быстро переводить из 2-ной в 8, 10, 16 !!! Заранее благодарен !
как сделать условие на длинну ввода числа? То есть, так, чтобы программа работала только если вводишь число, содержащее больше 7 цифр и не больше 12, например 12345678 или 27461859823 - это первый вопрос)) второй. Как подсчитать кол-во записей, анпример , внесенный в RichBox, т.е. в РичБоксе есть несколько внесенный записей. Запись номер 1: ФИО1, НОМЕР1, СУММА1 Запись номер 2: ФОИ2,НОМЕР2, СУММА2 - то есть зкол-во записей = 2. Слышал, что можно через массив и применить massiv.count. Есть ли еще варианты, мож попроще есть? Если нет, то привидите плиз пример с массивом=))
1) Code: if (textBox1.Text.Length < 7 || textBox1.Text.Length > 12) return; else { //твой код; } 2) Code: richTextBox1.Lines.Length
А если у меня слудующая запись(Не встрочку, а в столбик): Счет 1: ФИО1 Счет1 Сумаа1 Счет2 ФИО2 Счет2 Сумма2 для такого расклада richTextBox1.Lines.Length тоже катит?)
нет. в таком случае тебе надо парсить свой текст типа Code: foreach (string str in richTextBox1.Text) { if str.Contains"какое нибудь уникальное ключевое слово, встречающееся в каждой записи";} но не понимаю, почему бы тебе не считать записи при вводе в ричбокс?
создал метод для проверки длинны номера: Code: public static int TryNum(int number) { if (tb2.Text.Length < 7 || tb2.Text.Length > 12) { MessageBox.Show("Ошибка! Прочитайте инструкцию!", "Ошибка ввода"); return 0; } else { return number; } } применяю его в основной программе: Code: int num = Account.TryNum(tb2.Text); if (num != "<Ошибка>") { отсюда несколько ошибок: Code: Элемент "tb2" не существует в текущем контексте. (Хотя на самом деле имя и все остальное правильное=)) дальше идет вообще бред=) Code: Невозможно объявить локальную переменную с именем "num" в этой области видимости, т.к. она придаст другое значение "num", которое уже используется в области видимости "родительский или текущий" для обозначения другого понятия Это уже ругается на вот этот маленбкий кусочек кода в основной программе. Code: Оператор "!=" не может применяться к операндам типа "int" и "string"
попробовал сделать такой метод: Code: 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; //возвращаем значение, попадающее в интервал } Code: num = Account.TryInterval(num, 7, 12); if (num != 0) { все равно записывает счет любой....
Code: Оператор "!=" не может применяться к операндам типа "int" и "string" оператор сравнения не может быть применён к различным типам. поменяй int на string у num что делает функция TryInt(interv.ToString()) ? что она возвращает?
да мне кажется что все бы заработала если бы тут if (tb2.Text.Length < 7 || tb2.Text.Length > 12) он не ругался и не говорил что tb2 не существует в данном контексте
дай сюда весъ метод TryInt. edit: он не видит твой tb2 из другого класса. ты должен его сделать общедоступным. ещё надо инклудить forms
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; } }
методы в принципе ок. у меня всё работает. я бы ещё поменял всё int на long, так как 12-значное число слишком велико для int. и раз ты уже передаёшь значение number функции TryNum, то и проверяй его а не tb2.Text. тоесть так if (number.ToString().Length < 7 || number.ToString().Length > 12). вызывай функцию например в коде главной формы так TryNum(long.Parse(tb2.Text)) edit:если ты не хочешь вызывать функции из кода формы, а производишь вызов из другого класса, то передавай класс формы как параметр функции или параметр конструктора класса. по другому ещё можно определитъ таблицы как статические свойства формы и обращатъся к ним типа Форма.Свойство.
млять, всегда удивлялся как компилер может такое пропускать? ЗЫ читая тему пришел к выводу что в сишарп лезут люди, далекие от ООП. Сцуко, ненавидел дельфи за то что говнокодеры так и прут, в шарпе видимо все еще хуже
ну пацанчик походу только начинает. все мы когда-то начинали. ооп в принципе простая вещь, но допереть до неё сразу не просто. зато в один момент приходит озарение, и всё идёт как по маслу. ну так компайлер ошибку палит. он только не может сказать какого класса объект, так как возможно в каждом классе есть свой tb2.
BrainDeaD, скажи, было у тя когда нить, что например открываешь свой проект и , например, решаешь добавить менюшку, добавил, добавил код. А когда нажимаешь Debug ничего не происходит,т.е. компилер отказывается принимать любое новшество?