Comunidad de diseño web y desarrollo en internet online

cuantos if se pueden poner dentro de una sentencia

Citar            
MensajeEscrito el 25 Ene 2007 02:39 pm
Hola, gente....
Tengo una duda, me gustaría saber cuantos if se pueden poner dentro de una misma sentencia...

Me explico, estoy intentando hacer una especie de calendario y quiero asignar el nombre de mes dependiendo de una variable, que tengo que controlar 12 veces (12 meses)... Pero cuando voy por el octavo if y le doy a controlar el scrip siempre me sale un error.... :twisted:

Si no se pueden poner mas de 7 if... Que puedo hacer???? :cry: :cry: :cry:

Alguien tiene alguna idea????

Muchas gracias :wink: :lol:

P.D. Ah.. he probado tambien con el switch(case), pero me sucede lo mismito... :cry:

Por Babau

26 de clabLevel



Genero:Femenino  

Italia

msie
Citar            
MensajeEscrito el 25 Ene 2007 03:46 pm
El problema no está allí. Enséñanos el código.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 25 Ene 2007 04:16 pm
No debe por que dar problemas, quizá no hayas puesto unas " o algo. pero aqui te dejo un ejemplo usando switch si es que vas a poner otro procesos dependiendo del mes

Código :

var mes:Number = random(11);
var nombre_mes:String = "";
switch (mes) {
case 0 :
   nombre_mes = "Enero";
   break;
case 1 :
   nombre_mes = "Febrero";
   break;
case 2 :
   nombre_mes = "Marzo";
   break;
case 3 :
   nombre_mes = "Abril";
   break;
case 4 :
   nombre_mes = "Mayo";
   break;
case 5 :
   nombre_mes = "Junio";
   break;
case 6 :
   nombre_mes = "Julio";
   break;
case 7 :
   nombre_mes = "Agosto";
   break;
case 8 :
   nombre_mes = "Septiembre";
   break;
case 9 :
   nombre_mes = "Octubre";
   break;
case 10 :
   nombre_mes = "Noviembre";
   break;
case 11 :
   nombre_mes = "Diciembre";
   break;
}
trace(nombre_mes);


O si solo vas a poner el mes, te conviene usar algo como esto

Código :

var mes:Number = random(11);
var nombre_mes:Array = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
trace(nombre_mes[mes]);


update, gracias HernanRivas
Los meses están indexados en 0, es decir enero es 0, febrero es 1, marzo es 2, etc

Por bryanisimo

664 de clabLevel



Genero:Masculino  



Ultima edición por bryanisimo el 26 Ene 2007 10:56 pm, editado 1 vez

Geek

firefox
Citar            
MensajeEscrito el 25 Ene 2007 04:23 pm
Pues... no se... he controlado todo y parece que no haya ningun error... hasta que pongo el octavo mes no me da ningun error... y cuando pongo el octavo... se acabó....
Pero bueno... os pongo el script y a ver si encontrais algo...

Código :

function controlmes(a) {
   if (a == 01) {
      giornimese = 31;
      mese = "Gennaio";
   } else if (a == 02) {
      giornimese = 28;
      mese = "Febbraio";
   } else if (a == 03) {
      giornimese = 31;
      mese = "Marzo";
   } else if (a == 04) {
      giornimese = 30;
      mese = "Aprile";
   } else if (a == 05) {
      giornimese = 31;
      mese = "Maggio";
   } else if (a == 06) {
      giornimese = 30;
      mese = "Giugno";
   } else if (a == 07) {
      giornimese = 31;
      mese = "Luglio";
   }else if (a == 08) {
      giornimese = 31;
      mese = "Agosto";}
}


Bueno.. y aqui tendrian que seguir los meses...
Me podéis ayudar??? snif, snifff :cry: ... :crap:
Graaaacias... :)

:swat: *Editado zguillez: Utiliza las etiquetas [code] para postear código.

Por Babau

26 de clabLevel



Genero:Femenino  

Italia

msie
Citar            
MensajeEscrito el 25 Ene 2007 04:35 pm
coloca los números sin el cero delante

Código :

} else if (a == 8) {

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 26 Ene 2007 08:00 am
Pues si.. era culpa de los ceros... Pero el problema es que el formato de mes que debo poner es de dos cifras, o sea 01,02...
Así que lo he solucionado poniendo las comillas "" y convirtiendolo en un String....
O sea que al final lo he solucionado.... :lol: :lol:

Muchas graciaaaaas a todos... sobre todo a Zguillez
:wink:
(upsss... tienes razón me olvide del [code]) :oops:

Por Babau

26 de clabLevel



Genero:Femenino  

Italia

msie
Citar            
MensajeEscrito el 26 Ene 2007 06:22 pm

nekropixel escribió:

Los meses están indexados en 0, es decir enero es 0, febrero es 2, etc


Febrero sería 1, Marzo sería 2 :wink:

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 26 Ene 2007 06:37 pm

Código :

function nombreMes( month:Number):String
{
   meses = Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
   return meses[month-1];
}

function esBisiesto(year:Number):Boolean {
      return ((year%4 == 0) && (year%100 != 0)) || (year%400 == 0) ? true : false;      
};


function diasMes(year:Number, month:Number):Number
{
   switch(month)
   {
      case 1,3,5,7,8:
      dias = 31;
      break;
      case 2:
      dias = (esBisiesto(year))?29:28;
      break;
      case 4,6,9,11:
      dias = 30;
      break;
      default:
         dias = null;
      break;
   }
   return dias;
}
trace ( nombreMes(2) + " dias: " + diasMes(2000,2));

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.