Boa noite a todos,
Não sou um programador experiente em actionscript, na verdade só fiz programações básicas... Porém me deparei com uma situação que não consigo descobrir o problema.
Fiz uma rotina com switch composto por aproximadamente 1440 cases... São muitos, mas não encontrei outra forma de fazer. Na compilação nenhum problema, nos testes é que surgiu a situação estranha.
A partir de um determinado CASE ele não executa mais os passos programados... A rotina DEFAULT também não funciona, mas na compilação não há erros. Se eu apagar boa parte dos CASE o problema some, porém já apaguei partes diferentes, EX os 500 primeiros, depois os 500 últimos e nestas situações funcionou normal. Eu sei que a estrutura de todos os CASE está correta, mas...
Algúem sabe me dizer se existe um limite para o número de CASE dentro do SWITCH? Já tiveram problema semelhante? Não sei se existe alguma configuração da compilação que possa resolver o problema...
Muito obrigado a todos.
Rock N Roll
Marco Oliveira
Publicidade
|
|
Page 1 of 1
Problemas com Switch Problema estranho com Switch
#2
Posted 16 August 2011 - 01:09 PM
Pelo que sei, switch case não tem limites. Mas dependendo do seu objetivo, poderá otimizar e automatizar um pouco as coisas utilizandoloop for e if else.
Não sei se isso te ajuda, mas segue um exemplo com loop for + if else:
- Cria uma lista array pra cadastrar todos seus itens;
- Cria um loop for para automatizar a buscar pelo item que deseja resgatar nesta lista, utilizando o if else.
No código abaixo, criei uma lista onde está cadastrado 5 números. No loop for, faço a busca pelo valor que quero resgatar, no caso, busquei pelo valor numero 2 que está na lista. Se caso o valor que foi buscado não for encontrado, ele retorna uma mensagem.
Abraço.
Não sei se isso te ajuda, mas segue um exemplo com loop for + if else:
- Cria uma lista array pra cadastrar todos seus itens;
- Cria um loop for para automatizar a buscar pelo item que deseja resgatar nesta lista, utilizando o if else.
No código abaixo, criei uma lista onde está cadastrado 5 números. No loop for, faço a busca pelo valor que quero resgatar, no caso, busquei pelo valor numero 2 que está na lista. Se caso o valor que foi buscado não for encontrado, ele retorna uma mensagem.
//cadastra os items na lista, no teste estou cadastrando apenas numeros
var itemLista:Array = [1, 2, 3, 4, 5];
//qual valor você quer procurar na lista
var valorDeProcura:Number = 2;
//pega quantidade de valores que foi cadastrado na lista array
var quantidade:Number = itemLista.length;
//utiliza o loop for que irá percorrer por toda lista em busca do "valor de procura"...
for(var i:Number=0; i<quantidade; ++i)
{
//se o item atual da lista é igual ao valor de procura, faz algo...
if(itemLista[i] == valorDeProcura)
{
trace("valor encontrado "+ itemLista[i]);
break; //se já encontrou, não continue procurando, sai do loop for
}
//se não for encontrado o item na lista, faz outra coisa...
else
{
trace("valor não foi encontrado na lista.");
}
}Abraço.
#3
Posted 17 August 2011 - 05:47 PM
Boa tarde Rodrigo,
Obrigado pela ajuda.
Os valores verificados são digitados usando um teclado virtual. São formados por 3 digitos formados por Número Número Letra ou Letra Número Número. Existem 1440 valores possíveis, o restante é considerado inválido. Como este teclado não faz distinção sobre a ordem dos dígitos, existem muito possíbilidades. Portanto uma vez digitado o valor, eu "junto" cada um deles formando um único dado (EX: Dig1 = 1, Dig2 = 4, Dig3 = Y, junto formando 14Y, armazeno na variável temp e fazo o switch com esta variável).
Fiz uma rotina no mesmo padrão para outros valores de 3 e 4 dígitos e rodou blz. A única real mudança para esta nova rotina é a adição de novos CASES... Continuo tentando descobrir o problema, se não conseguir nada até o final desta semana vou colocar alguns LISTS e controlar de forma mais simples, porém visualmente não será como eu queria.
Obrigado novamente.
Obrigado pela ajuda.
Os valores verificados são digitados usando um teclado virtual. São formados por 3 digitos formados por Número Número Letra ou Letra Número Número. Existem 1440 valores possíveis, o restante é considerado inválido. Como este teclado não faz distinção sobre a ordem dos dígitos, existem muito possíbilidades. Portanto uma vez digitado o valor, eu "junto" cada um deles formando um único dado (EX: Dig1 = 1, Dig2 = 4, Dig3 = Y, junto formando 14Y, armazeno na variável temp e fazo o switch com esta variável).
Fiz uma rotina no mesmo padrão para outros valores de 3 e 4 dígitos e rodou blz. A única real mudança para esta nova rotina é a adição de novos CASES... Continuo tentando descobrir o problema, se não conseguir nada até o final desta semana vou colocar alguns LISTS e controlar de forma mais simples, porém visualmente não será como eu queria.
Obrigado novamente.
#4
Posted 18 August 2011 - 01:43 PM
Porque não cadastra essas combinações num XML, carrega ele e populando um ARRAY, e tenta com essa ideia veja se atende suas intenções:
var Codigos:Array = new Array("14Y","G23","52H");//aqui o array já possui conteúdo.
function validaCodigo(cod:String):Boolean {
if (Codigos.toString().indexOf(cod) > -1) {
return true;
} else {
return false;
}
}
function buscaCodigo(cod:String):void {
if (validaCodigo(cod)) {
trace("Seu código, " + cod + ", foi localizado.");
} else {
trace("Desculpe " + cod + ", não está na lista.");
}
}
buscaCodigo("14Y");
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
localhost em server da internet
como configurar no dream o server da net |
Dreamweaver |
hayabusa-123
|
|
|
|
Cofundador da Microsoft Paul Allen é diagnosticado com câncer
|
Notícias |
Notícias
|
|
|
|
12º Encontro de Web design Arteccom BH
|
Eventos |
Wagner de OLiveira Amaro
|
|
|
|
Oi faz parceria com BB e Cielo para pagamentos por celular
|
Notícias |
Notícias
|
|
|
|
Icon em arquivos FPDF
Com inserir um icon... |
PHP |
JeffScript
|
|
|
|
rafaeltatu.com.br - v1
avaliem |
Avaliação |
Tatu
|
|
|
|
Cães procuram companhia em nova rede social
|
Notícias |
Notícias
|
|
|
|
Nokia: compra da Symbian está dentro do cronograma
|
Notícias |
Notícias
|
|
Publicidade
|
|

Help













