Faire des caluls dans un stringgrid

Soyez le premier à donner votre avis sur cette source.

Vue 8 893 fois - Téléchargée 1 151 fois

Description

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.

Codes Sources

A voir également

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.