Go Down

Topic: Mejorar código (Read 469 times) previous topic - next topic

PascuaL

Nov 08, 2012, 12:15 pm Last Edit: Nov 08, 2012, 12:17 pm by PascuaL Reason: 1
Hola a todos:
Resulta que sigo con mi afán de hacer alarmas. Cada vez van aumentando los sensores, por lo que es muy incómodo meter muchísimas líneas por cada sensor. Ahora estoy cambiando la estructura de la alarma, antes eran pulsadores y ahora va todo por datos serie. Mi duda es si puedo gestionar cada sensor con tan sólo una función.


Code: [Select]
CENTRAL---sensor1---sensor2---teclado---sensor3---sirena...teclado2...sensor4...sensor5 .....
Ésta es la estructura. Funciona todo por RS485.
Ejemplo:

si recibo la letra a(sensor1)|                                                          -> detecte el sensor que detecte tengo que poner un contador de desarme
si recibo la letra b(sensor2)|    
...etc...                                                             ->si no se desactiva
                                                                                                            ->salta alarma(pero en los teclados debe aparecer el nombre de la zona...)





Ésta es la estructura. Ahora lo tengo todo con if, pero claro, si tengo 30 sensores tengo 30 if. Mi idea es encuadrar todos los sensores en una función que gestione las zonas(nombre en teclados,sms personalizados por zonas...etc.

Espero que alguien pueda guiarme un poco jeje

Muchas gracias!!



curro92

Hola,
para reemplazar muchos if() está la función switch(), a la que le puedes pasar un entero o un carácter
Code: [Select]


switch(letra):
{
  case 'a':
     funcion1();
     break;
  case 'b':
    funcion2();
    break;
    // .....
}


Go Up