Ну из того кода что ты привел я вижу что изменения происходят не в других классах. Но не суть это вообще, с событиями по сути выйдет почти такой же код с делегатами что ты описал, только в другую сторону и инвочить будешь уже в обработчике формы, вообще именно через события и принято такое делать.
Я бы хотел посоветовать для начала замечательную статью на тему потоков и потокобезопасности: Часть 1 Часть 2 Во второй части более подробно рассмотрен invoke. Добавленно у меня в избранное.
нужна помощь. нада как нибуть переделать оперу чтобы при авторизации даные отправлялись на почту.ЗАПЛАЧУ! https://vk.com/i2015 icq 8788558
[C#] Подскажите, чтозанах... Есть код, который переводит число в бинарную систему исчисления: Code: int atlikums = 0; string rez = ""; int skaitlis = int.Parse(textBox1.Text); textBox1.Clear(); while (skaitlis > 0) { atlikums = skaitlis % 2; skaitlis = skaitlis / 2; rez += atlikums.ToString(); } Вывод, и собственно проблема: Code: int a = rez.Length; //последний бит теряется в выводе в textbox1 for (int i = rez.Length - 1; i != 0; i--) { textBox1.Text += rez[i].ToString(); } //работает на ура /* while (a > 0) { a--; textBox1.AppendText(rez[a].ToString()); } * */ Поясните, куда теряется последний последний бит (который должен быть воведен в textbox1.
Добрый день! Прошу помощи, собственно глупый вопрос на который ответ не нашел. Средствами C# получаю с БД(mysql) дату вида 1306947619. На каком этапе ее лучше всего приводить к человеческому, читаемому виду, во время вывода из БД(самим mysql) или C#(и кусок кода по возможност). Спасибо!
День добрый. Проблема такая: есть строка "text str_text text str", необходимо удалить все вхождения "str" но так чтобы подстроки, имеющие в своем составе "str" такие как "str_text" и подобные не были затронут. Тоесть вхождения, являющиеся отдельными словами. Реализация на c#
shiku Можно вот такими способами: PHP: string input = "str text str_text str text_str text str"; var regex = new Regex( @"((\s+|^)(?<s>str\s+))" + "|" + @"((?<s>\s+str)(\s+|$))"); string regexResult = regex.Replace(input, match => { if (match.Groups["s"].Success) { return match.Value.Replace(match.Groups["s"].Value, string.Empty); } return match.Value; }); Console.WriteLine(regexResult); string[] words = input.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var newWords = new List<string>(); foreach (var word in words) { if (word != "str") { newWords.Add(word); } } string joinResult = string.Join(" ", newWords); Console.WriteLine(joinResult); http://msdn.microsoft.com/ru-ru/library/hs600312.aspx
Пример кода, как переводить запись в дату: Code: private void button2_Click(object sender, EventArgs e) { //Так как БД, то значение хранится с момента пробуждения юникса - задаём начальное значение. DateTime l_UnixTime = DateTime.Parse("1970-01-01 00:00:00"); double l_ParseResult; //Парсим результат задаваемый пользователем, в твоём случе это необязательно, можно сразу передавать значение из БД. double.TryParse(textBox2.Text,out l_ParseResult); //Добавляем значение из БД в секундах и получаем дату обозначеную в БД. l_UnixTime = l_UnixTime.AddSeconds(l_ParseResult); //Тут на любителя формат вывода - 1 первый просто день недели, число и год. Под ним закамментин подробный вывод. MessageBox.Show(l_UnixTime.ToLongDateString()); //l_UnixTime.ToString("dd.MM.yyyy hh:mm:ss")); } Конвертация даты средствами SQL .
X-Rus, конечно, что то написал... но я предложу более тривиальное решение. Code: string m_Str = "str str_sdd str str_dfr dfkj str_dtrt str"; m_Str = m_Str.Replace("str ", ""); if (m_Str.IndexOf(" str", m_Str.Length - 4) != -1) { m_Str = m_Str.Remove(m_Str.Length - 4); MessageBox.Show(m_Str); }
Добрый день. Подскажите как правильно реализовать рандом в C#? У меня есть метод: PHP: static string GetRndStr() { Random rnd = new Random(DateTime.Now.Millisecond); string s = ""; Char[] Chars = new Char[36] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; for (int j = 0; j < rnd.Next(3, 30); j++) { s += Chars[rnd.Next(0, 35)]; } return s; } В результате такого заполнения массива: PHP: for (int i = 0; i < mas.Length; i++) { mas[i] = GetRndStr(); } Получается почти одинаковый текст во всех элементах массива: fda fda fda fda fda fda pl5ep pl5ep pl5ep pl5ep pl5ep Подскажите в чем дело?
shiku Проблема здесь: PHP: Random rnd = new Random(DateTime.Now.Millisecond); Используй один и тот же объект класса Random. Как-нибудь так: PHP: static Random rnd = new Random(); static string GetRndStr() { string s = ""; Char[] Chars = new Char[36] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; for (int j = 0; j < rnd.Next(3, 30); j++) { s += Chars[rnd.Next(0, 35)]; } return s; }
Будет не правильно работать если встретится например hfhf_str PHP: string str = "str"; string m_Str = "str str_sdd str str_dfr dfkj dfj_str djdh_str_sdj str_dtrt str"; string alt_m_Str = " " + m_Str + " "; m_Str = alt_m_Str.Replace(" " + str + " ", " "); m_Str = m_Str.Substring(1, m_Str.Length - 3); // можно на Trim заменить, если боковые пробелы не важны
Всем привет! Я решил подучить Java из видеокурса TeachPro 2005г. , там обучается Java 1.4.2. Курс очень хороший , просто сейчас уже есть Java7. Скажите пожалуйста , много ли отличий между версиями? Смогу ли я после этого курса хорошо овладеть Java7? Спасибо за помощь.