Delphi/affichge tableau [Résolu]

Messages postés
6
Date d'inscription
mercredi 6 mai 2009
Dernière intervention
16 mai 2009
- - Dernière réponse : f0xi
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
- 7 mai 2009 à 22:25
Bon jour,
Je veut savoir comment on peut sauvegarder des vecteurs ou des tableaux (matrice)et les afficher en Delphi pour en suit les utiliser pour tracer des courbes par exemple.
Je suit débutante en programmation Delphi, j'utilise delphi 7.
Merci pour tout informations.
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
34
3
Merci
type
  TFoatPoint = packed record
    X, Y : single; { double; extended; }
  end;
  pFloatPoint = ^TFoatPoint;

  TVector = packed record
    A, B : TFloatPoint;
  end;
  pVector = ^TVector;

  TMatrix = array of TVector;
  pMatrix = ^TMatrix;

const
  FloatPointSize = SizeOf(TFloatPoint);
  VectorSize = SizeOf(TVector);
 

procedure LoadMatrix(const FileName: string; const ptr: pMatrix);
var L : integer;
begin
  with TFileStream.Create(FileName, fmOpenRead) do
  try
    read(L, SizeOf(integer));
    SetLength(ptr^, L);
    read(ptr^, L*VectorSize);
  finally
    Free;
  end;
end;

procedure SaveMatrix(const FileName: string; const ptr: pMatrix);
var L : integer;
begin
  L := length(ptr^);
  with TFileStream.Create(FileName, fmCreate) do
  try
    Write(L, SizeOf(Integer));
    Write(ptr^, L*VectorSize);
  finally
    Free;
  end;
end;

exemple :

// Declaration
var
  M : TMatrix;

// Definition du nombres de vecteur dans M (1)
SetLength(M, 1);

// Definition du vecteur 1 (index 0)

M[0].A.X := PI;

M[0].A.Y := PI;

M[0].B.X := PI*2;

M[0].B.Y := PI*2;




// Sauvegarder la matrice M
SaveMatrix('c:\matrix.mtx', @M);

// Vider la matrice M
Setlength(M, 0);

// Charger une matrice dans M

LoadMatrix('c:\matrix.mtx', @M);

// Verifier :
if Length(M) = 1 then
  ShowMessage('Youpi')
else
  ShowMessage('CACA BOUDIN PROUT!');
























<hr size="2" width="100%" />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f0xi

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.