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

Contenu supprimé Contenu ajouté
Ftiercel (discussion | contributions)
m Relecture.
Ftiercel (discussion | contributions)
Ligne 11 :
Tout d'abord, définissons un '''type'''.
 
En Delphi, comme en C, VB et contrairement au PHP, JavaScript, Python ou autre langage moderne, une variable est dites typée et ne peut contenir que des valeurs de ce type. En clair, un type est un attribut de la variable.
On peut déjà classer les types numériques en 2 catégories :
* Les types contenant des '''entiers''' (integer)
* Les types contenant des '''décimaux''' ([[w:Float|float]] ou a virgule flottante)
En clair, un type est un attribut de la variable.
 
== Types de base ==
Ligne 58 ⟶ 54 :
|-----
|}
:'''Remarque :''' Ce sont les types prédéfinis les plus utilisés. Il en existe une dizaine d'autres rien que pour les entiers (smallint, longint, int64..) dont l'utilisation est adaptée pour ajuster de manière plus précise les tailles de variable aux données que l'on va y placer et ainsi optimiser l'utilisation de la mémoire. Pour plus d'information à ce sujet, vous pouvez vous documenter dans l'aide Delphi à ce sujet.
 
== Chaînes de caractèreschar ==
Un char (caractère) est une donnée telle que '#', 'A', '2', ';', '.', '?' et ainsi de suite. Il est associé à un nombre dans la bibliothèque des caractère, la table ASCII. En Delphi, un char est écrit entre apostrophes. Si le caractère en question est aussi un apostrophe, alors il faut le doubler, ce qui donne au total quatre apostrophes à la suite.
 
<source lang="Delphidelphi">
En delphi, les chaines de caractères sont délimitées par des guillemets simples ', et se concatènent avec l'opérateur +. De plus les '''string''' se comportent comme des tableaux.
 
{{
Exemple|
contenu=
<source lang="Delphi">
var
xa, y, zb: stringchar;
 
begin
xa := 'coucouH'; //x a = "coucouH"
yb := 'tout le mondei'; //y b = "tout le mondei"
WriteLn(xa); //écrit Display "coucouH"
WriteLn(xa, yb); //écrit Display "coucoutout le mondeHi"
WriteLn(xa, 'b, ', y!'); //écrit Display "coucou tout le mondeHi!"
WriteLn(x[3]); //écrit la 4éme lettre de la chaîne x (on part de zéro) soit "c"
z:= x + y; // z = "coucoutout le monde"
end.
</source>
 
}}
== string ==
Vous avez déjà travaillé avec des <code>string</code>s dans les chapitres précédents, tel que 'Hello World' ou 'Hi there' et ainsi de suite. Un string est une séquence de char.
<source lang="delphi">
var
texte1: string;
caractere1: char;
</source>
Et ensuite écrivez entre <code>begin</code> et <code>end</code>:
<source lang="delphi">
caractere1 := 'H';
texte1 := 'ello World!';
WriteLn(caractere1, texte1);
</source>
Si vous voulez écrire un apostrophe dans un <code>string</code>, doublez-le:
<source lang="delphi">
texte1 := 'Je m''appelle Trucmuche.';
</source>
 
Les <code>string</code>s se comportent comme des tableaux. Vous pouvez accéder à un caractère par son index :
<source lang="delphi">
texte := 'Hello World!';
WriteLn(texte[1]); // Affiche uniquement "H".
</source>
Le premier indice est 1 (et non 0).
 
== Entiers ==
Les <code>Integer</code>s sont des entiers, que l'on écrit comme suit :
<source lang="delphi">
a: Integer;
</source>
 
== Nombres décimaux ==
Les nombres décimaux sont des nombres à [[w:Virgule flottante|virgule flottante]], que l'on écrit comme suit :
<source lang="delphi">
c: Real; // Un Real est normalement la même chose qu'un Single
a: Single;
b: Double;
d: Extended;
</source>
Un <code>Extended</code> est plus précis qu'un <code>Real</code>, mais consomme plus de place mémoire.
 
== Booléen ==
 
Un <code>Boolean</code> est une valeur logique. Il peut être vrai (<code>True</code>) ou faux (<code>False</code>). Écrivez :
<source lang="delphi">
var
a: Boolean;
begin
a := True;
// or
a := False;
</source>
Mais il est difficile de comprendre l'intérêt du booléen tant que vous n'aurez pas vu les structures conditionnelles au chapitre [[Delphi/Structures conditionnelles et répétitives|Structures conditionnelles et répétitives]].
 
== Enregistrement ==