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 :

[Deb], msg Decl. forward non satisfaite


Sujet :

Langage Delphi

  1. #1
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut [Deb], msg Decl. forward non satisfaite
    Bonjour,

    Je fais un exo pour apprendre Delphi.
    Je dois lire des data dans un fichier en utilisant des bibliotheques de fonction et je définis aussi mes propre procédures.

    Je fais une faute qui me donne ce msg d'erreur:

    [Erreur] Unit1.pas(45): Déclaration forward ou external non satisfaite : 'TFMain.read_Airport_Dateien'
    Et je ne vois pas ce que je fais faux.
    Merci de bien vouloir m'aider
    Marc_3
    Le code est ci-dessous.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Menus,
     
      SYS_RFB,
      SYS_RFF2,
      WSTRINGS,
      SYS_SCAN, 
      SYS_CNV
     
     
     
      ;
     
    type
      TFMain = class(TForm)
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        MainMenu1: TMainMenu;
        N1: TMenuItem;
        Beenden1: TMenuItem;
        Dateioeffnen1: TMenuItem;
        Dateioeffnen2: TMenuItem;
        DateiSpeichern1: TMenuItem;
        OpenDialog1: TOpenDialog;
        Label4: TLabel;
        Label5: TLabel;
        Label6: TLabel;
        procedure Beenden1Click(Sender: TObject);
        procedure Dateioeffnen2Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
     
     
     
      private
        { Déclarations privées }
      {----------------------------------------------------------------------------}
        akt_filename      :  string;
        procedure OpenFile;
        procedure read_Airport_Dateien( fileName : String;
                                     var success : boolean;
                                     var err_inf : read_file_err_info);
     
       {----------------------------------------------------------------------------}
     
      public
        { Déclarations publiques }
      end;
     
    var
      FMain: TFMain;
      success		: boolean;
      err_inf		: read_file_err_info;
      zaehler		: integer;
     
     
     
     
     
    implementation
     
    {$R *.dfm}
    {------------------------------------------------------------------------------}
     
    procedure TFMain.Beenden1Click(Sender: TObject);
    begin
         close;
    end;
     
    {-------------------------------------------------------------------------------}
     
    {$F+}
        procedure verarbeiteteZeile;
    {$F-}
    var testVerarbeiteteZ : ShortString;
                  word_nr : integer;
    begin
        if nof_words_of_line = 0
        then exit;
        if nof_words_of_line > 9
        then begin
        SYS_RFF_abort(true, 'mehr als 9 Eintraege in der Zeile');
        exit;
        end;
     
        word_nr := 1;
        SYS_RFF_get_word_of_max_length(word_nr, 255, testVerarbeiteteZ);
     
    end;{end verarbeiteteZeile}
     
    procedure read_Airport_Dateien( fileName : string;
                                 var success : boolean;
                                     var err_inf : read_file_err_info);
    begin
      SYS_RFF_read_file__preprocessing(filename, ';', verarbeiteteZeile, success, err_inf);
    end; {end read_Airport_Dateien}
     
    {-------------------------------------------------------------------------------}
     
    procedure TFMain.OpenFile;
     
          var success: boolean;
             err_inf : read_file_err_info;
    begin
          with OpenDialog1 do
            begin
              Title     := 'Datei Airport öffnen';
              FileName  := '*.dat';
              Filter    := 'DAT-Dateien (*.dat)|*.dat';
            end;
     
            if OpenDialog1.Execute
            then  begin
                success := True;
                akt_filename := OpenDialog1.FileName;
                {read_Airport_Dateien( akt_filename,
                                           success,
                                           err_inf);}
                read_Airport_Dateien( 'C:\Dokumente und Einstellungen\Administrator\Desktop\z_projekt\airport.dat',
                                           success,
                                           err_inf);  {Seulement pour recherche d'erreur}
     
            if not success
            then ShowMessage(err_inf.err_msg);
     
            end;
    end; {OpenFile}
     
    {-----------------------------------------------------------------------------}
     
    procedure TFMain.Dateioeffnen2Click(Sender: TObject);
    begin
          OpenFile;
          Label5.Caption := 'Filename: ' + akt_filename;
    end; {end Dateioeffnen2Click}
     
    {-----------------------------------------------------------------------------}
     
     
    {-----------------------------------------------------------------------------}
     
    procedure TFMain.FormCreate(Sender: TObject);
    begin
          SYS_RFF_init;
    end;{end FormCreate}
     
    end.

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Salut,

    il te manque TFMain. entre "procedure" et "read_Air..." dans l'implémentation.

    Inspire-toi de l'autre procédure OpenFile.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    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
    A la différence de la procédure OpenFile, correctement reconnue dans la section implémentation comme une méthode de TFMain : procedure TFMain.OpenFile; read_Airport_Dateien est également déclaré comme une méthode, mais implémenté comme une procédure standard : procedure read_Airport_Dateien( fileName : string; ...Il suffit donc de préfixer son nom par celui de l'objet dont elle est une méthode.
    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 !

  4. #4
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut
    Merci pour vos réponses, j'apprends encore une fois que je ne serai jamais un ami de la syntaxe.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/03/2011, 11h36
  2. Déclaration forward ou external non satisfaite
    Par manel77 dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 27/07/2007, 12h29
  3. [Deb]Erreur compil. t5ype non visible
    Par Marc_3 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 24/02/2006, 13h00
  4. [Deb]Syntax decl d'une const
    Par Marc_3 dans le forum C++
    Réponses: 3
    Dernier message: 03/02/2006, 08h27
  5. Réponses: 10
    Dernier message: 24/11/2005, 19h30

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