[ Foro de C# ]

ayuda con try catch

26-Mar-2015 18:16
Invitado (fer)
3 Respuestas

hola estoy utilizando un try catch y dentro tengo un if que hace una comparacion
esta comparacion trabaja de esta manera, "Factory.Clientes.GetDetalles(IdCliente, Mes)"
me muestra una columna filtrada entre idcliente y mes para mostrarme la columna de intervalos, el valor de esta columna es comparado utilizando if else y cuando un intervalo es mayor a cero me muestra el texto que dice verde, y si es igual a cero muestra un texto que dice rojo, ya e creado tema sobre esto, e hecho un avance que despues me trajo a otra duda, funciona bien tengo 10 datos almacenados 2 de ellos son igual a cero
y gracias al try catch me muestra cuando es verde y cuando es rojo dejo el codigo a continuacion.

 
 foreach (var cliente in Factory.Clientes.GetDetalles(IdCliente, Mes))
             {
 
                     try
                     {
                         if (cliente.Intervalos > 0)
                         {
                             Response.Write(cliente.Intervalos + "  ");
                             Response.Write("VERDE  /   ");
                             this.Image1.Width = 30;
                             Image1.ImageUrl = this.ResolveUrl("img/verde.png");
                         }
 
                         else
                         {
                             Response.Write(cliente.Intervalos + "  ");
                             Response.Write("ROJO   /  ");
                             this.Image1.Width = 30;
 
 
 
                             Image1.ImageUrl = this.ResolveUrl("img/rojo.png");
                         }
 
                     }
                     catch (Exception)
                     {
 
 
                     }
 
             }
 


lo que quiero hacer es que con cada intervalo mayor a cero haga que el ancho de una imagen sume + 1  mostrando una imagen verde y cuando sea igual a cero tambien sume + 1 y muestre una imagen roja de 1 pixel y se vaya acumulando ya que teniendo dentro del if el
  this.Image1.Width = 30; siempre queda en 30 ("30 es solo un ejemplo") me gustaria saber como puedo hacer que cada que se repita o bien que se cumpla una comparacion u otra se sume el ancho de cada imagen


26-Mar-2015 19:54
Invitado (fer)

una disculpa lo que intento hacer no es necesario utilizar el try catch pero en si ignorando el try catch lo qu quiero hacer no puedo lograrlo


27-Mar-2015 19:44
Invitado (fer)

hola soy quien creo este tema, dejare esto por aqui que es lo que intento hacer

tengo un if que comprara cuando un valor que esta almacenado en una base de datos es mayor a cero y cuando es mayor hace algo determinado y cuando es igual a cero hace otra cosa
es un solo cliente que tiene en la misma columna varios valores un total de 10 valores mayores a 0 por el momento almacenados pero quiero contar las veces en las que el valor de la columna de la base de datos es mayor a cero  y cuente cuantas veces el valor es igual a cero

tengo algo asi pero en lugar de sumarlos los acumula y los muestra por separado

dentro del parentecis del foreach me recupera la consulta que quiero mostrar y dentro del if hay una variable llamada cliente.intervalos, intervalos viene siendo la columna que e seleccionado y quiero saber cuando es mayor a cero y cuando no, esto funciona mostrandome un texto que dice verde cuando es mayor a cero y rojo cuando es igual rojo pero quiero que las veces en que es mayor las cuente, las sume y de igualmanera cuando es cero haga lo mismo, ahorita lo que me muestra el codigo es esto
11101011111100
yo quisiera que los que son 1 se sumaran ya que como estoy haciendo algo asi como barra de progreso cada uno representa un pixel en cada barra que indica el progreso
el cero tambien se representaria en un numero 1 en el cual se sumaria pero marcaria una imagen en color rojo que se ira extendiendo, esto hace referencia que datos no hansido almacenados y son igual a cero

 
foreach (var cliente in Factory.Clientes.GetDetalles(IdCliente, Mes)) 
             {
                 int variable1=0;
 if (cliente.Intervalos > 0)
                     {
   Response.Write("VERDE  /   ");
 
 
variable1++;
   }
else
  {
     Response.Write("ROJO   /  ");
    }
  Response.Write(variable1);      
             }
         }
 


 


31-Mar-2015 23:26
Nacho Cabanes (+30)

Tú mismo lo has dicho casi todo:

- No necesitas el try-catch (si el resto del código es bueno).

- Si quieres contar los valores que son positivos y negativos, necesitas dos contadores, que estarán declarados desde antes del "foreach":

 
int cantidadPositivo = 0;
int cantidadCero = 0;
foreach (var cliente in Factory.Clientes.GetDetalles(IdCliente, Mes))
{
     if (cliente.Intervalos > 0)
     {
         cantidadPositivo ++;
         Response.Write(cliente.Intervalos + "  ");
         Response.Write("VERDE  /   ");
         this.Image1.Width = 30;
         Image1.ImageUrl = this.ResolveUrl("img/verde.png");
     }
     else
     {
        cantidadCero ++;
         Response.Write(cliente.Intervalos + "  ");
         Response.Write("ROJO   /  ");
         this.Image1.Width = 30;
         Image1.ImageUrl = this.ResolveUrl("img/rojo.png");
     }
}
 


 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)