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 :

Comment créer une fonction qui retourne un tableau?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Par défaut Comment créer une fonction qui retourne un tableau?
    Bonjour, J'ai besoin de créer une fonction qui retourne un tableau.
    N'y arrivant pas, j'ai fait un petit exemple basic mais qui me génère un message d'erreur a la compilation:

    [Erreur] Unit1.pas(277): Identificateur attendu(e) mais 'ARRAY' trouvé(e)
    [Erreur] Unit1.pas(290): Types incompatibles : 'Array' et 'Integer'
    [Erreur fatale] Project1.dpr(5): Impossible de compiler l'unité utilisée 'Unit1.pas'


    voici le code que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    function giveT(v:integer):array of integer;
    var
     t:Array[-1..1] of integer;
    begin
     t[-1]:=v;
     t[0]:=v+1;
     t[1]:=v+2;
     result:=t;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      t1:Array[-1..1] of integer;
    begin
      t1:=giveT(2);
      memo1.Lines.Add(inttostr(t1[-1])+' - '+inttostr(t1[0])+' - '+inttostr(t1[1]));
    end;
    Si ca compile et que mon code est bon (lol), cette exemple deverait afficher dans le memo: 2 - 3 - 4


  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Merci de faire une recherche avant de poster: ce sujet a déjà été traité un nombre incalculable de fois...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Je dirais de regarder dans l'unités "Types" de Delphi ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Par défaut
    Merci ShaiLeTroll,
    T'avais raison, il suffisait de remplacer 'array[-1..1] of integer' par le par un type.
    Pedro pas obligé d'etre aussi
    Si J'ai posté ce poste c'est parce que je n'y arrivais vraimant pas, même en regardant d'autres postes traitant du sujet. Maintenant que j'ai la reponse j'avoue c'etait simple.
    Mais c'est toujours comme ca, c'est simple une fois que l'on a la réponse.

    Sinon voici le code fini au cas ou un jour un débutant est le même probleme que moi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    type TIntArray = array[-1..1] of integer;
     
    function giveT(v:integer):TIntArray ;
    var
     t:TIntArray;
    begin
     t[-1]:=v;
     t[0]:=v+1;
     t[1]:=v+2;
     result:=t;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      t1:TIntArray;
    begin
      t1:=giveT(2);
      memo1.Lines.Add(inttostr(t1[-1])+' - '+inttostr(t1[0])+' - '+inttostr(t1[1]));
    end;
    Encor merci ShaiLeTroll

  5. #5
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Citation Envoyé par Dereck07
    Pedro pas obligé d'etre aussi
    Pourtant: http://www.developpez.net/forums/sho...renvoi+tableau

    Promis, la prochaine fois, j'ajouterais un smiley dans mon message
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableau] Créer une fonction qui retourne un tableau
    Par Imageek dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 31/01/2009, 16h54
  2. [JUnit] Comment tester une fonction qui retourne un booléen
    Par Raiden1234 dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 15/12/2007, 19h29
  3. Réponses: 2
    Dernier message: 22/10/2007, 17h50
  4. Une fonction qui retourne un tableau
    Par DooSquare dans le forum C
    Réponses: 18
    Dernier message: 04/07/2007, 20h15
  5. Comment faire une fonction qui renvoi un tableau.
    Par poly128 dans le forum Delphi
    Réponses: 2
    Dernier message: 01/06/2006, 01h04

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