Evento Change TextField – Como contar o número de caracteres

A Classe TextField tem 4 eventos: change, link, scroll e input. Nesse tutorial vou trabalhar com o evento “change” para fazer um pequeno contador de caracteres. O evento change como o nome sugere é chamado quando o inputText é alterado. Então vamos começar o tutorial:

package
{
	//importando as classes necessárias
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.text.TextFieldType;

	/**
	 * ...
	 * @author Fellyph Cintra
	 */
	public class ContaTexto extends MovieClip
	{
		//
		public var campoInput	:TextField;
		public var campoConta	:TextField;
		public var titulo		:TextField;

		public var contador		:Number = 0;
		public var maximo		:Number = 140;

		public function ContaTexto()
		{
			// instanciando os campos
			campoConta 	= new TextField();
			campoInput 	= new TextField();
			titulo 		= new TextField();

			//definindo nosso campo input
			campoInput.type = TextFieldType.INPUT;

			//definindo a quantidade maxima de caracteres que é 140
			campoInput.maxChars = maximo;

			//adicionando os campos ao palco
			addChild(campoInput);
			addChild(campoConta);
			addChild(titulo);

			titulo.text = "digite seu texto";
			titulo.x = 50
			titulo.y = 30

			//definindo algumas caracteristicas do textIpunt
			campoInput.width		= 200;
			campoInput.height 		= 80;
			campoInput.border		= true;

			// definir como multline
			campoInput.multiline	= true;

			// definir a quebra de linha quando chegar no final
			campoInput.wordWrap		= true;
			campoInput.x 			= 50;
			campoInput.y 			= 50;

			campoConta.width 		= 50;
			campoConta.height 		= 20;
			campoConta.border		= true;
			campoConta.y 			= 135;
			campoConta.x 			= 200;

			campoConta.text 		= "140";

			//adicionando o evento change ao campo de texto
			//notem que change não um TextEvent e sim um Event
			campoInput.addEventListener(Event.CHANGE, onChange);
		}

		private function onChange(e:Event):void
		{
			// subitraindo o numero maximo pela quantidade de caracteres
			campoConta.text = maximo - campoInput.text.length  + "";
		}

	}

}

O código já está comentado para facilitar o entendimento, mas o princípio básico é:

  • Definir a quantidade máxima de caracteres
  • Adicionar o evento de listener
  • E fazer o tratamento na função que o listener chama

o resultado vai ser o seguinte:

[flash https://www.fellyph.com.br/blog/wp-content/uploads/2010/07/main.swf w=470 h=300]

2 respostas para “Evento Change TextField – Como contar o número de caracteres”

  1. Oi, sr. felipe !

    Eu tentei fazer mais não funcionou,por algum erro meu,apesar de não ser nova no flash… eu preciso muito desse código funcional… por acaso vc não me envia o arquivo ( FLA) para treinar ..

Deixe uma resposta

This site uses Akismet to reduce spam. Learn how your comment data is processed.