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 :

Béta-Test de mon éditeur de texte


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : Février 2005
    Messages : 242
    Points : 63
    Points
    63
    Par défaut Béta-Test de mon éditeur de texte
    Bonjour,

    voila jai commencer à créer un éditeur de texte que je veux améliorer peu à peu.
    Le programme ouvre les documents dans des onglets.

    Il gère les fonctions d'entrées/sorties standard (menu Fichier).
    Les fonctions d'éditions. (menu Edition)

    Je voulais vous demander si vous pouviez tester mon programme pour déceler la présence d'incohérence de fonctionnement et surtout les fameuse erreur EAccessViolation qui survienne pour des raisons que j'ignore (sur certains fichiers ...)

    Je fais confiance au béta-testeurs du forum.

    Merci d'avance pour vos lumières.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    C'est lors de quel genre d'action que ça "coince" ?

  3. #3
    Membre habitué Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 161
    Points
    161
    Par défaut
    Salut.
    J'ai pas encore trouvé de bug.
    Mais lorsque l'on ouvre un fichier, il est impossible d'utiliser la molette de la souris sans cliquer dans le texte au préalable. (je sais je suis chiant)
    Dans le même ordre d'érgonomie, il est impossible d'ouvrir un fichier en le glissant sur ton appli, ce qui est bien pratique en général.

    Mais sinon c'est pas mal.

    Autre chose, tu as le même probleme que moi concernant ta toolbar, les icones se mettent sur 2 lignes si on diminue la largeur de la fiche. Ce qui est embettant, puisque la toolbar ne s'autosize pas pour afficher les 2 lignes..

    Arf, j'aurais bien vu un menu contextuel sur les onglets. histoire de fermer l'onglet sans passer par le bouton ou le raccourci clavier..

  4. #4
    Membre habitué Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 161
    Points
    161
    Par défaut
    Euh la touche suppr ne fonctionne pas.

  5. #5
    Membre habitué Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 161
    Points
    161
    Par défaut
    Si tu restes appuyé sur une touche très longtemps, cela duplique le caracteres (fonctionnement normal) mais arrivé à un certain point, le scroll arrive au bout mais le fonctionnement parait bizarre...
    Ce probleme peut avoir son importance concernant des lignes de fichier sans sans retour chariots.

    Et tu as mis une status barre. Mais celle-ci reste vide. Tu devrais y ajouter la position du curseur, le chemin du fichier ouvert, l'état de la touche Inser, et d'autres trucs du même genre..

    Bon là je t'ai filer du boulot pour l'après-midi.

  6. #6
    Membre habitué Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 161
    Points
    161
    Par défaut
    Euh, au risque de passer pour un gros con, la touche Tab, permet bien de faire une tabulation.. mais elle fait également passer le focus à un autre controle.
    Il te faudrait empecher le tab quand tu est en édition

  7. #7
    Membre habitué Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 161
    Points
    161
    Par défaut
    Tiens revoir le gros co**ard de béta-testeur...

    Lorsque l'on clique sur la croix ou que l'on fait un alt-F4 on ferme sans se soucier des modifs.
    Pour afficher un message (MessageDlg) avant la fermeture, tu peux utiliser l'évenement OnCloseQuery de ta fiche. Et suivant le resultat modale du message du passe le CanClose (que tu obtient par les parametres) à true ou à false.

    Tu vois je ne suis pas un connard, je te donne des solution..

  8. #8
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fab56
    surtout les fameuse erreur EAccessViolation qui survienne
    Rapido j'ai trouvé celles-ci :
    -lancement de l'appli
    -clic sur le bouton annuler
    -répondre "non"
    -clic sur le bouton annuler ->AV

    -lancement de l'appli
    -Menu "fermer tout" ( pb si + fichiers ouverts)
    -répondre "non"
    -clic sur le bouton annuler ->AV

    Si le fichier est ouvert n fois ,par de multiple instance de ton appli, il n'y a pas d'avertissement.

    Les fichiers ouvert mais non sauvegardé ne sont pas pris en compte lors du quitte

    Le menu "Enregistrer" ne fait rien, l'icone du même nom semble fonctionner
    Voilà, le look est pas mal

  9. #9
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jambonstar
    Tu vois je ne suis pas un connard, je te donne des solution..
    Personne n'a dit ça , merci de rester courtois

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Pour ma part, je dirai les mêmes erreurs que Laurent Dardenne avec quelques notes supplémentaires.

    Il serait bien, lorsque l'on écrit, que l'on aille à la ligne une fois arrivé à la fin de celle ci.
    Lorsque l'on enregistre un fichier, il serait bien de définir une liste d'extensions, avec une extension par défaut. (idem pour l'ouverture d'un fichier).

    Sinon, le look est plutôt agréable!
    Bonne continuation

  11. #11
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : Février 2005
    Messages : 242
    Points : 63
    Points
    63
    Par défaut
    Bonjour et tout d'abord merci pour toutes vos suggestions ca fait plaisir

    Citation Envoyé par jambonstar
    Si tu restes appuyé sur une touche très longtemps, cela duplique le caracteres (fonctionnement normal) mais arrivé à un certain point, le scroll arrive au bout mais le fonctionnement parait bizarre...
    Ce probleme peut avoir son importance concernant des lignes de fichier sans sans retour chariots.
    Je suis désolé mais je ne vois pas de quoi tu parles. Je n'ai jamais remarqué un bug semblables mais je vais regardé. M'enfin si c'est un bug de la zone d'édition de texte, ça provient peut-être du composant SynEdit.

    Citation Envoyé par jambonstar
    Et tu as mis une status barre. Mais celle-ci reste vide. Tu devrais y ajouter la position du curseur, le chemin du fichier ouvert, l'état de la touche Inser, et d'autres trucs du même genre..

    Bon là je t'ai filer du boulot pour l'après-midi.
    Ouais je sais mais j'ai pas encore eu le temps de mettre ça en place

    Citation Envoyé par jambonstar
    Arf, j'aurais bien vu un menu contextuel sur les onglets. histoire de fermer l'onglet sans passer par le bouton ou le raccourci clavier..
    ça non plus

    Citation Envoyé par jambonstar
    Euh, au risque de passer pour un gros con, la touche Tab, permet bien de faire une tabulation.. mais elle fait également passer le focus à un autre controle.
    Il te faudrait empecher le tab quand tu est en édition
    Et tu as une idée de comment on fait ?

    Citation Envoyé par jambonstar
    Lorsque l'on clique sur la croix ou que l'on fait un alt-F4 on ferme sans se soucier des modifs.
    Pour afficher un message (MessageDlg) avant la fermeture, tu peux utiliser l'évenement OnCloseQuery de ta fiche. Et suivant le resultat modale du message du passe le CanClose (que tu obtient par les parametres) à true ou à false.
    Oui je sait, je pense à exécuter l'action aFileCloseAll (Tout Fermer) puis à fermer l'applications, genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TmainForm.mainFormCloseQuery(Sender: TObject);
    begin
      aFileCloseAll.Execute;
    end;
    Citation Envoyé par Laurent Dardenne
    Rapido j'ai trouvé celles-ci :
    -lancement de l'appli
    -clic sur le bouton annuler
    -répondre "non"
    -clic sur le bouton annuler ->AV

    -lancement de l'appliSinon, le look est plutôt agréable!
    Voilà, le look est pas mal
    -Menu "fermer tout" ( pb si + fichiers ouverts)
    -répondre "non"
    -clic sur le bouton annuler ->AV
    Oui c'est à peu près celle-là que j'ai recensé aussi. Le problème c'est que je ne sais pas d'où elle vienne (et apparemment le debuggeur de delphi non plus). Surtout que des erreurs du type AcessViolation EBD0FE ou chez pas quoi c'a m'aide pas, parce que moi je marche pas en héxadécimale, encore moins en binaire

    Citation Envoyé par Laurent Dardenne
    Le menu "Enregistrer" ne fait rien, l'icone du même nom semble fonctionner
    Bizarre, il faut que je regarde

    Citation Envoyé par ero-sennin
    Lorsque l'on enregistre un fichier, il serait bien de définir une liste d'extensions, avec une extension par défaut. (idem pour l'ouverture d'un fichier).
    C'est au programme aussi

    Citation Envoyé par ero-sennin
    Il serait bien, lorsque l'on écrit, que l'on aille à la ligne une fois arrivé à la fin de celle ci.
    Je pense mettre la commande Retour à la ligne automatique dans le menu Affichage que j'intégrerai plus tard.

    Sinon, le look est plutôt agréable!
    Voilà, le look est pas mal
    Merci
    , perso je trouvais les icones trop gros au debut je pourrais peut-être les rétrécir. En fait ce sont des extraits de la librairie d'icones Nuvola dispo gratuitement sur Wikipedia.

    Bon pour finir merci beacoup pour vos suggestions , ca m'aide vachement à avancer et franchement ça motive

    Je vais essayé de poster une liste des fonctionnalités que vous m'avez proposé combiné à celles que j'avais déjà prévu.

    P.S : Je sais pas si vous avez jeter un oeil au code . Si oui, l'avez vous trouvé bien structuré ? organisé ? commenté ? vos avis sur ce point m'intéresse aussi.

  12. #12
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : Février 2005
    Messages : 242
    Points : 63
    Points
    63
    Par défaut
    Bon voici la liste tant attendu

    J'y regroupe les fonctionnalités qui permetteront à PerfectPad de ressembler petit à petit à quelque chose (ça me fait pensé : que pensez-vous du nom, faut-il le changer ? est-il déjà attribué ? )

    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
     
    Menu de mon application
         |
      Fichier  * Nouveau
               * Ouvrir
               * Enregister/Enregistrer sous ...
               * Fermer / Fermer tout
               * Quitter
     
      Edition  * Couper/Copier/Coller
               * Supprimer
               * Sélectionner tout
     
     Recherche * Rechercher/Rechercher le suivant/Remplacer
               * Atteindre la ligne
     
     Affichage * Barre d outils
               * Barre de status
               * Bout de codes
               * Console
               * Explorateur de classe
               * Manuel en ligne
     
      Executer * Interpréter le script ...
               * Voir la page résultante (PHP)
               * Coloration syntaxique
               * Complétion de codes
     
        Outils * Préférences
               * Outils de programmation
     
         Aide  * A propos de
               * Rubrique daide
     
      * Complétion de code
      * Menu contextuel pour chaque onglet
    Si vous avez d'autres fonctionnalités susceptibles d'être ajoutées, n'hésitez pas .

  13. #13
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par fab56
    , perso je trouvais les icones trop gros au debut je pourrais peut-être les rétrécir. En fait ce sont des extraits de la librairie d'icones Nuvola dispo gratuitement sur Wikipedia.
    Non, les gros boutons, c'est super !!!

    Mes utilisateurs au boulots m'en redemandent à chaque fois (au point où je ne sais plus où mettre le reste de mes contrôles )


    Pour le nom, il est très bien : très aguicheur et attirant

  14. #14
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fab56
    Oui c'est à peu près celle-là que j'ai recensé aussi. Le problème c'est que je ne sais pas d'où elle vienne (et apparemment le debuggeur de delphi non plus).
    Vu que tu utilises SynEdit vérifie de ce coté là, à moins que cela soit une "localisation" sur un onglet inexistant ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TmainForm.aFileCloseExecute(Sender: TObject);
    var
      SelectedOnglet: TTabContener;
    begin
      SelectedOnglet:=TTabContener(PageGlobale.ActivePage);
    Sinon pour le code, il est commenté c'est déjà bien
    A mon avis là ou tu peux améloirer c'est la pertinence de l'information porté par les commentaires et la mise en page.
    Le fait de placer les commentaires 'au dessus' du code facilite la lecture globale.
    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
     
    // A la création de la fiche  ICI on s'en doute un peu :-)
    procedure TmainForm.FormCreate(Sender: TObject);
    begin
       //On initialise le nombre de documents créés. 
      DocumentCreer:=1;  
      //On créé un nouvel onglet.      ICI "en executant l'action aNewFile." est redondant
      aFileNew.Execute;
    end;
     
    procedure TmainForm.aFileOpenAccept(Sender: TObject);
    var
       //ICI on est dans le bloc variable c'est donc implicite, 
       //de plus le nom de variable porte déjà l'info, d'où l'importance du 
      //nommage des variables dans le code.
      CreatedOnglet: TTabContener; 
      Fichier      : String;
    Sinon as-tu pensé utiliser DCTD pour documenter tes sources ?

  15. #15
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : Février 2005
    Messages : 242
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Laurent Dardenne
    Sinon as-tu pensé utiliser DCTD pour documenter tes sources ?
    Tu parles de DelphiCodeToDoc, euh bah non j'avoue que j'y avais pas pensé. Je vais essayé.

    Là je vais finir de commenter le programme où il en est donc je vais prendre en compte tes remarques.

    Merci en tout cas.

  16. #16
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : Février 2005
    Messages : 242
    Points : 63
    Points
    63
    Par défaut
    J'ai fais une action aSearchGoto dans le Menu Recherche > Aller à la ligne ...
    J'ai vu dans la FAQ la méthode pour aller à une ligne.

    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
    procedure TmainForm.aSearchGoToExecute(Sender: TObject);
    var
      SelectedOnglet: TTabContener;
      Ligne : Integer;
    begin
      Ligne:=DemanderLigne;
      if (Ligne > -1) then
      begin
        SelectedOnglet:=TTabContener(PageGlobale.ActivePage);
        SelectedOnglet.Editor.SelStart := Perform(EM_LINEINDEX, 5, 0);
          Perform(EM_SCROLLCARET, 0, 0);
      end;
    end;
     
    function TmainForm.DemanderLigne: Integer;
    var
      LigneS: String;
      Ligne: Integer;
    begin
      Result:=-1;
      InputQuery(SGotoCaption, SGotoPrompt, LigneS);
      if LigneS = '' then Exit;
      try
        Result:=StrToInt(LigneS);
      except
        raise Exception.CreateFmt(SErrorConvert, [LigneS]);
      end;
    end;
    Mais il se passe rien

  17. #17
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : Février 2005
    Messages : 242
    Points : 63
    Points
    63
    Par défaut
    Savez-vous comment je peux implémenter les fonctions de recherche standard. Je veux utiliser l'actions starndard Find mais je ne sais pas comment m'en servir (évènement OnAccept, OnBeforeExecute).

Discussions similaires

  1. [AJAX] éditeur de texte
    Par Death83 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/03/2006, 13h26
  2. [EDI] Editeur de texte
    Par ibtisss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 05/10/2005, 14h51
  3. recherche composant éditeur de texte
    Par Bruno75 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 15/09/2005, 10h33
  4. [XSL][XHTML] test sur position de noeuds (text() et autres)
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 05/09/2005, 17h47
  5. [PDE] Comment ajouter un éditeur de texte à mon projet ?
    Par simsky dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 29/06/2005, 10h40

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