Ce code permet de caluler la somme des cellules d'une meme colone d'un StringGrid
Vous avez besoin dans votre form de :
-StringGrid1
-Button1
-Label1
-Label2
Source / Exemple :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
valeur1,valeur2:string;
begin
i:=0;
j:=0;
Label1.Caption:='0'; //On met les valeur des Label 1 et 2 à 0 pour éviter les bugs
Label2.Caption:='0';
{Boucle qui renvoit dans le Label1, la somme des nombres dans la colonne 1}
repeat
i:=i+1;
valeur1:=StringGrid1.Cells[1,i]; //valeur1 représente la valeur contenu dans la cellule (Colonne 1 ; Ligne i)
if valeur1='' then valeur1:='0'; //Si une cellule n'a pas de valeur alors valeur = 0
Label1.Caption:=IntToStr(StrToInt(Label1.Caption)+StrToInt(valeur1));//Remplacer le + par - ou * pour faire d'autre calcul
until i=4 ; {4 parce qu'il y a 4 lignes}
{Boucle qui renvoit dans le Label2, la somme des nombres dans la colonne 2}
repeat
j:=j+1;
valeur2:=StringGrid1.Cells[2,j]; //valeur2 représente la valeur contenu dans la cellule (Colonne 2 ; Ligne j)
if valeur2='' then valeur2:='0'; //Si une cellule n'a pas de valeur alors valeur = 0
Label2.Caption:=IntToStr(StrToInt(Label2.Caption)+StrToInt(valeur2));//Remplacer le + par - ou * pour faire d'autre calcul
until j=4 ; {4 parce qu'il y a 4 lignes}
end;
end.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.