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

Lazarus Pascal Discussion :

Déclaration de fichier typé non acceptée [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 370
    Par défaut Déclaration de fichier typé non acceptée
    Bonjour,

    Je fais une petite appli pour suivre un budget. J'ai l'habitude d'utiliser les fichiers typés:
    je déclare donc le type d'enregistrement, une variable tampon et une cariable fichier tel que suit:

    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
    uses
      Classes, SysUtils; 
    ...
    Type
      TTypeEcheance = (teNonDefini,teUnique,teMensuel,teBimestriel,teTrimestriel,teAnnuel);
    
      TFicheEche = record
        Index    : SmallInt;
        NomEche  : String;
        Montant  : Single;
        Minimum  : Single;
        Maximum  : Single;
        TypeEche : TTypeEcheance;
        DateEche : TDateTime;
      end;
    
    Var
      FicEche : TFicheEche;
      fEche   : File of TFicheEche;
    
    La ligne en rouge, le compilateur me donne le message suivant: typed files cannot contain reference-counted types
    Ce qui passait auparavant ne passe plus...
    No comprendo, comment trouver l'unité qui est concernée?
    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 644
    Par défaut
    Bonjour,

    Il n'aime vraisemblablement pas le string qui est un pointeur sur une taille variable. Cela marche au cœur du programme, mais pas dans un fichier typé. En fixant une longueur comme string[255] (taille maxi d'une short string) cela devrait fonctionner.

    Il serait par ailleurs préférable de mettre la chaîne en fin d'enregistrement.

    Salutations

  3. #3
    Membre éclairé
    Avatar de Jlmat
    Homme Profil pro
    Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Inscrit en
    Avril 2008
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ex Informaticien et Consultant en Ressources Humaines, Retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 370
    Par défaut
    Bonjour Guesset,

    Bien joué, ça fonctionne:
    En fixant une longueur comme string[255] (taille maxi d'une short string) cela devrait fonctionner.
    Effectivement, lesrecord n'aime pas les données variables...
    D'ailleurs, Le string en fin de record, ça ne marche pas non plus.
    Merci

  4. #4
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 644
    Par défaut
    Bonjour,

    Le string en fin de record a un avantage, si on ouvre le fichier en direct, il est un peu plus lisible. Les espaces qui vont jusqu'à 255 marquent la fin d'un enregistrement.

    Salutations

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/04/2009, 13h34
  2. Réponses: 4
    Dernier message: 10/12/2005, 13h40
  3. Fichiers .asp non reconnus
    Par zorba49 dans le forum ASP
    Réponses: 5
    Dernier message: 13/09/2005, 09h49
  4. Fichier orapwd non valide
    Par ariesnojf dans le forum Oracle
    Réponses: 3
    Dernier message: 12/07/2005, 19h36
  5. Prob fichier necessaire non installé...help pliz!!!
    Par Prima.broots dans le forum DirectX
    Réponses: 5
    Dernier message: 16/01/2005, 14h57

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