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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2011
Avatar de Chichero
Chichero Chichero is offline
Miembro
 
Registrado: dic 2007
Ubicación: Venezuela
Posts: 22
Poder: 0
Chichero Va por buen camino
Sumas limitadas de components combobox

Saludos brothers tengo q hacer prog q calcula calor pero por paredes exteriores, interiores , techo, piso.. cada uno puede estar compuesto de max 4 materiales de diferentes tipos (ya esta parte lo sé.. la cosa por ejemplo es que de el peso y resistencia de Paredes exteriores (Ppe, Rpe), Interiores (Ppi, Rpi), techo (Pti, Rti) y piso (psi, rsi)...
osea quiero saber como hacer para q el contador de Ppe y el de Rpe sume desde la combobox1 hasta la 4, Ppi y Rpi sume desde la 5 hasta la 9 y asi.. porque despues los usare para las diferentes formulas de calor. Y al final varios labels que diran el calor por paredes, otra para techo y asi...
Código Delphi [-]
//paredes esteriores
ppe:= 0;
Rpe:= 0;
Ape:= StrToFloat(Edit1.Text)
  for i:= 0 to ComponentCount -1 do
    if Components[i].ClassType = TComboBox then
      with TComboBox(Components[i]) do
        if ItemIndex <> -1 then // (COMO HAGO PARA QUE SEA DE La combobox1 a la 4 ésto es lo que me interesa)
        begin
          ppe:= ppe + Material[ItemIndex].VPeso;
          Rpe:= Rpe + Material[ItemIndex].VResist;
        end;
Qpe:= Ape*ppe*(1/Rpe)*Dpe
//Luego otra repetitiva para ppi, Rpi que sea de la combobox5 a la 9 y asi sucesivamente
Responder Con Cita
  #2  
Antiguo 05-07-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Puedes usar la propiedad Tag de los componentes para identificarlos:

Código Delphi [-]
// ...
if TComboBox(Components[i]).Tag in [0..4] then
begin
  // Hacer algo...
end
// ...


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #3  
Antiguo 05-07-2011
Avatar de Chichero
Chichero Chichero is offline
Miembro
 
Registrado: dic 2007
Ubicación: Venezuela
Posts: 22
Poder: 0
Chichero Va por buen camino
Gracias hermano eso lo coloco antes del for?
Responder Con Cita
  #4  
Antiguo 06-07-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por Chichero Ver Mensaje
Gracias hermano eso lo coloco antes del for?
Hola Chichero, tiene que estar dentro del for, pero primero tienes que darle valores (1,2,3....) a la propiedad Tag de cada comboBox ya que por defecto es 0.

Código Delphi [-]
Ape:= StrToFloat(Edit1.Text)
  for i:= 0 to ComponentCount -1 do
    if Components[i] is TComboBox then
      with TComboBox(Components[i]) do
       if Tag in [1..4] then
        begin        
          if ItemIndex <> -1 then
           begin
             ..........................................
             ..........................................

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 11-07-2011
Avatar de Chichero
Chichero Chichero is offline
Miembro
 
Registrado: dic 2007
Ubicación: Venezuela
Posts: 22
Poder: 0
Chichero Va por buen camino
Saludos caro ahora es que vi tu respuesta muchas gracias y bueno así si creo que servirá pero me sale error que no he declarado el 'ItemIndex', será que tengo que declararlo como variable? y si es así de qué tipo? LongInt o Integer? Gracias de antemano y disculpen la molestía...

Código Delphi [-]
//Para las resistencias y pesos
//paredes exteriores
ppe:= 0;
Rpe:= 0;
  for i:= 0 to ComponentCount -1 do
    if Components[i] is TComboBox then
      with TComboBox(Components[i]) do
      if Tag in [51..54] then
      begin
        if ItemIndex <> -1 then
        begin
          ppe:= ppe + Material[ItemIndex].VPeso;
          Rpe:= Rpe + Material[ItemIndex].VResist;
        end;
        end;
//Techo exterior
pte:=0;
Rte:=0;
        if if Tag in [51..54] then
      begin
        if ItemIndex <> -1 then
        begin
          pte:= pte + Material[ItemIndex].VPeso;
          Rte:= Rte + Material[ItemIndex].VResist;
        end;
        end;
Responder Con Cita
  #6  
Antiguo 12-07-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Tu error está en como tienes agrupado el with:

Código Delphi [-]
//Para las resistencias y pesos
  //paredes exteriores
  ppe:= 0;
  Rpe:= 0;
  for i:= 0 to ComponentCount -1 do
    if Components[i] is TComboBox then
      with TComboBox(Components[i]) do
      begin
        if Tag in [51..54] then
          if ItemIndex <> -1 then
          begin
            ppe:= ppe + Material[ItemIndex].VPeso;
            Rpe:= Rpe + Material[ItemIndex].VResist
          end;
        //Techo exterior
        pte:=0;
        Rte:=0;
        if if Tag in [51..54] then
          if ItemIndex <> -1 then
          begin
            pte:= pte + Material[ItemIndex].VPeso;
            Rte:= Rte + Material[ItemIndex].VResist
          end
      end;


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
Respuesta



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
Sumas sucesivas sisne Conexión con bases de datos 3 09-04-2010 10:58:44
Consulta de sumas jplj SQL 2 30-09-2008 07:19:25
TADOConnection y cuentas limitadas de windows JF Sebastian Conexión con bases de datos 2 16-03-2007 20:30:22
Sumas de campos en SQL noe SQL 2 03-02-2005 19:43:23
Sumas por pagiginas en QReport raugadel Impresión 2 23-04-2004 09:50:20


La franja horaria es GMT +2. Ahora son las 07:58:07.


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