RDot

RDot (https://rdot.org/forum/index.php)
-   Software development (https://rdot.org/forum/forumdisplay.php?f=19)
-   -   Вопросы по .NET / Java (https://rdot.org/forum/showthread.php?t=12)

Ded MustD!e 02.07.2010 21:13

Вопросы по .NET / Java
 
В этой теме задаем вопросы по .NET языкам/Java.

SeNaP 30.09.2010 05:27

string text = "Итак, <b>поиск с заменой</b> осуществляется с помощью метода <b>Replace</b>.";

Как выдрать отсюда , например Replace?
Я делаю так :
MatchCollection matches = Regex.Matches(text, @"(<b>.*?</b>)", RegexOptions.Singleline);
Console.WriteLine("Тестинг: " + matches[1].Value);
В итоге, у меня <b>Replace</b> выводится в месте с тегами, как убрать теги?
---------------
разобрался :) , теперь слово выводится без тегов
Регулярка:
Код:

(?<=<b>).*?(?=</b>)

SeNaP 30.09.2010 10:33

Теперь не могу разобраться с потоками :(
Код:

  void result()
        {
            for (int i = 0; i < 3000; i++)
            {
             
                label1.Text = i.ToString();
            }

        }

        private void button1_Click(object sender, EventArgs e)
        {
           
                Thread t = new Thread(result);
                t.Start();
                       
        }


rsaReliableS 30.09.2010 16:22

Цитата:

Сообщение от SeNaP (Сообщение 7296)
Теперь не могу разобраться с потоками :(

В подобных случаях следует юзать Invoke:

Код:

        delegate void STD(string text);
        void ololo(object obj)
        {
            label1.Text = (string)obj;
        }
        void result()
        {
            try
            {
                for (int i = 0; i < 3000; i++)
                {
                    STD std = new STD(ololo);
                    Invoke(std, i.ToString());
                }
            }
            catch { }
        }
        public void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(result);
            t.IsBackground = true;
            t.Start();
        }


SeNaP 02.10.2010 12:01

А как быть с функциями, которые возвращают значение , например string? Как их включить в поток?
http://i073.radikal.ru/1010/c3/75e5d5a03e6e.png

W!z@rD 02.10.2010 12:30

Если 1 поток пользуйся BackgroundWorker, тебе понадобится DoWork и RunWorkerCompleted

SeNaP 02.10.2010 12:36

Цитата:

Сообщение от W!z@rD (Сообщение 7360)
Если 1 поток пользуйся BackgroundWorker, тебе понадобится DoWork и RunWorkerCompleted

Можно немного по подробнее :) Я только начал учить этот ЯП

W!z@rD 02.10.2010 12:40

http://www.rsdn.ru/article/dotnet/CSThreading2.xml#EEE

тут довольно просто и понятно описано.

SeNaP 02.10.2010 14:40

Возник еще один вопрос.
Пытаюсь спарсить страницу с ВК. Имя вырезается регуляркой нормально, т.е. ошибок нет.
Код:

MatchCollection matches = Regex.Matches(reader.ReadToEnd(), "<div style=\"font-size:10px\">(.*?)</div> ");
А как пытаюсь вырезать всю информацию со страницы, то выдаётся ошибка.
Код:

An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in System.Windows.Forms.dll

Additional information: Specified argument was out of the range of valid values.

В чём может быть проблема?

W!z@rD 05.10.2010 08:28

что значит вырезать всю информацию?


Часовой пояс GMT +3, время: 08:53.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot