[ C# / Java ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by procedure, 2 Nov 2008.

  1. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Вопросы по Visual C#
    1. Как сделать отправку HTTP запроса? :) (на гугл) // Сделал уже.
    Принять, обработать регуляркой.
    2. Как сделать выпадающее меню в listBox? :)
     
    #461 Ctacok, 28 May 2010
    Last edited: 28 May 2010
  2. vicgerrard

    vicgerrard New Member

    Joined:
    4 Apr 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Используй ComboBox
     
  3. cel1697i845

    cel1697i845 Elder - Старейшина

    Joined:
    22 Nov 2008
    Messages:
    618
    Likes Received:
    396
    Reputations:
    80
    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. Будет ли при этом идти экономия интернет трафика? Или все так же будет скачивать(все страницу).
    Заранее спасибо.
     
  4. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    1. http://msdn.microsoft.com/ru-ru/library/system.io.stream.read(VS.90).aspx вместо ReadToEnd();
    2. по идее будет
     
    1 person likes this.
  5. 043nKRuT0y

    043nKRuT0y Elder - Старейшина

    Joined:
    31 Oct 2007
    Messages:
    226
    Likes Received:
    8
    Reputations:
    0
    Всем привет ! Есть такой вопрос - как в С# легче работать с системами счисления !
    Нужно быстро переводить из 2-ной в 8, 10, 16 !!!

    Заранее благодарен !
     
  6. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    как сделать условие на длинну ввода числа? То есть, так, чтобы программа работала только если вводишь число, содержащее больше 7 цифр и не больше 12, например 12345678 или 27461859823 - это первый вопрос))

    второй. Как подсчитать кол-во записей, анпример , внесенный в RichBox, т.е. в РичБоксе есть несколько внесенный записей. Запись номер 1: ФИО1, НОМЕР1, СУММА1
    Запись номер 2: ФОИ2,НОМЕР2, СУММА2 - то есть зкол-во записей = 2. Слышал, что можно через массив и применить massiv.count. Есть ли еще варианты, мож попроще есть? Если нет, то привидите плиз пример с массивом=))
     
  7. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    1)
    Code:
    if (textBox1.Text.Length < 7 || textBox1.Text.Length > 12)
        return;
    
    else
    {
         //твой код;
    }
    2)
    Code:
    richTextBox1.Lines.Length
     
    #467 BrainDeaD, 31 May 2010
    Last edited: 31 May 2010
    1 person likes this.
  8. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    А если у меня слудующая запись(Не встрочку, а в столбик):
    Счет 1:
    ФИО1
    Счет1
    Сумаа1


    Счет2
    ФИО2
    Счет2
    Сумма2

    для такого расклада richTextBox1.Lines.Length тоже катит?)
     
  9. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    нет. в таком случае тебе надо парсить свой текст типа
    Code:
    foreach (string str in richTextBox1.Text)
                { if str.Contains"какое нибудь уникальное ключевое слово, встречающееся в каждой записи";}
    
    но не понимаю, почему бы тебе не считать записи при вводе в ричбокс?
     
  10. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    создал метод для проверки длинны номера:
    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"	
     
    1 person likes this.
  11. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    попробовал сделать такой метод:
    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)
                                {
    все равно записывает счет любой....
     
  12. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    Code:
    Оператор "!=" не может применяться к операндам типа "int" и "string"
    оператор сравнения не может быть применён к различным типам. поменяй int на string у num

    что делает функция TryInt(interv.ToString()) ? что она возвращает?
     
    #472 BrainDeaD, 31 May 2010
    Last edited: 31 May 2010
  13. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    проверяем переменную целая она или нет и переводим ее в string
     
  14. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    да мне кажется что все бы заработала если бы тут if (tb2.Text.Length < 7 || tb2.Text.Length > 12)
    он не ругался и не говорил что tb2 не существует в данном контексте
     
  15. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    дай сюда весъ метод TryInt.

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

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    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;
    }
    }
     
  17. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    методы в принципе ок. у меня всё работает. я бы ещё поменял всё int на long, так как 12-значное число слишком велико для int. и раз ты уже передаёшь значение number функции TryNum, то и проверяй его а не tb2.Text. тоесть так if (number.ToString().Length < 7 || number.ToString().Length > 12). вызывай функцию например в коде главной формы так TryNum(long.Parse(tb2.Text))

    edit:если ты не хочешь вызывать функции из кода формы, а производишь вызов из другого класса, то передавай класс формы как параметр функции или параметр конструктора класса. по другому ещё можно определитъ таблицы как статические свойства формы и обращатъся к ним типа Форма.Свойство.
     
    #477 BrainDeaD, 31 May 2010
    Last edited: 31 May 2010
  18. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    млять, всегда удивлялся как компилер может такое пропускать?

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

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    ну пацанчик походу только начинает. все мы когда-то начинали. ооп в принципе простая вещь, но допереть до неё сразу не просто. зато в один момент приходит озарение, и всё идёт как по маслу.
    ну так компайлер ошибку палит. он только не может сказать какого класса объект, так как возможно в каждом классе есть свой tb2.
     
    1 person likes this.
  20. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    BrainDeaD,
    скажи, было у тя когда нить, что например открываешь свой проект и , например, решаешь добавить менюшку, добавил, добавил код. А когда нажимаешь Debug ничего не происходит,т.е. компилер отказывается принимать любое новшество?
     
Loading...
Similar Threads - Java начинающим задаем
  1. b3
    Replies:
    4
    Views:
    3,033