Показать сообщение отдельно
Старый 01.02.2011, 10:37
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Для проверки языка можно обойтись вообще без этих кодов. Я бы создал два массива, в один вписал русский алфавит, в другой английский, и проверял бы в каком находится буква:
Код AS3:
 
package  
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFieldType;
 
	public class Main extends Sprite
	{
		private var _rus:Array = ["а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я"];
		private var _eng:Array = [ "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"];
		private var _tf:TextField;
 
		public function Main() 
		{
			if (stage) init();
			else (addEventListener(Event.ADDED_TO_STAGE, init));
		}
 
		private function init(e:Event= null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			_tf = new TextField();
			_tf.type = TextFieldType.INPUT;
			_tf.background = true;
			_tf.backgroundColor = 0xFFFFB3;
			_tf.border = true;
			_tf.borderColor = 0x000000;
			_tf.x = 100;
			_tf.y = 100;
			_tf.width = 200;
			_tf.height = 20;
			stage.addChild(_tf);
 
 
 
			_tf.addEventListener(KeyboardEvent.KEY_UP, traceCharCode);
		}	
 
		private function traceCharCode(e:KeyboardEvent):void 
		{
			checkLanguage(_tf.text);
		}
		private function checkLanguage(string:String):void 
		{
			var letter:String = string.substr(string.length - 1, 1); // проверяю только последнюю введенную букву
			if (_rus.indexOf(letter.toLowerCase()) > -1) // конвертирую все введенные символы в нижний регистр, чтобы не делать массив больших и маленьких букв
				trace("вы печатаете на русском");
			else if (_eng.indexOf(letter.toLowerCase()) > -1) 
				trace("you are typing in english");
			else trace("language is undefined / язык не определен");
 
		}
	}
}