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 :

Utilisation de ( CASE OF)


Sujet :

Delphi

  1. #1
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut Utilisation de ( CASE OF)
    Salut à tous, je veux savoir comment utiliser (case of) mais avec un label
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Case edit1.text of
    changement:form1.color:=clred;
    info:form1.caption:='bla bla bla';
    J'espère que c'est claire !!

  2. #2
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Le case ne fonctionne qu'avec des valeurs numériques Si tu veux utiliser des chaînes, il te reste les if enchaînée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if edit .Text = ... 
      then
      else if edit .Text =...
    ...
    Roland

  3. #3
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut
    Salut, Merci pour votre réponse ,mais je ne veux pas utilisé (if .. then .. else),
    sur l'aide de Delphi, j'ai trouver des exemples pour utiliser (case of) voila ce que j'ai trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //Voici d'autres exemples d'instructions case :
     
    case MaCouleur of
      Rouge: x := 1;
      Vert: x := 2;
      Bleu: x := 3;
      Jaune, Orange, Noir: x := 0;
    end;
    case Selection of
      Fin: Form1.Close;
      Calcul: CalculTotal(CourUnit, Quant);
    else
      Bip;
    end;
    Mais j'ai pas compris comment les utiliser, j'ai beaucoup essayé mais sans résultat .

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut
    Citation Envoyé par rsc Voir le message
    Le case ne fonctionne qu'avec des valeurs numériques
    Pour être précis Case fonctionne avec un type scalaire: soit les types entier, caractère, booléen et énuméré.

    ceci est correct:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var
      C: Char;
    begin
      case C of
        'A'..'Z', 'a'..'z': // ...
        '0'..'9': //
      else
        // ...
      end;
    end;
    @Zaki_SDwin: Lorsque tu travailles avec des chaînes (string) on ne peut pas utiliser case. Le seul moyen est le bon vieux: if ... then .. else

    @+ Claudius

  5. #5
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 427
    Points : 5 833
    Points
    5 833
    Par défaut
    salut

    ou un indexof d'un stringlist qui te fournie un indice
    et celui ci peut etre gerer par un case of

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  6. #6
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Pour en revenir à ton exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    case MaCouleur of
      Rouge: x := 1;
      Vert: x := 2;
      Bleu: x := 3;
      Jaune, Orange, Noir: x := 0;
    end;
    il doit y avoir quelque part dans le code plus haut qqch du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    type TCouleur = (Rouge, Vert, Bleu, Jaune, Orange, Noir);
    // Définition d'un type scalaire
    ...
    Var
      MaCouleur : TCouleur;
    Ce qui fait que "Rouge" n'est pas une chaîne (ni une variable), mais une valeur scalaire de type TCouleur.
    Roland

  7. #7
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut
    Merci beaucoup à tous, y a t-il un autre exemple qui utilise une valeur scalaire parce que j'ai vraiment essayé avec l'exemple trouvé dans l'aide de Delphi mais toujours pas de réussite.

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 427
    Points : 5 833
    Points
    5 833
    Par défaut
    salut Tu peut faire aussi comme cela avec un string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     case str[1] of 
      'B','b' :  case str[2] of
                 'M','m' : case str[3] of
                            'P','p' : GereBmpValue;
                           end; 
                 end;
      'G','g' :  case str[2] of
                 'I','i' : case str[3] of
                          'F','f' : gereGifValue
                         end;
                 end;
      ....
      end;
    le case n'accepte que des valeur scalaire
    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  9. #9
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut
    Oui merci pour l'exemple je viens d'apprendre comment mettre une (CASE OF) dans une autre encore merci, mais toujours je cherche une solution pour string (enfin à part (IF THEN), peut être que la solution que ta proposer ça va aider (le truc de l'index dans liststring) ,alors merci de me donner l'exemple.

  10. #10
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 427
    Points : 5 833
    Points
    5 833
    Par défaut
    salut

    on initialise une liste de mots cle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    lst :=TStringList.Create
    Lst.add('coucou');
    Lst.add('Test');
    Lst.add('Salut');
    ....
    ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     Case lst.indexof(variable) of 
       1 :  mapremiere;
       2 :  maseconde;
       ...
      End;

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  11. #11
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 105
    Points : 84
    Points
    84
    Par défaut
    Merci, mais juste une petite modification pour que ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Case lst.indexof(variable)+1 of 
       1 :  mapremiere;
       2 :  maseconde;
       ...
      End;
    Ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Case lst.indexof(variable) of 
       0 :  mapremiere;
       1 :  maseconde;
       ...
      End;
    Thaaaaaaaaaanks, A+.

  12. #12
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

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

Discussions similaires

  1. Utilisation de case dans un script
    Par mirlidas dans le forum Linux
    Réponses: 1
    Dernier message: 11/12/2006, 14h46
  2. Réponses: 21
    Dernier message: 21/07/2006, 16h55
  3. [Swing] Utilisation de cases à cocher
    Par gids01 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 25/04/2006, 15h21
  4. Réponses: 24
    Dernier message: 24/11/2005, 10h28
  5. [mySQL] Newbie : Utilisation de CASE
    Par SergeF dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/07/2005, 00h39

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