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 :

[TMemo] Comment faire de jolies indentations ?


Sujet :

Delphi

  1. #1
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut [TMemo] Comment faire de jolies indentations ?
    Bonjour tout le monde,

    je désire faire de belles indentations, du style (remplacer les _ par des blancs) :
    TOTO_________TATATA
    TOTOTOTO____TATA
    Et avoir toujours les TATA alignés, mais il faut rajouter un certain nombre de #9 en fonction de la longueur de ce qui est précédemment (longueur des TOTO). Je ne sais pas si je suis clair.

    Je n'ai pas trouvé d'indication dans l'aide de Delphi, quelqu'un connaît-il la règle pour savoir le nombre d'indentation à faire ?

    Merci.

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

    cela depend du pas de tes indentation
    parr exemple on donne un pas de neuf carractere
    et ton tata se trouve a 3 indent
    donc 3*9= 27

    TOTO soit 4 caracteres
    27-4 = 23/9 = 2 le reste <> 0 on ajoute une indentation
    ce qui dans ce cas te donne 3

    TOTOTOTOT soit 9 caracteres
    27-9 = 18/9 = 2 le reste = 0 on n'ajoute pas d'indentation

    TOTOTOTOTO soit 10 caracteres
    27-10 = 17/9 = 1 le reste <> 0 on ajoute une d'indentation
    ce qui dans ce cas te donne 2

    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 AjusteTabulation(Memo : Tmemo);
    const
     Nb_Tabulations = 5;
    var
    TabTabul : array of integer;
    begin
    setlength(TabTabul,Nb_Tabulations-1);
    TabTabul[0]:=25;
    TabTabul[1]:=12;
    ...
    TabTabul[Nb_Tabulations]:=10;
     
    SendMessage(Memo.Handle,EM_SETTABSTOPS,Nb_Tabulations,LongInt(@TabTabul));
    //Mise à jour du controle
    Memo.Refresh;
    end;
    @+ Phil

  3. #3
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut
    Super merci pour ton aide.
    Pour avoir le pas de l'indentation, tu le regardes à la main pour voir combien de caractères il prend ou il existe une fonction que la donne ou la définit ?

    Je n'ai pas compris cette partie de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendMessage(Memo.Handle,EM_SETTABSTOPS,Nb_Tabulations,LongInt(@TabTabul));
    Tu t'en sers pour insérer les tabulations ?

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

    c'est toi qui fixe le pas il peut etre variable ou fixe
    je t'ai donnée un cas simple pour que tu puisse comprendre le principe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendMessage(Memo.Handle,EM_SETTABSTOPS,Nb_Tabulations,LongInt(@TabTabul));
    cela sert a fixer les fameux pas dans le memo on utilise pour ce faire les messages predefini de windows


    @+ Phil

  5. #5
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut
    En paramètre du SendMessage, tu passes un tableau d'entiers, c'est pour définir les différents pas du TMemo ?

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

    oui c'est tout a fait ca

    @+ Phil

  7. #7
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut
    Merci pour ton aide.
    Dès que je mets en production, je te dirai si ça marche.

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

Discussions similaires

  1. comment faire une JOLIE interface
    Par estelle84 dans le forum wxWidgets
    Réponses: 4
    Dernier message: 08/05/2007, 19h31
  2. comment faire evoluer ma base vers interbase6
    Par toure32 dans le forum InterBase
    Réponses: 5
    Dernier message: 23/10/2002, 10h59
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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