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 :

Intervertir les valeurs de 2 variables


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut Intervertir les valeurs de 2 variables
    Bonjour,

    Existe-t-il en Delphi une fonction qui intervertit le contenu de 2 variables.

    D'autres langages utilisent la fonction Swap mais en Delphi elle n'a pas le même usage.

    Sinon, je continuerai à utilise une variable imtermédiaire temporaire.

    Merci

  2. #2
    Membre chevronné

    Homme Profil pro
    Chef de Projet ATIC
    Inscrit en
    Novembre 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de Projet ATIC
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 274
    Par défaut
    Pour des variables, il ne me semble pas qu'il existe une fonction. Par contre, pour des listes (TStrings, TList, etc...) il y a la méthode Exchange. Méthode qui utilise d'ailleurs une variable temporaire.

  3. #3
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Dommage et tant pis.

    Comme quoi, il y a toujours moyen de perfectionner : 1 instruction au lieu de 5 ("begin" et "end" compris)

    Merci quand même.

  4. #4
    Membre chevronné

    Homme Profil pro
    Chef de Projet ATIC
    Inscrit en
    Novembre 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de Projet ATIC
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 274
    Par défaut
    Il te suffit juste de faire une fonction commune et tu auras au final une seule ligne de code à plusieurs endroit

  5. #5
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Bien vu.
    Et merci encore

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Defluc a écrit:
    Existe-t-il en Delphi une fonction qui intervertit le contenu de 2 variables.
    Sinon, je continuerai à utilise une variable imtermédiaire temporaire.
    Pas besoin de variable temporaire.
    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
    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
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
    
    var
      Form1: TForm1;
      a,b: integer;
    implementation
    
    {$R *.DFM}
    
    procedure Swap(var x,y: integer);
    begin
      x := x xor y;
      y := y xor x;
      x := x xor y;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     a := 10;
     b := 20;
     showmessage('a='+ inttostr(a) + ' b='+inttostr(b));
    
     Swap(a,b);
    
     showmessage('a='+ inttostr(a) + ' b='+inttostr(b));
    end;
    
    end.

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

Discussions similaires

  1. Mode debug : afficher les valeurs d'une variable
    Par zenux dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 05/04/2008, 12h44
  2. Recuperer les valeurs d'une variable
    Par yoann_deygas dans le forum MATLAB
    Réponses: 1
    Dernier message: 18/06/2007, 11h10
  3. Réponses: 5
    Dernier message: 16/05/2006, 09h23
  4. afficher les valeurs de la variable post?
    Par jeff1985 dans le forum Langage
    Réponses: 1
    Dernier message: 09/05/2006, 13h31
  5. intervertir les valeurs dans une colonne d'une table
    Par hammou dans le forum Débuter
    Réponses: 2
    Dernier message: 26/01/2004, 10h15

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