Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 17
Elite237 Va por buen camino
Multiplicar 2 celdas de un stringgrid

Alguien sabe como multiplicar 2 celdas de un stringgrid, para que aparezca el resultado en la siguiente columna.Ejemplo:

Código Delphi [-]
+--+---+---+
 7  |  5 | 35 |
---+---+---+
8   | 5  | 40 |
-------------

Le estoy intentando asi:
Código Delphi [-]
  y:=sgGrafica.cells[0,sgGrafica.RowCount].asstring*sgGrafica.cells[1.sgGrafica.RowCount].asstring
sgGrafica.cells[2,sgGrafica.RowCount]:=inttostr(y);

De esta manera me manda el siguiente error:
Código Delphi [-]
[Error] Unit1.pas(595): Record, object or class type required
Responder Con Cita
  #2  
Antiguo 11-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 17
Elite237 Va por buen camino
Le quite el .asstring a todos y me manda este nuevo error:

Código Delphi [-]
[Error] Unit1.pas(596): Operator not applicable to this operand type

Lo deje asi mi codigo:
Código Delphi [-]
y:=(sgGrafica.cells[2,sgGrafica.RowCount-0])*(sgGrafica.cells[1,sgGrafica.RowCount-2])
sgGrafica.cells[2,sgGrafica.RowCount-2]:=inttostr(y);
Responder Con Cita
  #3  
Antiguo 11-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Debes entender que el contenido de una celda es texto y por tanto debes convertir a números su contenido antes de hacer la multiplicación. Una vez hecha la operación, conviertes de vuelta en texto. Por ejemplo, suponiendo que se trata de números enteros:

Código Delphi [-]
var
  N, M, P: Integer;

begin
  N := StrToInt(StringGrid1.Cells[..,..]); // una celda
  M := StrToInt(StringGrid1.Cells[..,..]); // la otra celda

  P := N * M; // multiplicas

  StringGrid1.Cells[....] := IntToStr(P); // conversión de entero a string
end;

// Saludos
Responder Con Cita
  #4  
Antiguo 11-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 17
Elite237 Va por buen camino
Gracias Roman.No sabien como se hacia, y es lo que intentaba hacer, por eso es que me da gusto que me hayas contestado y dicho como hacerlo correctamente.
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
Pintar celdas StringGrid cacu OOP 4 24-10-2007 17:22:21
desplazarme en celdas de un stringgrid sexshop_3 Varios 4 27-08-2007 00:54:31
StringGrid + celdas Makiley Varios 4 01-02-2006 13:01:15
StringGrid con celdas multilinea [Gunman] Tablas planas 2 19-09-2005 08:27:11
Combinar Celdas Stringgrid MITOPE Varios 0 21-04-2004 07:03:27


La franja horaria es GMT +2. Ahora son las 11:59:14.


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