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

Composants VCL Delphi Discussion :

SynEdit et bookmark


Sujet :

Composants VCL Delphi

  1. #1
    Provisoirement toléré
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 73
    Points : 32
    Points
    32
    Par défaut SynEdit et bookmark
    Bonsoir , je suis en train de faire un éditeur html. J'ai programmé une gestion poussée des bookmarks , donc je gère :

    - l'ajout
    - la bascule
    - la direction
    - une liste dans un dockpanel qui répertorie le signet , la ligne et le contenue de la ligne

    Il me reste donc a gérer le fait de se rendre au signet précèdent et au signet suivant en fonction de la ligne active mais je ne sait pas comment savoir en fonction de la ligne active quel bookmark et le plus proche auriez vous des pistes a me proposer?

    Je vous remercie et vous souhaite une bonne nuit a tous.

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Ta question est plutôt étrange. Si tu as fait déjà tout ce travail tu sais récupérer le N° ligne où tu es et tu as une liste de N° de lignes 'bookmarkées'.

    Donc pour la 'ligne suivante' :
    tu stockes ton N° de ligne dans une variable (iNext par exemple)
    Il te suffit donc de faire une boucle sur la liste et :
    de prendre uniquement les N° supérieurs au N° actuel
    pour chaque numéro de le stocker dans iNext si il est plus petit que iNext.

  3. #3
    Provisoirement toléré
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 73
    Points : 32
    Points
    32
    Par défaut
    Salut, voici mon bout de code pour me rendre au signet au suivant :

    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
    procedure TMainForm.ActBookMarkNextExecute(Sender: TObject);
    var
      e: TEditor;
      Line, i, SNext: integer;
    begin
      e := GetEditor;
      if assigned(e) then
        begin
          SNext := e.Text.Lines.Count -1;
          Line := e.Text.CaretY;
          for i := 0 to pred(e.Text.Marks.Count) do
            begin
              if e.Text.Marks.Items[i].Line > Line then
                if e.Text.Marks.Items[i].Line < sNext then
                  sNext := e.Text.Marks.Items[i].Line;
            end;
          e.Text.CaretY := sNext; 
        end;
    end;
    vous en pensez quoi?

  4. #4
    Provisoirement toléré
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 73
    Points : 32
    Points
    32
    Par défaut
    Apres une réflexion de 5 heure , mon cerveau ne voulant pas a priori chercher le plus facile. j'ai enfin réussi en 10 minutes pour faire le signet suivant et le signet précèdent.

    Y a des jours ou ca veut pas!!!!

    Merci pour le chemin que tu m'a donné.

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

Discussions similaires

  1. [SynEdit] Evénement OnContextHelp
    Par sjrd dans le forum Composants VCL
    Réponses: 7
    Dernier message: 24/11/2004, 16h33
  2. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  3. [SynEdit][HighLighter] Detection d'attributs
    Par Mercilius dans le forum Composants VCL
    Réponses: 3
    Dernier message: 12/11/2003, 16h28
  4. SynEdit
    Par Juwau dans le forum Composants VCL
    Réponses: 7
    Dernier message: 17/09/2003, 23h31
  5. [Kylix] installer synedit 1.1 sur kylix 3
    Par busy999 dans le forum EDI
    Réponses: 2
    Dernier message: 03/02/2003, 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