Delphi/affichge tableau [Résolu]

cs_Nadia16 6 Messages postés mercredi 6 mai 2009Date d'inscription 16 mai 2009 Dernière intervention - 7 mai 2009 à 16:26 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscriptionModérateurStatut 9 mars 2018 Dernière intervention
- 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
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscriptionModérateurStatut 9 mars 2018 Dernière intervention - 7 mai 2009 à 22:25
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%" />

Merci f0xi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes 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.