Numéro d'ordre d'une cellule de matrice L x C (Genre StringGrid)

Contenu du snippet

{------------------------------------------------------------------------------}
{Donne le numéro d'ordre d'une cellule de matrice Lignes x Colonnes de 65536 max
{ Entrées : L = Nb de lignes
                C = Nb de colonnes.
                LM = nb de lignes maximum de la matrice.
                CM = nb de colonnes max.               "
 Sortie  : Numéro de cellule de la matrice en partant de gauche à droite
           = 0 si dépassement limite
 Limite  : Le produit L x C < 65 537, soit 256 x 256
 /I\ Si tableau indicé à partir de 0 => faire result -1
{------------------------------------------------------------------------------}
Function FNcelMat(L,C,LM,CM: integer) :word;
begin
 Result := 0;
 if LM*CM < 65537 then Result := ( L -1 ) * CM + C;
end;

{Exemple}
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  NumOrdreCell:=FNcelMat(ARow,ACol,16,16);
  showmessage(inttostr(NumOrdreCell));
end;


Compatibilité : Delphi 5

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.