Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 25-04-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
entonces por que si no uso StrToIntDef en vez de StrToInt en el siguiente fragmento de codigo aparece el error '' is no a integer value?.
Hola Paula.

Eso sucede por que Trim no produce ningún efecto cuando se aplica a una celda vacía ya que no tiene 'nada' para quitar. Es decir que tanto
Código Delphi [-]
  StrToInt('');
como
Código Delphi [-]
  StrToInt(Trim(''));
lanzarán una excepción.


El uso que haces de StrToIntDef es correcto, incluso más simple que TryStrToInt (aunque igual realiza la tarea).
Podrías eso sí, ahorrarte una línea y un begin/end usando Trim dentro de StrToIntDef:
Código Delphi [-]
    for j := 1 to RowCount - 1 do
      suma:= suma + StrToIntDef(Trim(Cells[i,j]), 0);

Creo que te quedaría de este modo:
Código Delphi [-]
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
   CanSelect := ACol <> StringGrid1.ColCount - 1; // no permite selección si es últimca columna
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  c , f, suma: integer;
begin
  with StringGrid1 do
  begin
    for f:= FixedRows to RowCount - 1 do // para c/fila
    begin
      suma:= 0; 
      for c:= FixedCols to ColCount - 2 do // para c/columna (menos la última)
        suma:= suma + StrToIntDef(Trim(Cells[c, f]), 0); // sumar
      Cells[ColCount-1, f]:= IntToStr(suma) // mostrar resultado en última columna
    end
  end
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
como borrar elementos de un stringGrid PaulaGV OOP 3 25-04-2012 20:19:43
Como Borrar una fila del Stringgrid de forma correcta? escorpionrojo43 OOP 1 24-07-2011 19:11:52
Sumar elementos de una list box yessika19 Varios 4 05-01-2008 20:57:18
Sumar elementos de un ListBox creus Varios 4 16-01-2007 19:34:05
como eliminar una fila del stringGrid. Arturo Varios 3 12-10-2006 20:54:04


La franja horaria es GMT +2. Ahora son las 13:04:06.


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