cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 13 nov. 2002 à 01:34
Première question :
Ce n'est pas plus compliqué avec une matrice qu'avec un tableau : il faut raisonner avec chaque élément de la matrice comme si c'était un simple tableau :
procedure TForm1.Button1Click(Sender: TObject);
Var Matrice:Array Of Array Of Byte;
i,j,l:Integer;
begin
// Une matrice de 200 tableaux
SetLength(Matrice,200);
// Chaque tableau à une longueur entre 10 et 20
For i:=Low(Matrice) To High(Matrice) Do SetLength(Matrice[i],10+Random(10));
// Longueur de la matrice :
L := Length(Matrice);
// Longueur du 12ème tableau de la matrice ( le premier est en 0 )
L := Length(Matrice[11]);
// Remplissage du tableau avec des valeurs aléatoires
For i:=Low(Matrice) To High(Matrice) Do
For j:=Low(Matrice[i]) To High(Matrice[i]) Do
Begin
Matrice[i,j]:=Random(100);
End;
end;
Deuxième question :
Non tu n'est pas obligé d'utiliser des pointeurs avec des types Record :
Type TRec=Record
rEntier1:Integer;
rEntier2:Integer;
End;
Var Rec:TRec;
TabRec:Array[0..10]Of TRec;
procedure TForm1.Button1Click(Sender: TObject);
Label L;
begin
Asm
MOV EAX,REC.rEntier1
ADD EAX,REC.rEntier2
ADD EAX,TabRec[5].TRec.rEntier1
Si tu commence à utiliser l'assembleur en ligne, lit TOUTE l'aide en ligne sur le sujet. Elle n'est pas très bien présentée mais elle est pleines d'informations utiles. Si tu débutes en assembleur, attention, c'est plein de pièges quand on l'utilise dans delphi. Il faut donc bien limiter son utilisation.