Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-12-2020
AlejandroCalica AlejandroCalica is offline
Miembro
 
Registrado: nov 2020
Posts: 35
Poder: 0
AlejandroCalica Va por buen camino
compactar codigo combobox

felices fiestas y les traigo otro problema que me surgio con un combobox.
combobox con varios items con un texto especifico, con el cual no hago ninguna operacion, peso si con el item seleccionado
ejemplo

item 1 valor 10%
item 2 valor 8%
item 3 valor 6%
y asi N item ok

bueno dependiendo del tem seleccionado, realisare una operacion con una variable integer pero tengo este codigo extenso y m duda es si existe un metido donde no repta tanto la parte de operaciones, estaba pensando como en un array dependiente del item seleccionado o algo asi

aqui esta el codigo

variables que ocupo
Código Delphi [-]
var
  Form1: TForm1;
  //Pesouble;
  CB1:integer;
  Oper,Gra: Currency;
  Hc,Cm,Ov,Fv,Sn:Currency;

esto es ya en si el codigo que ejecuta las operaciones y donde siento que estoy repitiendo una cantdad considerable de codigo que podria compactar, por fabor diganme que puedo hacer les agradesco.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
CB1:=combobox1.ItemIndex+1;

case CB1 of
1: begin //Cachorro de 2  meses

   Gra:=StrToFloatDef(Edit1.Text,0) * 10 /100;
   Label5.Text:=FloattoStr(Gra);
   //60,20,10,5,5
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;


end;
2: begin //Cachorro de 3 a 4 meses
   Gra:=StrToFloatDef(Edit1.Text,0) * 8 /100;
   Label5.Text:=FloattoStr(Gra);
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;
end;
3:begin//Cachorro de 5 a 6 meses
  Gra:=StrToFloatDef(Edit1.Text,0) * 6 /100;
  Label5.Text:=FloattoStr(Gra);
  Hc:=(Gra * 60 )/100;
  Cm:=(Gra * 20) /100;
  Ov:=(Gra * 10) /100;
  Fv:=(Gra * 5) /100;
  Sn:=(Gra * 5) /100;
  Label9.Text:=FloattoStr(Hc)  ;
  Label10.Text:=FloattoStr(Cm)  ;
  Label11.Text:=FloattoStr(Ov)  ;
  Label12.Text:=FloattoStr(Fv)  ;
  Label13.Text:=FloattoStr(Sn)  ;
end;

4: begin //Cachorro de 7 a 8 año
   Gra:=StrToFloatDef(Edit1.Text,0) * 4 /100;
   Label5.Text:=FloattoStr(Gra);
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;
end;
5: begin //Cachorro de 9 a 10 año
   Gra:=StrToFloatDef(Edit1.Text,0) * 3 /100;
   Label5.Text:=FloattoStr(Gra);
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;
end;
6: begin //Cachorro de 11 a 12 año
   Gra:=StrToFloatDef(Edit1.Text,0) * 2 /100;
   Label5.Text:=FloattoStr(Gra);
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;
end;

7: begin //Adulto Actividad Alta
   Gra:=StrToFloatDef(Edit1.Text,0) * 4 /100;
   Label5.Text:=FloattoStr(Gra);
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;
end;
8: begin //Adulto Actividad Media
   Gra:=StrToFloatDef(Edit1.Text,0) * 3 /100;
   Label5.Text:=FloattoStr(Gra);
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;
end;
9: begin //Adulto Cedentario
   Gra:=StrToFloatDef(Edit1.Text,0) * 2.5 /100;
   Label5.Text:=FloattoStr(Gra);
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;
end;
10: begin //Esterilizada o Castrado
    Gra:=StrToFloatDef(Edit1.Text,0) * 2.5 /100;
    Label5.Text:=FloattoStr(Gra);
    Hc:=(Gra * 60 )/100;
    Cm:=(Gra * 20) /100;
    Ov:=(Gra * 10) /100;
    Fv:=(Gra * 5) /100;
    Sn:=(Gra * 5) /100;
    Label9.Text:=FloattoStr(Hc)  ;
    Label10.Text:=FloattoStr(Cm)  ;
    Label11.Text:=FloattoStr(Ov)  ;
    Label12.Text:=FloattoStr(Fv)  ;
    Label13.Text:=FloattoStr(Sn)  ;
end;
11: begin //Perro mayor de 6 años
    Gra:=StrToFloatDef(Edit1.Text,0) * 2 /100;
    Label5.Text:=FloattoStr(Gra);
    Hc:=(Gra * 60 )/100;
    Cm:=(Gra * 20) /100;
    Ov:=(Gra * 10) /100;
    Fv:=(Gra * 5) /100;
    Sn:=(Gra * 5) /100;
    Label9.Text:=FloattoStr(Hc)  ;
    Label10.Text:=FloattoStr(Cm)  ;
    Label11.Text:=FloattoStr(Ov)  ;
    Label12.Text:=FloattoStr(Fv)  ;
    Label13.Text:=FloattoStr(Sn)  ;
end;

end;
end;

esto es lo que repito y no cambia en nada solo el valor que toma la variable Gra

Código Delphi [-]
 Label5.Text:=FloattoStr(Gra);
   Hc:=(Gra * 60 )/100;
   Cm:=(Gra * 20) /100;
   Ov:=(Gra * 10) /100;
   Fv:=(Gra * 5) /100;
   Sn:=(Gra * 5) /100;
   Label9.Text:=FloattoStr(Hc)  ;
   Label10.Text:=FloattoStr(Cm)  ;
   Label11.Text:=FloattoStr(Ov)  ;
   Label12.Text:=FloattoStr(Fv)  ;
   Label13.Text:=FloattoStr(Sn)  ;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ejecutar onchange de combobox por codigo darkone2k4 Varios 4 04-10-2010 06:24:08
Codigo en los Items de un Combobox juanjoassenza OOP 3 20-07-2006 10:19:03
Compactar Exe's Xianto Varios 7 30-11-2005 13:09:56
selecionar y mostrar por codigo un item den un ComboBox? dantemol OOP 2 09-11-2003 17:08:22
compactar AbcXxx Firebird e Interbase 6 07-07-2003 10:15:30


La franja horaria es GMT +2. Ahora son las 14:55:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi