begin process at 2010 02 10 12:08:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > BULLET MINI EDITEUR DE TEXTES MULTI-DOCUMENTS, COLORATION SYNTAXIQUE MULTI-LANGAGES

BULLET MINI EDITEUR DE TEXTES MULTI-DOCUMENTS, COLORATION SYNTAXIQUE MULTI-LANGAGES


 Information sur la source

Note :
Aucune note
Catégorie :Application Classé sous :éditeur textes, multi-documents, coloration syntaxique Niveau :Débutant Date de création :11/10/2008 Date de mise à jour :14/10/2008 11:01:29 Vu / téléchargé :1 895 / 107

Auteur : bultez

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

un mini éditeur de texte
  - multi-documents
  - coloration syntaxique
multi-langages ( identique pour tous )
  - plusieurs langues : français / anglais, aujourd'hui
( pardon pour la traduction, déjà que je ne brille
          pas en Français, heureux d'avoir Google pour
  m'aider, si c'est mal traduit, ça l'est toujours
          bien mieux que ce que je pourrais faire  !
  les autres langues : vous pouvez traduire ;o )
  - développé avec Code::Blocks, api Windows, Scintilla


 Conclusion

c'est mal codé ? je sais, je sais,
aidez-moi donc à améliorer, à ajouter des fonctionnalités...
il doit rester des bugs... je sais,
aidez-moi à les détecter, à les solutionner...

================================== ================
à faire :
° contrôles plus "sérieux" ( y'en a pas !! )  
dans applications, syntaxes, options, sessions
° paramétrage :  couleur caractères et fond n° ligne ...
° indentation automatique
° ansi, utf-8... et autres
° icones dans les sous/fenêtres
° images + texte dans des boutons
° "template" par langage
° auto-complétion
° macros
° finir le paramétrage des couleurs/syntaxes
( syntaxe.ini + config.ini )
================================================ ==

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

14 octobre 2008 11:01:30 :
sessions, taille tabulation, insertion date, table ascii...

 Sources du même auteur

Source avec Zip [WINDOWS] [DEV-CPP] EXPLORATEUR

 Sources de la même categorie

GESTIONNAIRE DE BIBLIOTHEQUE par eishtein
FICHIER ALBUM MUSICAL par imenouuuuuuuuuche
LOUISDU81 HTTP EDITOR par louisdu81
Source avec Zip Source avec une capture Source .NET (Dotnet) CLIENT IRC BASIQUE par king67
Source avec Zip CONVERTISSEUR NOMBRE ARABE => NOMBRE ROMAIN (1 À 4999) par Calli95

Commentaires et avis

Commentaire de BruNews le 11/10/2008 19:10:31 administrateur CS

Ben te voila sur cppfrance...

OPENFILENAME ofn;
la structure est sur la pile, un simple: sub esp, sizeof(OPENFILENAME)
Il n'y a donc aucune alloc de mélmoire,
donc nenni: delete[] &ofn;

Pas le temps de voir le reste.

Commentaire de fabricelepro le 11/10/2008 21:29:22

Salut
je pense bien que tu pourrais mettre une partie pour l'impression

Commentaire de petifa le 11/10/2008 21:57:49

le menu pourrait être un peu mieux organiser aussi, ca serait plus facile a l'utilisation et aussi plus "standardisé".
pas eu le temps de checker tout le code mais le rendu est assez sympathique.

Commentaire de uaip le 12/10/2008 02:31:27

Pour ma part, ça plante dès que j'ouvre un nouveau document...
C'est bien dommage étant donné que je prends beaucoup de plaisir à programmer en utilisant Scintilla.
Si tu tiens à auto-indenter, ou numéroter les lignes, je peux t'aider. J'ai enfin compris (après de nombreux essais foireux) comment fonctionnait cette jolie dll. Il y a aussi le folding qui peut être intéressant. Des exemples sont sur le site de Scintilla.
Je regarderai, quand j'en aurais le temps, comment tu as géré les lexers.
(et c'est vrai que l'effet graphique de ton appli n'est pas très réussie... fenêtres d'options immenses, editbox disproportionnées, etc)

Bonne continuation tout de même.

Commentaire de bultez le 12/10/2008 14:43:42


@brunews : faut bien continuer à apprendre
j'ai rectifié ce que tu signale, mais
j' attend un peu plus de ta part !   ;o)

@fabricelepro : t'as raison, c'est à ajouter.

@petifa : >>plus "standardisé".
certes... mais ça me conviendrait beaucoup moins
          >>le rendu est assez sympathique.
merci à toi.

@uaip >>Pour ma part, ça plante...
ah bon ? mais sans plus d' infos... je ne peux rien expliquer !
déjà qu'avec plus de données, j'aurais du mal !
      >>J'ai enfin compris (après de nombreux essais foireux)
t'as raison... et je foire toujours !
c'est pas si simple... et la doc dans un
patois auquel je ne comprend que peu de choses !
dieu me tripote : qu'attends-tu donc pour nous faire un
ch'tiot "tuto" ? dans la langue de Vian ou de Prévert ?
je peine encore sur de nombreuses choses !
ça me permettrait d'avancer, de suivre, voire de maîtriser ( ? )
>>fenêtres d'options immenses, editbox disproportionnées,
pas pu mieux faire [ pour l'instant (?) ] ;o)

merci à tous.

Commentaire de uaip le 12/10/2008 14:48:20

Concernant l'aide de Scintilla, j'ai eu également beaucoup de mal à comprendre (et encore maintenant) mais en regardant leurs démos, etc, j'ai réussi à comprendre un peu le fonctionnement des lexers, folding, margins, etc.
Pour ce qui est du tuto... pourquoi pas en effet ^^ mais pour le moment j'ai pas mal de boulot (et oui, l'école...) puis je ne suis pas très doué pour expliquer ce genre de choses. M'enfin, pourquoi ne pas essayer, en effet.

Je re-teste ton appli et j'approfondis mes remarques (sur le fait que ça plante).

Commentaire de uaip le 12/10/2008 14:57:36

Ah oui bon ben, j'avais fait la connerie d'ouvrir l'exe sans dézipper ^^.
En effet c'est pas mal niveau 'rendu graphique' (les icones dans les menus, le changement de langue, la présentation du document, etc).
Par contre, je n'ai pas réussi à colorer le texte.
Donc oui, mise à part les DialogBoxes un peu disproportionnées à mon gout, c'est vraiment pas mal.

Commentaire de vecchio56 le 12/10/2008 17:58:35 administrateur CS

Je pense qu'il y a un problème au niveau des menus : les images sont trop petites et n'apparaissent pas en entier.
Par ailleurs, les menus du style "co&Pier" ne donnent pas un très bon résultat (pourquoi mettre une majuscule au P?).

Pour ce qui est du code, tu ne devrais pas mettre la définition de tes fonctions directement dans les headers. Sauf cas particulier, il faut uniquement mettre les prototypes dans le .h et mettre le code dans des .cpp.
Pareil pour les variables, ne par les définir dans un .h (sinon tu aura des problèmes sur plusieurs fichiers doivent insérer le même header).

Ta boite de dialogue "Syntaxe" est bien trop grande, elle ne tient dans sur l'écran en 1280*800 qui est une résolution assez courante.

Plus généralement, on utilise généralement la police Tahoma pour les boites de dialogue (en ajoutant FONT 8,"MS Shell Dlg",400,0,1 dans le script). Ca prend déja moins de place.

Quelques détails:
Je trouve que la mise en forme du code le rend difficile à lire (indentation un peu spéciale a mon avis).

if ( strlen(lpszArgument)>0 ) : pour savoir si une chaine est vide en C, tu as beaucoup plus rapide comme méthode (en temps d'exécution) : if(*lpszArgument). Car strlen est d'autant plus long à s'exécuter que la chaine est longue.

Voila c'est tout, j'ai pas trop le temps de regarder le code en détail

Commentaire de verdy_p le 13/10/2008 05:29:31

Pour les encodages, arrêtez de parler de codage "ANSI" (ni même "OEM") c'est tout sauf portable. Parlez de pages de codes (car ça change d'une machine à l'autre en fonction de l'installation de Windows ou de l'environnement de l'utilisateur). ANSI et OEM font partie de ce qu'on appelle les paramètres de locale.

Si vous voulez réellement supporter tous les utilisateurs de Windows (ou DOS) et permettre les conversions, allez dnoc chercher les tables de transcodage sur le site Unicode: Pour les codages Windows il faut déjà une douzaine de pages de code, il en faut encore plus pour les pages de code OEM (auxquelles il faut ajouter des pages de code non créées par IBM mais par des organismes nationaux de normalisation, comme les codes KOI-8R (Russie) et KOI8-U (Ukraine), VISCII (Vietnam), ISCII (une douzaine de codes pour les écritures indiennes), TIS-620 (et plusieurs autres variantes utilisées en Thailande, dont une seule corerspond à la page de code Windows pour le Thai), les pages de code grecques, arabes, hébreues, ArmSCII (écriture arménienne), GSTD (écriture géorgienne), sans compter les variantes de pages de code multioctets japonaises, chinoises, et coréennes... A cela il faudrait ajouter les jeux de caractère HP (comme Roman8 et d'autres), IBM (EBCDIC avec ses variantes), Apple (Mac).

Pour supporter le tout, il vaut mieux que l'éditeur en interne utilise exclusivement Unicode (UTF-16 ou UTF-32) et supporte en plus plusieurs encodages Unicode en entrée-sortie de/vers les fichiers édités (UTF-8, UTF-16, UTF-32, ou l'un des codages compressés décrits dans la norme, avec en plus les variantes little-endian et big-endian pour UTF-16 et UTF-32, et l'utilisation ou non des BOM en tête)

Windows supporte une API pour ces conversions (cela nécessite de connaitre les numéros de pages de code assignées à chacun de ces codages, et l'installation préalable sur le système du support de ces pages de code (dans les paramètres régionaux du panneau de configuration de l'administrateur)

Sinon il faudra inclure les tables de transcodage dans le programme (on peut utiliser des librairies toutes faites comme GNU iconv ou ICU. On trouve une liste à peu près complète de ces librairies ici:
http://www.unicode.org/resources/libraries.html

Sur le site Unicode les tables de transcodage de base (une partie seulement) sont en téléchargement libre ici:
http://www.unicode.org/Public/MAPPINGS/

Il y manque encore KOI8-U pour les Ukrainiens et les Bulgaresn, mais les quelques différences avec KOI-8R sont documentées par exemple sur Wikipédia:
http://fr.wikipedia.org/wiki/KOI8-U

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales