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

Langage Delphi Discussion :

PB fonction et Tableau


Sujet :

Langage Delphi

  1. #1
    T-B
    T-B est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut PB fonction et Tableau
    Bonjour,

    question bête une fonction peut elle retourner un tableau, car la syntax que j'utilise delphi n'aime pas trop


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function test : array of string;
     
    implementation
     
    Function Tform1.test : array of string;
    var tab : array[1..2] of string;
    begin
      tab[1] := 'a';
      tab[2] := 'b';
      result tab;
    end;
    Voila l'erreur que j'ai a la compilation

    [Erreur] unit4.pas(13): Identificateur attendu(e) mais 'ARRAY' trouvé(e)

    qui correspond à cette ligne - Function test : array of string;

    merci de votre aide

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    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 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function Tform1.test : array of string; 
    begin 
     SetLength(Result, 2); // tableau dynamique => lui fixer une taille
      Result[0] := 'a'; 
      Result[1] := 'b'; 
    end;
    si tu connais la taille du tableau, déclare
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function test: array[1..3] of string;
    ou utilise un type qui gère les choses pour toi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function test: TStringList;
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    T-B
    T-B est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    J'ai toujours la même erreur à la ligne
    - Function test : array of string;
    je mette array[1..2] of string;
    ou
    array of string;


    [Erreur] unit4.pas(13): Identificateur attendu(e) mais 'ARRAY' trouvé(e)
    [/quote]

  4. #4
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 152
    Points
    10 152
    Par défaut
    Tu dois déclarer un type tableau à renvoyer par ta procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    type
      TStrArray = array of string;
     
    ...
     
    function test : TStrArray;
    begin
      SetLength(Result, 2);
      Result[0] := 'a';
      Result[1] := 'b';
    end;
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  5. #5
    T-B
    T-B est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    meci ça marche

  6. #6
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 152
    Points
    10 152
    Par défaut
    Citation Envoyé par T-B
    meci ça marche
    Un 'tit alors ?
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

Discussions similaires

  1. Fonction Deallocate tableau 4D
    Par azez dans le forum C
    Réponses: 23
    Dernier message: 19/04/2007, 16h44
  2. fonction et tableau
    Par abdou karim diagne dans le forum C
    Réponses: 5
    Dernier message: 26/03/2007, 02h05
  3. [VBA-E]paramètre fonction et tableau
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/01/2007, 09h56
  4. [Tableaux] fonction et tableau
    Par vacknov dans le forum Langage
    Réponses: 7
    Dernier message: 23/06/2006, 15h47
  5. Fonctions SQL - Tableau et type anyarray
    Par etiennegaloup dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 07/11/2005, 12h25

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