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

Langage Delphi Discussion :

code répétitif


Sujet :

Langage Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 4
    Points
    4
    Par défaut code répétitif
    bonjour.
    j'ai un bout de code qui doit etre utiliser dans plusieurs procedures
    est-il possible de le plaçer quelque part de maniere à le faire appeler et executer par des procédures.
    un peu comme une sub routine en vb
    merci d'avance.

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 912
    Points : 6 032
    Points
    6 032
    Par défaut
    Oui, tout à fait...

    Isole la séquence commune :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Procedure CodeCommun;
    begin
           le code commun
    end;
    Puis appeler cette procédure là où il y a besoin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    instruction1;
    instruction2;
    CodeCommun;    //     <--- appel
    .....

  3. #3
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut précision
    n'oublie pas de déclarer codecommun
    par exemple:
    private
    procedure codecommun;

    et procedure Tform1.codecommun;
    begin
    le code commun
    end;
    un petit complément qui t'est peut-être nécessaire...

    (et codecommun aux endroits voulus dans tes différentes procedures
    comme indiqué dans le post précédent)[/quote]

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut Re: précision
    Citation Envoyé par Archimède
    n'oublie pas de déclarer codecommun
    par exemple:
    private
    procedure codecommun;

    et procedure Tform1.codecommun;
    begin
    le code commun
    end;
    un petit complément qui t'est peut-être nécessaire...

    (et codecommun aux endroits voulus dans tes différentes procedures
    comme indiqué dans le post précédent)
    Ce n'est pas forcément nécéessaire: si sa fonction n'utilise pas de membres de Form1, il n'y a pas d'intérêt de la déclarer comme son membre

  5. #5
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    c'est vrai...
    mais si c'est la première fois qu'il se fait une procedure perso, il vaut mieux présenter un cas élémentaire plutôt que de généraliser.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 4
    Points
    4
    Par défaut code répétitif
    j'ai fait comme vous l'avez dit et au lancement j'ai l'erreur:
    identificateur non declaré :'image1'
    je vous mets le code commun

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    image1.Canvas.Pen.Mode:=pmxor;
    image1.Canvas.Pen.Color:=rgb(255,0,0);
    oldcolor:=image1.Canvas.Pen.Color;
    image1.Canvas.Pen.Color:=colortorgb(image1.Canvas.Pen.Color) xor colortorgb(color);
    image1.Canvas.MoveTo(0,cury2);
    image1.Canvas.LineTo(700,cury2);
    image1.Canvas.MoveTo(curx2,0);
    image1.Canvas.LineTo(curx2,700);
    image1.Canvas.Pen.Mode:=pmcopy;
    eraseprevious:=false;
    image1.Canvas.Pen.Color:=rgb(0,0,0);
    les lignes sont tracées sur un controle image
    lui meme sur une form
    curx2 est obtenu en faisant //curx2:=trunc(x/10)*10 //pareil pour cury2

    je me suis mis au delphi depuis une semaine si vous pouviez me donner un peu plus d'explications...merci.

  7. #7
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    C'est le complément dont parlais Pedro...

    Ta procedure contenant du code commun, doit en fait être un méthode contenu dans la form, pour qu'elle puisse reconnaitre tous les objets de ta form (Image1 en particulier)

  8. #8
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Effectivement
    Donc dans ces cas-là, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      TForm1=class(TForm)
      ...
      private
        procedure Dessine;
      ...
    et dans l'implémentation:
    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
     
    procedure TForm1.Dessine;
    var [?]
    begin
      image1.Canvas.Pen.Mode:=pmxor;
      image1.Canvas.Pen.Color:=rgb(255,0,0);
      oldcolor:=image1.Canvas.Pen.Color;
      image1.Canvas.Pen.Color:=colortorgb(image1.Canvas.Pen.Color) xor colortorgb(color);
      image1.Canvas.MoveTo(0,cury2);
      image1.Canvas.LineTo(700,cury2);
      image1.Canvas.MoveTo(curx2,0);
      image1.Canvas.LineTo(curx2,700);
      image1.Canvas.Pen.Mode:=pmcopy;
      eraseprevious:=false;
      image1.Canvas.Pen.Color:=rgb(0,0,0);
    end;
    En n'oubliant pas de déclarer les variables qu'il faut

  9. #9
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    les couleurs rgb(0,0,0) -->clblack
    rgb(255,0,0)--->clred ou $0000ff
    rgb c'est bien si tu mets des variables dedans.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 4
    Points
    4
    Par défaut code repetitif
    merci à tous ca marche.
    je modifierais les instruction pour la couleur aussi.
    A+

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

Discussions similaires

  1. [XL-2007] Amélioration d'un code répètitif
    Par eliot.raymond dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 20/11/2013, 15h47
  2. [XL-2007] Code répétitif pour combobox
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/09/2013, 16h42
  3. Comment s'implifier des codes répétitifs
    Par guy59960 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/08/2012, 16h54
  4. alléger un code répétitif
    Par adriennoob dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2010, 16h53
  5. [XL-2003] Simplification d'un bout de code répétitif
    Par neiluj26 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/06/2009, 17h48

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