С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 30.10.2018
Сообщений: 11
1

Перенаправление Console.Writeline в TextBlock или textBox

04.11.2018, 18:05. Показов 2260. Ответов 4
Метки wpf (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.
Есть такой код
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
public void GetVersionFromRegistry()
        {
 
            // Opens the registry key for the .NET Framework entry.
            using (RegistryKey ndpKey =
                RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "").
                OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
            {
                // As an alternative, if you know the computers you will query are running .NET Framework 4.5 
                // or later, you can use:
                // using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, 
                // RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
                foreach (string versionKeyName in ndpKey.GetSubKeyNames())
                {
                    if (versionKeyName.StartsWith("v"))
                    {
 
                        RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
                        string name = (string)versionKey.GetValue("Version", "");
                        string sp = versionKey.GetValue("SP", "").ToString();
                        string install = versionKey.GetValue("Install", "").ToString();
                        if (install == "")
                        { //no install info, must be later.
                            Console.WriteLine(versionKeyName + "  " + name);
                            //TextBlock1.Text = versionKeyName + " " + name;
                        }
                        else
                        {
                            if (sp != "" && install == "1")
                            {
                                Console.WriteLine(versionKeyName + "  " + name + "  SP" + sp);
                                //TextBlock1.Text = versionKeyName + " " + name + "  SP" + sp;
                            }
                            
 
 
                        }
                        if (name != "")
                        {
                            continue;
                        }
                        foreach (string subKeyName in versionKey.GetSubKeyNames())
                        {
                            RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
                            name = (string)subKey.GetValue("Version", "");
                            if (name != "")
                                sp = subKey.GetValue("SP", "").ToString();
                            install = subKey.GetValue("Install", "").ToString();
                            if (install == "")
                            { //no install info, must be later.
                                Console.WriteLine(versionKeyName + "  " + name);
                                //TextBlock1.Text = versionKeyName + " " + name;
                            }
                            else
                            {
                                if (sp != "" && install == "1")
                                {
                                    Console.WriteLine("  " + subKeyName + "  " + name + "  SP" + sp);
                                    //TextBlock1.Text = subKeyName + " " + name + " SP" + sp;
                                }
                                else if (install == "1")
                                {
                                    Console.WriteLine("  " + subKeyName + "  " + name);
                                    //TextBlock1.Text = subKeyName + " " + name;
 
                                }
                            }
                        }
                    }
                }
            }
        }

Подскажите пожалуйста как вывести поток из консоли в TextBlock или TextBox
Заранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
9485 / 562 / 19
Регистрация: 12.04.2006
Сообщений: 11,671
Блог
04.11.2018, 18:05
Ответы с готовыми решениями:

Как писать в два или несколько столбцов в Console.WriteLine
Как писать в два или несколько столбцов в Console.WriteLine? \t Не надо, т.к. получается неровно

Использование для отладки Console.WriteLine или Debug.Print
Я научился использовать Console.WriteLine и смотреть результаты в окне Вывод. А где смотреть...

Как вывести в textBox значение Console.WriteLine("Data:{0}", str)
Здравствуйте. Подскажите пожалуйста как тут быть (

Использование Console.Write и Console.WriteLine
console.write(" ....") console.write(" ....") много таких записей но все пишутся в строку, я...

4
8943 / 4855 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.11.2018, 08:29 2
Лучший ответ Сообщение было отмечено Элд Хасп как решение

Решение

Зачем перенаправлять поток, если можно просто переделать метод, чтобы он возвращал строку, а уж эту строку передать куда нужно:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
static public string GetVersionFromRegistry()
{
    var result = new StringBuilder();
    // Opens the registry key for the .NET Framework entry.
    using (var ndpKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, string.Empty).
                        OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
    {
        // As an alternative, if you know the computers you will query are running .NET Framework 4.5 
        // or later, you can use:
        // using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, 
        // RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
        foreach (string versionKeyName in ndpKey.GetSubKeyNames())
        {
            if (versionKeyName.StartsWith("v"))
            {
 
                var versionKey = ndpKey.OpenSubKey(versionKeyName);
                var name = versionKey.GetValue("Version", string.Empty).ToString();
                var sp = versionKey.GetValue("SP", string.Empty).ToString();
                var install = versionKey.GetValue("Install", string.Empty).ToString();
                if (string.IsNullOrEmpty(install))
                { //no install info, must be later.
                    result.AppendFormat("{0} {1}", versionKeyName, name);
                    result.AppendLine();
                }
                else
                {
                    if (!string.IsNullOrEmpty(sp) && install == "1")
                    {
                        result.AppendFormat("{0} {1} SP {2}", versionKeyName, name, sp);
                        result.AppendLine();
                    }
                }
                if (name != string.Empty)
                {
                    continue;
                }
                foreach (var subKeyName in versionKey.GetSubKeyNames())
                {
                    var subKey = versionKey.OpenSubKey(subKeyName);
                    name = (string)subKey.GetValue("Version", string.Empty);
                    if (!string.IsNullOrEmpty(name))
                        sp = subKey.GetValue("SP", string.Empty).ToString();
                    install = subKey.GetValue("Install", string.Empty).ToString();
                    if (string.IsNullOrEmpty(install))
                    { //no install info, must be later.
                        result.AppendFormat("{0} {1}", versionKeyName, name);
                        result.AppendLine();
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(sp) && install == "1")
                        {
                            result.AppendFormat("{0} {1} SP {2}", subKeyName, name, sp);
                            result.AppendLine();
                        }
                        else if (install == "1")
                        {
                            result.AppendFormat("{0} {1}", subKeyName, name);
                            result.AppendLine();
                        }
                    }
                }
            }
        }
    }
    return result.ToString();
}
3
FateOri
05.11.2018, 20:07
  #3

Не по теме:

Цитата Сообщение от ViterAlex Посмотреть сообщение
Зачем перенаправлять поток
хорошо что есть такие люди как вы, которые подсказывают как надо делать а не тупо на поставленый вопрос отвечают))

0
8943 / 4855 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.11.2018, 21:08 4
FateOri, в данном конкретном случае слишком много геморроя перенаправлять поток вывода. Хотя и возможно. Поэтому я пошёл по пути наименьшего сопротивления
0
0 / 0 / 0
Регистрация: 30.10.2018
Сообщений: 11
06.11.2018, 20:31  [ТС] 5
ViterAlex, Спасибо большое я думал в этом направлении но не додумался сделать возврат, я пытался создать массив и засунуть в него данные вывода, а потом уже доставать оттуда эти данные и подставлять в TextBlock но понял что это геморно и надо несколько Textblock что бы вывести все данные из массивов, попробую по вашей рекомендации сделать посмотрю.
0
06.11.2018, 20:31
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
06.11.2018, 20:31
Помогаю со студенческими работами здесь

Console.WriteLine
1)Console.WriteLine(11% 7/3) 2)Console.WriteLine(25% 36/5) Что выдаст при вводе данных значений?

Console.WriteLine
Доброго времени суток. Не могу понять как я вывожу результат парсинга на свою html страницу. Вот...

Не работает Console.WriteLine
Здравствуйте, не выводит время Console.WriteLine в конце кода, а если вызвать раньше writeline то...

Формат времени в Console.WriteLine();
Даны три числа, например 5, 9 и 2. Их нужно записать в формате времени, то есть: 05:09:02 используя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru