Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > cp866 & TextBox


Автор: _Equilibrium_ 2.10.2006, 10:09
Привет.

Есть текст, по всей видимости в кодировке cp866, получаемый из proc.StandardOutput.ReadToEnd(); Как отобразить этот текст в ReachTextBox, которая не хочет понимать русский текст в этой кодировке? 

Автор: Дрон 2.10.2006, 10:35
_Equilibrium_, если ты пролистаешь страницу до конца (или щёлкнешь на крутящуюся хрень рядом с названием темы), то ты увидишь, что была уже куча вопросов на эту тему. Особенно тебя должна заинтересовать тема с названием "Кодировка дос" smile

Автор: _Equilibrium_ 2.10.2006, 11:35
Искал и  не только по форуму… но то ли лыжи, то ли я…
Не работает. Задолбался … Я уже в кодировках путаться начал. При сохранение в файл “proc.StandardOutput.ReadToEnd();” он не читается ни одним редактором. Да чего уж там, он вообще нигде не читается. smile 
Вообще, мне здесь не надо с файлами работать. smile

Вот…  smile 

Автор: ivashkanet 2.10.2006, 11:57
_Equilibrium_, Ну так давай код  smile
Пиши конкретнее. А то на твой вопрос (-ы) очень доходчиво ответил Дрон smile 

Автор: _Equilibrium_ 2.10.2006, 12:16
ч0рт, йа так и знал...   smile 

Код

public void CMD(string s)
        {
            ProcessStartInfo ProcInfo = new ProcessStartInfo();
            Process proc = new Process();

            try
            {
                ProcInfo.Arguments = "/K" + s;
                ProcInfo.WorkingDirectory = textBox2.Text;
                ProcInfo.CreateNoWindow = true;
                ProcInfo.RedirectStandardOutput = true;
                ProcInfo.ErrorDialog = false;
                ProcInfo.ErrorDialogParentHandle = IntPtr.Zero;
                ProcInfo.FileName = "c:\\windows\\system32\\CMD.exe";
                ProcInfo.UseShellExecute = false;
                ProcInfo.WindowStyle = ProcessWindowStyle.Hidden;

                proc.StartInfo = ProcInfo;
                proc.Start();

            richTextBox1.Text += proc.StandardOutput.ReadToEnd();
    
                
                proc.Close();
                proc.Dispose();
            }

            catch (Exception)
            {

            }


 smile Чтобы TextBox отображал кирилицу.

Автор: Дрон 2.10.2006, 12:45
_Equilibrium_, 
добавь строку:
Код

                ProcInfo.StandardOutputEncoding = Encoding.GetEncoding(866);


Автор: _Equilibrium_ 2.10.2006, 13:35
Дрон, 

Спасибо!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)