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 :

Utiliser une variable dans une variable


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Points : 29
    Points
    29
    Par défaut Utiliser une variable dans une variable
    Bonjour,

    Je ne sais pas si le titre est suffisamment clair, alors je vous montre un exemple :

    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
    Var toto : String;
      i : Integer;
      jour1 : Integer;
      jour2 : Integer;
      jour3 : Integer;
      jour4 : Integer;
      jour5 : Integer;
      jour6 : Integer;
      jour7 : Integer;
     
    begin
      for i := 1 to 7 do
        begin
          if toto = 'Salut' then ('jour' + IntToStr(i)) := 0;
          if toto = 'Hello' then ('jour' + IntToStr(i)) := 1;
          if toto = 'Hallo' then ('jour' + IntToStr(i)) := 2;
        end;
    end;
    J'ai bien trouvé une fonction qui serait FindIntegerVariable, mais je ne la trouve que sur un site, et n'arrive pas à l'utiliser.
    Est-ce que ce que je demande est possible ?

    D'avance, merci !

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 166
    Points : 41 348
    Points
    41 348
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Je ne suis pas sûr de comprendre. Vous voulez parler d'une énumération ?

    type Jours=(Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi,Dimanche);

    ou d'une liste de valeurs, genre dictionnaire
    comme dans cet exemple

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Non, rien d'aussi compliqué.

    Je voudrais affecter à la variable jour1 (1 étant ici fonction de i) la valeur 0, 1 ou 2 en fonction de la valeur de toto. J'ai pris toto pour l'exemple, je pensais que ce serait plus simple, mais je vais donner le code réel :

    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
    Var i : Integer;
        j : Integer;
        jour1 : Integer;
        jour2 : Integer;
        jour3 : Integer;
        jour4 : Integer;
        jour5 : Integer;
        jour6 : Integer;
        jour7 : Integer;
        rb0 : TRadioButton;
        rb1 : TRadioButton;
        rb2 : TRadioButton;
     
    begin
      rqtFestinResa.First;
      for i := 1 to rqtFestinResa.RecordCount do
        begin
          rqtFestinResa.Edit;
          for j := 1 to 7 do
          begin
            rb0 := FindComponent('rbUser' + IntToStr(i) + 'Null' + IntToStr(j)) as TRadioButton;
            rb1 := FindComponent('rbUser' + IntToStr(i) + 'Norm' + IntToStr(j)) as TRadioButton;
            rb2 := FindComponent('rbUser' + IntToStr(i) + 'Alte' + IntToStr(j)) as TRadioButton;
            if rb0.isChecked = true then ('jour' + IntToStr(j)) := 0;
            if rb1.isChecked = true then ('jour' + IntToStr(j)) := 1;
            if rb2.isChecked = true then ('jour' + IntToStr(j)) := 2;
          end;
          rqtFestinResa.Next;
        end;
    Je souhaite ne faire qu'une seule requête SQL pour mettre à jour mon enregistrement : "Update reservation set lun_type = :jour1, mar_type = :jour2..." Du coup, je souhaite affecter à chaque variable (jour + j) sa valeur.
    Sinon, je ne peux pas boucler, et il faut que j'écrive les 7 cas possibles, un pour chaque jour de la semaine. Rien de compliqué, bien sûr, mais comme je débute, j'essaye de voir s'il n'existe pas une solution à mon problème.

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 877
    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 877
    Points : 11 371
    Points
    11 371
    Billets dans le blog
    6
    Par défaut
    Utiliser un tableau d'entiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var
      Jours: array [1..7] of integer;

  5. #5
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 388
    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 388
    Points : 3 160
    Points
    3 160
    Par défaut
    Bonjour,
    Je ne pense pas avoir bien compris ce que tu veux faire, mais est ce que tu ne pourrais pas utiliser un tableau de chaines : Jour[i],
    puis construire ta chaine "Update reservation... avec les jour[i] ?

    A+
    Charly

    Grillé par Tourlourou ! : tableau d'entiers ou de chaines ...

    PS : tu peux aussi utiliser des tableaux de RadioButon qui éviteraient peut être les FindComponent ?

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 439
    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 439
    Points : 5 858
    Points
    5 858
    Par défaut
    salut

    pour 7 jour autant utiliser un byte et se servir des opération de byte (SHL,SHR,AND,... )

    Mes deux cents

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    c'est marrant cet usage de FindComponent(), c'est vraiment une fonction que je n'utilise jamais; ça me fait penser au document.getElementById() de Javascript, mais même en Javascript je ne l'utilise plus

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

Discussions similaires

  1. utiliser une variable déclaré en delphi dans un sql
    Par jamdinhe dans le forum Bases de données
    Réponses: 12
    Dernier message: 28/06/2018, 09h32
  2. Réponses: 6
    Dernier message: 07/04/2006, 01h10
  3. utiliser une variable se trouvant dans un autre .c
    Par richard_sraing dans le forum C
    Réponses: 2
    Dernier message: 18/03/2006, 11h59
  4. [PHP-JS] utiliser une variable php dans du javascript
    Par kcizth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/02/2006, 11h53
  5. [FLASH MX2004] Utiliser une variable dans le code
    Par arnolem dans le forum Flash
    Réponses: 25
    Dernier message: 02/12/2005, 16h37

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