« Delphi/Types » : différence entre les versions

Contenu supprimé Contenu ajouté
Byroot (discussion | contributions)
Byroot (discussion | contributions)
Ligne 81 :
</source></source>
 
= StructureEnregistrement =
Un enregistrement (appelé aussi structure dans certains langages) représente un ensemble de données hétérogènes. Chaque élément est appelé un champ ; la déclaration d'un type enregistrement spécifie le nom et le type de chaque champ. Une déclaration de type enregistrement a la syntaxe suivante :
Les structures sont un type particulier qui est un mélange de plusieurs types que l'on défini dans les fichiers d'entete ou au début du programme.
<source lang="c">
struct PIXEL{
int rouge;
int vert;
int bleu;
};
 
<source lang="cdelphi">
struct CLIENT{
type nomTypeEnregistrement = record
char nom[30];
listeChamp1: type1;
float solde;
...
}
listeChampn: typen;
end
</source>
 
Par exemple, la déclaration suivante crée un type enregistrement nommé TDateRec.
int main(void){
struct PIXEL px={10,255,11}; // déclaration + initialisation
struct CLIENT cl={"Smith", 15.5};
 
<source lang="delphi">
printf("Nom : %s\nSolde : %f",cl.nom, cl.solde); // exemple d'utilisation des membres de la structure
type
TDateRec = record
Annee: Integer;
Mois: (Jan, Fev, Mar, Avr, Mai, Jun,
Jul, Aou, Sep, Oct, Nov, Dec);
Jour: 1..31;
end;
</source>
 
Chaque TDateRec contient trois champs : une valeur entière appelée Annee, une valeur d'un type énuméré appelé Mois et une autre valeur entière comprise entre 1 et 31 appelée Jour. Les identificateurs Annee, Mois et Jour sont des noms de champs de TDateRec qui se comportent comme des variables. Néanmoins, la déclaration de type TDateRec n'alloue pas de mémoire pour les champs Annee, Mois et Jour ; la mémoire est allouée quand vous instanciez l'enregistrement, de la manière suivante :
}
 
var Record1, Record2: TDateRec;
 
Cette déclaration de variable crée deux instances de TDateRec, appelées Record1 et Record2.
 
Vous pouvez accéder aux champs de l'enregistrement en qualifiant le nom de champ avec le nom de l'enregistrement :
 
<source lang="delphi">
Record1.Annee := 1922;
Record1.Mois := Nov;
Record1.Jour := 26;
</source>
 
Ou en utilisant une instruction with :
 
<source lang="delphi">
with Record1 do
begin
Annee := 1922;
Mois := Nov;
Jour := 26;
end;
</source>
 
[[Catégorie:Delphi]]