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 :

Développement d'une application pour la gestion des missions


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Points : 0
    Points
    0
    Par défaut Développement d'une application pour la gestion des missions
    bonjour
    je suis débutante en Delphi, et je suis en train de développe une petite application pour la gestion des missions, mais j'ai des difficultés, et j’aimerais bien de trouver un aide

    merci

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    ... , mais j'ai des difficultés, et j’aimerais bien de trouver un aide
    Impossible de trouver de l'aide si tu ne dis même pas de quelles difficultés il s'agit.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 215
    Points : 2 303
    Points
    2 303
    Par défaut
    Bonjour,

    si il s'agit de difficultés pour la prise en main de Delphi, vous pouvez consulter les npmbreux tutoriels dont les liens sont donnés sur ce site, ainsi que la FAQ. ensuite si vous rencontrez des difficultés sur un point précis nous serons heureux de vous aider.

    @++
    Dany

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Points : 0
    Points
    0
    Par défaut développement d'une application pour la gestion des mission et calculer les frais de mission
    bonjour
    merci pour votre réponse
    j'ai ce message d’erreur : ("5" n'est pas une valeur entière correcte ),et je vous informe que mon objectif est de sommer des valeur de type monétaire dans un table ,et j'utilise des dbedit .
    merci

  5. #5
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 930
    Points : 1 959
    Points
    1 959
    Par défaut
    Citation Envoyé par b-zina Voir le message
    bonjour
    merci pour votre réponse
    j'ai ce message d’erreur : ("5" n'est pas une valeur entière correcte ),et je vous informe que mon objectif est de sommer des valeur de type monétaire dans un table ,et j'utilise des dbedit .
    merci
    Ok mais le plus simple serait que tu mettes ton code qui pose problème, ce serait plus facile pour voir exactement ou est le problème... sur quelles variables fais tu une addition ?
    de quel type sont ces variables ?
    Apparement tu fais une addition sur des valeurs qui ne sont pas des entiers.
    il faut surement passer par les conversions de type...

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Points : 0
    Points
    0
    Par défaut
    oui,exactement, sont de type monétaire,et j'ai aucune idée sur la conversation ,ci-dessous le code
    et je vous informe que j'utilise une table

    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
    var
      Form5: TForm5;
     
    implementation
          USES UnitMD;
    {$R *.DFM}
     
    procedure TForm5.BitBtn1Click(Sender: TObject);
    var t,v:integer;
    tot:real;
    begin
    t:=StrToInt(DBEdit6.Text);
    v:=StrToInt(DBEdit7.Text) ;
    tot:=t+v;
     dbedit13.Text:=FloatToStr(tot);
     
    end;
     
    end.

  7. #7
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    tu peux me donner le type de champ dans lequel tu vas sauvegarder ta valeur totale ?

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    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 029
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Que de confusions rien que sur ce bout de code !

    si les valeurs dont de type monétaires (donc currency ou au pire real) pourquoi transformer les valeurs en entiers par StrToInt ? donc en perdant les chiffres après la virgule ou en obtenant un erreur de conversion à cause du point décimal (point ou virgule selon les settings du poste) , utilisez StrToFloat


    De même pourquoi passer par les DBEditn.Text au lieu d'utiliser les valeurs des champs :
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Table.FieldByName('Total').AsCurrency:=Table.FieldBYName('M1').asCurrency+Table.FieldBYName('M2').asCurrency
    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

  9. #9
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    C'est vrai que c'est "caca" , mais bon, on a tous débuté un jour.

    Maintenant, si le champ cible pour le total est dans la même table, il n'a aucun intérêt.
    Pour l'affichage, un champ calculé dans la définition du composant serait bien suffisante.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 62
    Points : 61
    Points
    61
    Par défaut
    Bonjour B-ZINA

    Concernant votre code :
    Pour commencer, vous déclarez deux variables (Integer) utilisées pour stocker des chiffres ronds.
    Ensuite pour le résultat dans DBEdit13 vous utiliser (FloatTostr) utilisé pour les chiffres à virgule flottante.

    // votre code
    procedure TForm5.BitBtn1Click(Sender: TObject);
    var t,v:integer;
    tot:real;
    begin
    t:=StrToInt(DBEdit6.Text);
    v:=StrToInt(DBEdit7.Text) ;
    tot:=t+v;
    dbedit13.Text:=FloatToStr(tot);
    end;
    Quelques conseils :
    - Vous devez protéger les opérations de calcul. La valeur de T et V doivent être vérifiées avant le calcul du total. Si les valeurs de DBedit6 et DBEdit7 sont en permanence soit (Integer ou Double), le mieux est d’attribuer à l’avance lors de la conception de votre base de données le format adéquat à vos champs, ça vous évitera les conversions inutiles et les erreurs.

    - Si pour X raisons vous souhaitez garder des champs (String) pour faire vos calculs, cela ne pose aucun problème à partir du moment où vous protégez votre procédure et vérifier à l’avance les valeurs saisies dans vos (DBEdit).

    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
    Correction :
     
    unit UnitTest;
     
    interface
     
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
     
    type
      TFormTest = class(TForm)
        DBEdit6: TEdit;
        DBEdit7: TEdit;
        DBEdit13: TEdit;
        BtnCalculer: TButton;
        Edit1: TEdit;
        procedure DBEdit6KeyPress(Sender: TObject; var Key: Char);
        procedure DBEdit7KeyPress(Sender: TObject; var Key: Char);
        procedure BtnCalculerClick(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      FormTest: TFormTest;
     
    implementation
     
    {$R *.dfm}
     
    //cette function vérifie le caractère saisi si c'est un  numérique
    // pour l'utiliser il faut faire (if IsNum(DBEdit7.text) then faire quelque chose
    function IsNum(Num: String): Boolean;
     var
     X : Integer;
     begin
     Result := True;
     for X := 1 to Length(Num) do begin
     if Pos(copy(Num,X,1),'0123456789') = 0 then begin
     Result := False;
     Exit;
     end;
     end;
    end;
     
    // Cette ligne est encore mieux, puisque elle interdit à la base la saisie de caractères autres que des chiffres
    procedure TForm3.DBEdit6KeyPress(Sender: TObject; var Key: Char);
    begin
    if not (Key in ['0'..'9', #13, Chr(VK_BACK), Chr(VK_DELETE)]) then Key := #00
    end;
     
    procedure TForm3.DBEdit7KeyPress(Sender: TObject; var Key: Char);
    begin
    if not (Key in ['0'..'9', #13, Chr(VK_BACK), Chr(VK_DELETE)]) then Key := #00
    end;
     
     
    // procédure de calcul
    procedure TForm3.BtnCalculerClick(Sender: TObject);
    Var
    t,v, Tot:Double;
    Begin
    // Vérifier si les DBEdit.text ne sont pas vides
    if (DBEdit6.Text <>'') and (DBEdit7.Text <> '')then
    Begin
    t:=StrtoFloat(DBEdit6.Text);
    v:=StrtoFloat(DBEdit7.Text) ;
    tot:=t+v;
    dbedit13.Text:=FloatToStr(tot);
    //ou
    Edit1.Text:=FormatFloat('0.00',tot);
    End;
    end;
    end.
    Nom : Calcule.jpg
Affichages : 356
Taille : 8,3 Ko

    D’autres méthodes de calcul plus élégant existent, mais il faut un DataModule et savoir utiliser les champs calculés.
    Amicalement

Discussions similaires

  1. Création d'une application pour la gestion de planning
    Par Fred30 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 05/05/2014, 15h21
  2. Réponses: 0
    Dernier message: 26/11/2013, 21h11
  3. Quel SGBD pour la gestion des missions d'une association ?
    Par Bragon12 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 06/05/2008, 14h32
  4. Réponses: 3
    Dernier message: 07/12/2006, 11h16

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