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

Free Pascal Discussion :

Appel d'une procédure ayant un fichier comme paramètre [Free Pascal]


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Informaticien
    Inscrit en
    Août 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Août 2002
    Messages : 40
    Par défaut Appel d'une procédure ayant un fichier comme paramètre
    Bonjour,

    J'ai déclaré un fichier dans le programme principal par le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    var fichier : FILE OF Text;
    assign(fichier, 'C:\sauvegarde.txt');
    Et puis dans l'implémentation de la procedure, j'ai procédé comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure sauvegarde(var fichier : Text; variable1, variable2,   variable3:Integer);
     
     var mot1, mot2, mot3 : string
     begin
      Str(variable1, mot1); // ici pour convertir en texte mes variables Integer
      Str(variable2, mot2);
      Str(variable3, mot3);
      append(fichier);
      write(fichier, mot1, mot2, mot3);
      close(fichier);
    end; {sauvegarde}
    Et puis dans le programme principal, j'appelle sauvegarde comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
      sauvegarde(fichier, variable1, variable2, variable3)
    et c'est à l'appel dans le programme principal qu'il me donne une erreur lors de la compilation disant ceci :" call by var arg no. 1 has to match exactly: Got "File Of Text" expected "Text" ".

    Voudriez-vous m'aider à corriger cette erreur.
    Merci d'avance.

    Antezi

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 969
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 969
    Par défaut
    Fia,

    Le texte donné par le compilateur est pourtant explicite, les types déclarés pour la variable et l'argument ne sont pas identiques.

    Où as-tu trouvé la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var fichier : FILE OF Text;
    pour déclarer un fichier text.

    À la place du compilateur, j'aurais déjà couiné à ce niveau.

    Un fichier texte se déclare ainsi
    Et tu le sais, puisque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure sauvegarde(var fichier : Text; ...
    En clair, tu aurais dû être capable de corriger toi-même, ayant tous les éléments en main.

  3. #3
    Membre averti
    Profil pro
    Informaticien
    Inscrit en
    Août 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Août 2002
    Messages : 40
    Par défaut Appel d'une procédure ayant un fichier comme paramètre
    Merci beaucoup Droggo,

    C'était ça l'erreur "Type of Text"
    Merci

    Antezi

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

Discussions similaires

  1. [Débutant] Appel d'une procédure insert ou update avec paramètres
    Par Bakkach dans le forum VB.NET
    Réponses: 17
    Dernier message: 18/04/2013, 14h44
  2. Réponses: 2
    Dernier message: 12/06/2009, 17h56
  3. Appel d'une procédure stockée ayant des arguments de type TABLE despuis du code C#
    Par rabddoul dans le forum Interfaces de programmation
    Réponses: 3
    Dernier message: 23/10/2008, 10h47
  4. Réponses: 1
    Dernier message: 14/08/2007, 11h14
  5. Réponses: 1
    Dernier message: 22/11/2006, 17h38

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