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 :

Problème avec une fonction


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 28
    Points : 0
    Points
    0
    Par défaut Problème avec une fonction
    Bonjour,
    J'ai une fonction de calcul dans delphi 7, codée comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function Calcul1(ds3,ds4 : TDataset) : Integer;
    begin
     result :=
    (ds3.fieldbyname('tot_poid').AsInteger)-(ds4.FieldByName('poid_livr').AsInteger);//pour me donne le pois rest
    (ds3.fieldbyname('tot_poid').AsInteger)/(ds4.FieldByName('poid_rot').AsInteger);//pour me donne les tranche de pois a livrer
    end;
    Quand je compile il me donne ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Error] vente.pas(244): Statement expected, but expression of type 'Extended' found

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 282
    Points : 939
    Points
    939
    Par défaut
    Bonjour,

    Après ton ":=" tu passe à la ligne, ok.
    Au bout de la ligne qui suit, je vois un ";" (juste avant le commentaire) ?
    Donc fin d'expression et la ligne qui suit n'est alors ni une expression ni un appel de fonction...
    Sans oublier que je vois pas d'où sort le "result", ou alors c'est une variable globale.
    poke 1024,0; poke 214,214

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    @abkthekingABK

    Etre débutant n'explique pas tout, il n'y a aucune réflexion derrière ce que tu écris

    De plus, F1 sur l'erreur te donnerait toutes les infos la concernant, ici Erreur 2014.



    Citation Envoyé par AdmChiMay Voir le message
    Sans oublier que je vois pas d'où sort le "result", ou alors c'est une variable globale.
    C'est implicitement le résultat de la fonction. On pourrait aussi l'écrire Calcul1 := 1+2; ou suivant la version de Delphi, exit(1+2);

  4. #4
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut
    Bonjour,

    Scientifiquement, assimiler un poids à un entier est une erreur : un réel serait plus logique et simplifierait vos calculs.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par paulfr Voir le message
    Scientifiquement, assimiler un poids à un entier est une erreur : un réel serait plus logique et simplifierait vos calculs.
    quitte par la suite, si besoin, à faire un arrondi pour obtenir des Kilos
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 28
    Points : 0
    Points
    0
    Par défaut
    Bonjour,
    quand je supprime la ligne 5 la fonction marche normalement, mais quand je l'ajoute l'erreur revient...

  7. #7
    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
    Ton problème n'est pas tant de savoir si l'erreur disparaît ou réapparaît avec une ligne, que d'essayer de comprendre pourquoi.

    Pour ceci, il suffit que tu lises ton code en te demandant :
    - que doit renvoyer la fonction ?
    - est-ce bien ce que j'ai indiqué dans le prototype de la fonction ?
    - le fait-elle (cad affecte-t-elle le résultat du bon calcul à la valeur de retour de la fonction) ?
    - à quoi est destinée la ligne 5 ?

    J'ajouterais bien que des pistes ont été soulignées dans la discussion, mais qu'il faut faire le minimum d'effort pour t'en saisir et t'engager dans la résolution de tes problèmes autrement qu'en attendant que quelqu'un les résolve à ta place, avec pas mal d'intuition, tellement ils sont mal présentés.
    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 !

  8. #8
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 345
    Points : 3 123
    Points
    3 123
    Par défaut
    Bonjour,
    c'est normal, comme te l'a dit AdmChiMay c'est la ligne 5 qui est incorrecte.

    Ta fonction ne peux pas avoir 2 résultats entiers. Il faut que tu fasses 2 fonctions : une ayant pour Result la ligne 4 et l'autre la ligne 5

    A+
    Charly

    Grillé par Tourlourou !!

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 28
    Points : 0
    Points
    0
    Par défaut
    Bonjour,
    Monsieur tourlourou, je ne veux pas que quelqu’un résolve mon problème,
    je veux quelqu'un qui voit ce que je ne vois pas, avec tous mes respects à tous.
    Je n'arrive pas à remercier les gents de ce site, ce sont de bons gents.

Discussions similaires

  1. [MySQL] Php : problème avec function mail()
    Par totoAussi dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/05/2009, 19h45
  2. Problème avec function replace
    Par f.morgan3 dans le forum Services Web
    Réponses: 2
    Dernier message: 18/03/2008, 10h08
  3. problème avec function
    Par wind_vinch dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/11/2007, 17h32
  4. [Dates] Problème avec Function
    Par pony99 dans le forum Langage
    Réponses: 8
    Dernier message: 21/11/2006, 14h13
  5. Réponses: 22
    Dernier message: 06/04/2006, 14h45

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