Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 16:53   #1
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
Сообщение ReadKey

Здраствуйте!

Необходимо производить ввод данных в Console(с учетом регистра) так что бы при вводе они не отображались т.е строка ввода оставалась пустая.

Таким методом выводит строку в верхнем регистре:
Код:
using System;
using System.Text;

class Program
{
	static void Main()
	{
		ConsoleKeyInfo input;
           		StringBuilder password = new StringBuilder();        
                      do
	           {
			input = Console.ReadKey(true);
                                 password.Append((char)input.Key);  
		}while(input.Key != ConsoleKey.Enter);
		Console.WriteLine(password.ToString());
	}
}
Сделал так:
Код:
using System;
using System.Text;

class Program
{
	static void Main()
	{
		ConsoleKeyInfo input;
                      StringBuilder password = new StringBuilder();        
                      do
		{
		           input = Console.ReadKey(true);
                                 switch (Convert.ToInt32(Console.CapsLock))
                                 {
                                 		case 0:					
					switch(Convert.ToInt32(ConsoleModifiers.Shift == input.Modifiers))
                    				{
                                                        	case 0:
                            					password.Append(Convert.ToString((char)input.Key).ToLower());
                            					break;
                        				case 1:
                            					password.Append(Convert.ToString((char)input.Key).ToUpper());
                            					break;
                    				}
                    				break;			
				case 1:
                    				switch(Convert.ToInt32(ConsoleModifiers.Shift == input.Modifiers))
                    				{
                        				case 0:
                            					password.Append(Convert.ToString((char)input.Key).ToUpper());
                            					break;
                        				case 1:
                            					password.Append(Convert.ToString((char)input.Key).ToLower());
                            					break;
                    				}   
					break;
            		}
		}while(input.Key != ConsoleKey.Enter);
		Console.WriteLine(password.ToString());
	}
}
Подскажите если можно по-проще и по красивей сделать.

Последний раз редактировалось Evgeniy26; 07.12.2009 в 16:59.
Evgeniy26 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компилятор не распазнает функцию readkey и keypressed _PROGRAMM_ Паскаль, Turbo Pascal, PascalABC.NET 2 09.09.2009 16:06
Как с помощье ReadKey определить что нажата клавиша "Стрелка" Викдон Паскаль, Turbo Pascal, PascalABC.NET 5 05.02.2009 00:47
readkey в Delphi slips Общие вопросы Delphi 3 28.10.2008 21:04