IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Les types (toujours débutant)


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 122
    Points : 62
    Points
    62
    Par défaut Les types (toujours débutant)
    Bonjour.

    En fait ma question est toute con: Quel en est l'intérêt?

    Sur un tutorial je viens de voir par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Type TTableauPersonnes = array[1..50] of TUnePersonne;
    Var TableauPersonnes : TTableauPersonnes;
    Pourquoi ne pas faire plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var TableauPersonnes = array[1..50] of TUnePersonne;
    Ca serait plus rapide non?

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par Pov type Voir le message
    Ca serait plus rapide non?
    Si bien-sûr, mais cela devient nécessaire dès lors que ton tableau doit être passé en paramètre à une fonction ou procédure par exemple.

    @+ Claudius

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Tu peux le faire mais avec un : à la place de =

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var TableauPersonnes : array[1..50] of TUnePersonne;
    L'intérêt est très dépendant de la finalité en réalité. Déclarer un type permet d'avoir une écriture moins longue en premier lieu.

    Ensuite la réalité du type est localisé qu'à un seul endroit, si demain ton nombre de d'item (ou le type d'item) change et bien tu n'as pas besoin que de le faire ici, pas dans la myriade de procédures et de fonctions qui vont l'utiliser.

    Ensuite déclarer un type permet d'être plus strict sur les affectations ainsi si je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    type
      MonTab = array of integer;
     
      procedure maProcedure( p1: array of integer; p2: MonTab );
     
    var
      Prems: array of Integer;
      Deuz: MonTab;
    p1 peut recevoir au choix Prems ou Deuz mais par contre p2 ne peut pas recevoir Prems mais Deuz.

    Enfin cela permet déclarer un type est une nécessiter si tu veux faire une fonction qui renvoi un tableau.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 122
    Points : 62
    Points
    62
    Par défaut
    ok en fait ça permet de mémoriser la variable en dehors d'une seule procédure si j'ai bien compris.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Euh non ça n'a rien à voire

    Le typage ça permet de typer une variable, sémantiquement cela permet de dire qu'est-ce que contient la variable.

    Où est déclaré la variable, quelle est sa portée, etc... ce n'est pas du ressort du typage mais de où le codeur déclare sa variable.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 122
    Points : 62
    Points
    62
    Par défaut
    ok merci c'était ce que je pensais à la base mais je n'en vois toujours pas l'intérêt.

    Enfin peu importe, je verrai ça une fois mis en application.

  7. #7
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 404
    Points
    11 404
    Billets dans le blog
    6
    Par défaut
    il y a un intérêt si tu dois à plusieurs endroits déclarer plusieurs variables du même type, si tu dois faire des affectations, les passer en paramètres...

    un autre intérêt est de centraliser des modifs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    type
      TMyFloat=Single; // ou TMyFloat=Extended; selon la précision voulue
                             // c'est même utilisable avec des directives de compilation
    var
      R1, R2: TMyFloat;
     
    // plus loin :
    var
      R3: TMyFloat;

  8. #8
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 795
    Points : 5 581
    Points
    5 581
    Par défaut
    ok merci c'était ce que je pensais à la base mais je n'en vois toujours pas l'intérêt.
    Le principal intérêt à déjà été évoqué : c'est le fait de devoir modifier le type de la variable uniquement à un seul endroit.

    Si tu as variable déclarée en tant que tableau d'entier par exemple et que demain tu réalise que, dans un cas, la valeur que tu as mis dans un élément du tableau peux avoir une virgule, tu sera bien content de n'avoir à modifier ton source qu'a à seul endroit plutot que de reprendre toutes les procédures et fonction qui l'utilisent

Discussions similaires

  1. [Débutant] Léger soucis avec les Types
    Par Zooix dans le forum Haskell
    Réponses: 6
    Dernier message: 16/06/2009, 14h58
  2. Débutante en Haskell, question sur les types.
    Par avator dans le forum Haskell
    Réponses: 6
    Dernier message: 22/09/2008, 03h24
  3. [Débutant] problème avec les types de variables
    Par mitmit dans le forum Débuter
    Réponses: 10
    Dernier message: 14/02/2008, 12h40
  4. Débutant : tester les types
    Par pontus21 dans le forum C
    Réponses: 5
    Dernier message: 16/12/2006, 15h30
  5. [Débutant][Phppgadmin] problème avec les types
    Par PoY dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 19/08/2004, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo