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

Bases de données Delphi Discussion :

comment creer le click automatique d'un bouton svp


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 13
    Points
    13
    Par défaut comment creer le click automatique d'un bouton svp
    bonsoir
    j'ai un bouton sur ma form
    que je suis obliger d'appuiller plusieur fois j'usqu'ase qui me trouve la bonne condition .
    mais pour cela je suis obliger d'appuiller des centaine de fois pour q'il teste chaque condition j'usqu'a ce qui trouve la bonne .
    j'aurair aimer savoir si il y a une commande qui me permet d'automatiser tous c'est click
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Bonsoir,

    Je ne comprends pas trop en fait
    Si tu as un bouton, ça fait un test, et c'est tout non ?
    Logiquement, on a beau appuyé 100 fois sur un même bouton, ce dernier doit toujours faire la même action en vérifiant la même condition ...

    Par exemple, imaginons un bouton "Créer boutons" qui ne doit créer que des boutons. Hé bien, que je clique une fois où 15 fois dessus, ça doit créer mon bouton (en vérifiant certaines conditions de création si besoin il y a).

    Peux-tu nous expliquer un peu en quoi consiste ce bouton et non montrer quelques conditions qu'effectue ce bouton ?

    Merci

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    ça doit surement être une question de boucle ....

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 13
    Points
    13
    Par défaut enfaite ce bouton verifie une condition dans une table access
    Citation Envoyé par Evilator Voir le message
    ça doit surement être une question de boucle ....
    en fait ce bouton verifie une condition un edit1 et un dbedit 1
    l'orsque j'appui dessus il verifie dans une table acces si mon dbedit correspond a un volume preci si non il passe au volume superieur et anssi de suite j'usqu'a ce que je trouve le volume correspondant a ma condition

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Bonjour,

    Donc oui, c'est surement un soucis de boucle ...
    Il faut faire un répéter jusque (ou tant que) ...
    Sans code, il nous est difficile d'en dire plus

  6. #6
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    j'essaie d'imaginer la scène mais vraiment c'est très difficile. si tu clique et qu'il ne trouve rien il sort, puis un autre clic et un autre, ... jusqu'à ce qu'il satisfait la condition. dans ce cas là, tu dois avoir une variable qui se renseigne à l'appui de chaque clic, mais bon je crois que je me perd, alors le bout de code responsable de se désordre stp.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 13
    Points
    13
    Par défaut voici mon code
    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
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB, Mask, DBCtrls, Grids, DBGrids, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        DBEdit1: TDBEdit;
        ADOConnection1: TADOConnection;
        ADOTable1: TADOTable;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        Edit5: TEdit;
        Edit6: TEdit;
        procedure Edit1Change(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
     
    if adoTable1.Locate('volume',Edit1.Text , [locaseinsensitive,lopartialkey]) then
    Showmessage(' l''enregistrement non trouver  ');
     
     
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     
    edit4.Text:=floattostr(strtofloat(dbedit1.Text)+(strtofloat(edit6.Text)));
     
    adoTable1.Locate('hauteur',Edit1.Text , [locaseinsensitive,lopartialkey]);
    edit4.Text:=floattostr(strtofloat(dbedit1.Text)+(strtofloat(edit6.Text)));
    if edit4.text>=edit5.text then
    Showmessage(' la hauteur a etait trouver ') Else
    edit1.text:=floattostr(strtofloat(edit1.text)+(strtofloat(edit3.text)));
     
     
    end;
     
    end.

  8. #8
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    Je me permets quelques commentaires pour éclaircir le débat. Peux-tu préciser si ces remarques sont pertinentes ou si je n'ai rien compris

    Citation Envoyé par moldock Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
     
    if adoTable1.Locate('volume',Edit1.Text , [locaseinsensitive,lopartialkey]) then
    Showmessage(' l''enregistrement non trouver  ');
     
    end;
    J'ai du mal à saisir : tu recherches un enregistrement (volume = edit1.text), et si tu le trouve (locate = true) tu écris un message "Non Trouvé" ?

    Tu n'as pas peur d'interroger trop fréquemment ta base de données ?


    Citation Envoyé par moldock Voir le message
    en fait ce bouton verifie une condition un edit1 et un dbedit 1
    l'orsque j'appui dessus il verifie dans une table acces si mon dbedit correspond a un volume preci si non il passe au volume superieur et anssi de suite j'usqu'a ce que je trouve le volume correspondant a ma condition
    si je traduis bien en pseudo-code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    i = 0
     
    répète tant que volume[i] <> dbedit
    i++
    fin répète
    // il faut prévoir de sortir de la boucle si le volume n'est pas trouvé !
    Or
    Citation Envoyé par moldock Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     
    edit4.Text:=floattostr(strtofloat(dbedit1.Text)+(strtofloat(edit6.Text)));
     
    adoTable1.Locate('hauteur',Edit1.Text , [locaseinsensitive,lopartialkey]);
    edit4.Text:=floattostr(strtofloat(dbedit1.Text)+(strtofloat(edit6.Text)));
    if edit4.text>=edit5.text then
    Showmessage(' la hauteur a etait trouver ') Else
    edit1.text:=floattostr(strtofloat(edit1.text)+(strtofloat(edit3.text)));
     
    end;
    se lit
    (1) EnLettre ( EnChiffre (dbedit1) + EnChiffre (edit6) ) -> edit4

    (2) Rechercher enregistrement dans adoTable1 l'enregistrement où hauteur = edit1
    // pas de lien avec la ligne de code précédante ?
    // sans préciser si hauteur est stockée sous forme de chiffre ou lettre !
    // faut-il lire edit1 ou dbedit1 ?

    (3) refaire (1)
    // puisque rien n'a changé : pourquoi cette ligne ?

    (4) si comparaison de chaine de texte : edit4 >= edit5
    alors "hauteur trouvée"
    sinon EnLettre ( EnChiffre (edit1) + EnChiffre (edit3) ) -> edit1
    // confusion entre edit et dbedit ? confusion sur les index ?
    // pourquoi comparer des chaines de caractères plutôt que des nombre (Float p.ex) ?
    // quel est l'intérêt de finir la procedure par une affectation de edit1 sans action sur cette nouvelle valeur ?
    "Je n'ai jamais rencontré d'homme si ignorant qu'il n'eut quelque chose à m'apprendre."
    Galilée

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 13
    Points
    13
    Par défaut erreur dans ma programmation
    tous d'abord j'enlève ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if adoTable1.Locate('volume',Edit1.Text , [locaseinsensitive,lopartialkey]) then
    Showmessage(' l''enregistrement non trouver  ');
    qui ne me sert a rien

    donc pour préciser a chaque fois que j'appuie sur le bouton
    si mon volume trouver dans ma table n'est pas supérieur au volume rechercher il va automatiquement rajouter 1 a mon edit 1 qu'il vas rechercher le volume de cette nouvelle hauteur est l'ui associer le volume correspondant a dbedit1.
    et si le volume n'est pas supérieur a celui rechercher il va rajouter 1 automatiquement a cette nouvelle hauteur est inci de suite jusqu'à ce que je trouve le volume correspondant mais pour cela je doit appuyer a chaque fois sur le bouton1 c'est cette répétition que je recherche sans appuyer sur bouton1

  10. #10
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par moldock Voir le message
    donc pour préciser a chaque fois que j'appuie sur le bouton
    si mon volume trouver dans ma table n'est pas supérieur au volume rechercher il va automatiquement rajouter 1 a mon edit 1 qu'il vas rechercher le volume de cette nouvelle hauteur est l'ui associer le volume correspondant a dbedit1.
    et si le volume n'est pas supérieur a celui rechercher il va rajouter 1 automatiquement a cette nouvelle hauteur est inci de suite jusqu'à ce que je trouve le volume correspondant mais pour cela je doit appuyer a chaque fois sur le bouton1 c'est cette répétition que je recherche sans appuyer sur bouton1
    J'ai du mal a comprendre : tu cherche un enregistrement dont le champ volume vaut Edit1.Text. Quand tu trouves cet enregistrement tu voudrais que son champ volume ("volume trouver" dans le texte) soit supérieur au "volume rechercher" sinon tu incrémentes Edit1.Text ??? Alors forcément il faut rappuyer sur un Button !!

    C'est pas clair : tu devrais mieux définir ce que tu cherches. Va voir la page des tuto sur le SQL ici ou .
    "Je n'ai jamais rencontré d'homme si ignorant qu'il n'eut quelque chose à m'apprendre."
    Galilée

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/12/2006, 15h49
  2. Comment creer un numero automatique?
    Par dachir dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/11/2006, 20h48
  3. Comment creer un bouton "install"?
    Par mazen06 dans le forum Flash
    Réponses: 1
    Dernier message: 17/05/2006, 11h43
  4. comment creer ub bouton rond en java
    Par nerser dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 06/02/2006, 14h51

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