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 :

Petite question algorithmique


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par défaut Petite question algorithmique
    Bonjour à tous, j'ai une petite question algorithmique:

    j'ai actuellement l'algorithme suivant sur une première Form nommée PageControl :

    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
     
    begin
     
          i:=9;
          bool:=false;
          Dossier:=XLWorksheet.range['A'+inttostr(i)];
          if (Dossier<>'') then bool:=true;
     
            nbre_iterations:=0;
            while (bool=true) do
     
               begin
     
                  //Lire la valeur d'une cellule de ref
                  refRange:= 'A'+inttostr(i);
                  Cellrefverif:= XLWorksheet.range[refRange];
                  if (Cellrefverif<>'') then
                      begin
                         nbre_iterations:=nbre_iterations+1;
                         i:=i+1;
                         bool:=true;
                           ADOQueryVerifRefDossier.Close;
                           ADOQueryVerifRefDossier.Parameters[0].Value:=Cellrefverif;
                           ADOQueryVerifRefDossier.Open;
                           Ref_exist:=ADOQueryVerifRefDossierExpr1000.Value;
                           if (Ref_exist=0) then
                              begin
                                RefDossier:=Cellrefverif;
                                ConfirmDossier.TransmetRefDossier(RefDossier);
                                ConfirmDossier.show;
                                TraitementAFaire:=False;
                              end
                           else
                              begin
                                TraitementAFaire:=True;
                              end;
                      end
                  else bool:=false;
     
               end;
     
      if (TraitementAFaire=true) then
     
          begin
              showmessage('Algo Ok !!!');
          end;
    end;
    Ne passez pas de temps à essayer de le décoder, cela ne m'aidera en rien, en réalité j'ai une boucle while qui effectue un certain nombre de traitements. Parmi ces traitements il y a en particulier une vérification qui est effectuée et qui ouvre une nouvelle fenêtre (if (Ref_exist=0) then ConfirmDossier.show; )

    Dans cette fenêtre nommée ConfirmDossier Deux boutons : oui et non.
    Je voudrai que lorsque je clique sur oui, la boucle while de ma première fenêtre (PageControl) soit traitée à nouveau et que lorsque je clique sur non dans ma deuxième fenêtre, le code de ma première fenêtre soit abandonné.

    Je sais pas si j'ai été suffisament clair, mais si quelqu'un a une solution elle est la bienvenue, merci.

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par défaut
    je suis pas sûr ke ma question et mon explication soit très claire donc pour faire bcp plus simple :

    est-il possible d'avoir une condition sur une première form1 du style :
    Si le bouton 1 de la form2 a été cliqué alors faire ceci...
    et Si le bouton 2 de la form2 a été cliqué alors faire cela...

  3. #3
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    Mets ton code en te servant des Balises 'Code'
    De surcroit, ne met pas tout ton code, surtout si c'est pour dire, 'ne le déchiffrez pas'

    Mets juste un algo dans ce cas.

    J'ai pas compris grand chose, mais cela semble etre un truc avec 2 boucles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    OK := True;
    While OK do
      while BouclePrincipaleOK do
        begin
        ...
        if OuvreFenetre then
          begin 
          if Reponse = NON then BOK := False;
          Break;
          end;  
        ...
        end;
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par défaut
    Citation Envoyé par TicTacToe
    De surcroit, ne met pas tout ton code, surtout si c'est pour dire, 'ne le déchiffrez pas'

    Mets juste un algo dans ce cas.

    J'ai pas compris grand chose, mais cela semble etre un truc avec 2 boucles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    OK := True;
    While OK do
      while BouclePrincipaleOK do
        begin
        ...
        if OuvreFenetre then
          begin 
          if Reponse = NON then BOK := False;
          Break;
          end;  
        ...
        end;

    Premièrement je n'ai pas mis tout mon code, j'ai simplement mis la portion d'algo sur laquelle porte ma question, elle est à titre d'info et deuxièmement ma question porte justement sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Reponse = NON then BOK := False;
    . NON est un bouton se trouvant sur une autre fenêtre, comment indiquer si on a cliqué sur ce bouton ou non y'a-t-il une propriété genre Form2.Bouton1.click=true de sorte que je puisse mettre la condition if Form2.Bouton1.click=true then... ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 74
    Par défaut
    salut
    j'ai peut-être une solution à ton problème.

    Tu peux déclarer un boolean "AClicke" dans la partie public de ta form "confirmdossier", que tu initialise à false.
    Puis dans dans l'événement "onclik" du bouton de la "confirmdossier" tu mets
    "AClicke" à true.

    Ensuite dans le code de la form 1 tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     if ((ConfirmDossier.Aclicke) and...
    Bon je sais pas si c'est très propre et si ca marche dans ton cas, mais je procède souvent comme ça pour récupérer des valeur d'une fenêtre à l'autre.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par défaut
    Bon je vais essayer comme ça, je te remercie et je te tiens au courant.

Discussions similaires

  1. [Visuel XP] Petite question sur le theme XP...
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 12
    Dernier message: 20/01/2005, 14h41
  2. [CR8.5] petite question ..
    Par mcrocher dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 13/09/2004, 15h04
  3. Une petite question
    Par Etienne1 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/08/2004, 16h19
  4. [FOREIGN KEY] petite question bete ...
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 16h35
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

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