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

C Discussion :

Editeur en mode console


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Editeur en mode console
    Bonjour,

    J'essaye d'écrire un éditeur en mode console, le problème est que je n'y arrive pas.
    J'avais tout d’abord pensé à créer une liste chaînée simple qui gère chaque ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    struct TAG_ligne
    {
       char *texte;
       struct TAG_ligne *psuivant;
    } ligne_depart
    Si on veut supprimer le retour chariot d'une ligne ou effectuer un copier/coller, ça devient trop compliqué.

    J'ai également pensé à créer un tampon par blocs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #define TAILLE_BLOC 256
    char *tampon=NULL;
    int nombre_blocs=0;
    ...
    Ajouts de caractères...
    ...
    if (taille_du_texte(tampon) == nombre_blocs * TAILLE_BLOC)
    {
       nombre_blocs++;
       realloc(tampon, nombre_blocs * TAILLE_BLOC);
    }
    Cette méthode est possible mais je ne sais pas si c'est la bonne voie.

    Merci pour vos réponse
    Logramme

  2. #2
    Bob
    Bob est déconnecté
    Membre éclairé
    Avatar de Bob
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 866
    Points
    866
    Par défaut editeur console
    La premiere methode est bien:
    Si tu supprime un retour, la ligne du dessous est supprimee et ajoutee a la precedante.
    Pour un collier, il faut ajouter des lignes.
    Bob, Rédacteur C/C++ & PHP
    http://bob.developpez.com/

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    De plus j'y repense, la première méthode bien que plus gourmande en mémoire permet de contabiliser plus facilement les lignes et les colones du curseur.

    Logramme

  4. #4
    Bob
    Bob est déconnecté
    Membre éclairé
    Avatar de Bob
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 866
    Points
    866
    Par défaut editeur console
    Elle a surtout l'enorme avantage d'eviter les manipulations lourdes sur des chaines physiques. Donc l'editeur reagit bcp plus rapidement, meme a des gros traitements.
    Bob, Rédacteur C/C++ & PHP
    http://bob.developpez.com/

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Tu peux aussi utiliser les deux à la fois...

    Tu utilise ta struct TAG_ligne et le texte de chaque ligne est alloué par bloc avec malloc et realloc...

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    j'ai oublié, il faudrait alors que tu rajoutes la taille courante dans la structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    struct TAG_ligne 
    { 
       int taille;
       char *texte; 
       struct TAG_ligne *psuivant; 
    } ligne_depart;
    Pour bien apprendre le C voir les tutoriels et cours langage C : http://c.developpez.com/cours/

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

Discussions similaires

  1. impression - application mode console
    Par yanska dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2004, 16h07
  2. Mises à jour des paquetages en mode console
    Par Memnoch31 dans le forum Debian
    Réponses: 6
    Dernier message: 16/05/2004, 17h30
  3. Des couleurs en mode console
    Par davcha dans le forum MFC
    Réponses: 3
    Dernier message: 08/05/2004, 15h37
  4. Mode console par défaut
    Par sekiryou dans le forum Administration système
    Réponses: 5
    Dernier message: 05/03/2004, 07h38
  5. Mode console et MFC ??
    Par G3G3 dans le forum MFC
    Réponses: 7
    Dernier message: 20/02/2004, 18h49

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