Page 2 sur 3

Re: SyntaxLight

Publié : jeu. 23/juin/2011 13:16
par Ar-S
Pour ton histoire de couleur..
RGB = Red Green Blue
Lorsque tu annonces une couleur avec $xxxxxx
en réalité ça s'affiche $BGR donc Blue Green Red
c'est ainsi, faut faire avec.
J'ai pas testé le reste.

Re: SyntaxLight

Publié : jeu. 23/juin/2011 13:31
par dayvid
Bonjour Ar-S :D

Merci de ton aide, excuse moi mais je n'est pas réussi a comprendre ce que tu a essayer de me dire :oops:
pourrait-tu STP me réexpliquer avec des mot plus simple et un mini exemple :)

Merci beaucoup a toi :)

Re: SyntaxLight

Publié : jeu. 23/juin/2011 13:49
par Ar-S
Allez, un petit cours vite fait.

R = Red = Rouge
G = Green = Vert
B = Blue = Bleu

Truc : La valeur RGB est calculée de la façon suivante : Couleur = Rouge + Vert*256 + Bleu*65536

Si tu regardes l'aide PB il est dit :
RGB(Rouge, Vert, Bleu)

Renvoie la valeur de la couleur 24 bits correspondant aux valeurs Rouge, Vert et Bleu. Chaque composante 'Rouge', 'Verte', 'Bleue' est une valeur comprise entre 0 et 255, ce qui fait un nombre total de 16.7 millions de couleurs différentes.

Pour extraire la valeur d'une des composantes 'Rouge', 'Verte' ou 'Bleue' (...) utilisez les commandes suivantes Red(), Green() et Blue().
Un tableau représentant les couleurs les plus communes est disponible ici.
(tu as le droit de cliquer sur le "ici")


Maintenant les bases que tu te dois de connaitre :
Tu peux afficher chaque valeur en décimal (0 à 255) ou en hexadécimal (00 à FF).

Donc

Pour indiquer la couleur rouge, tu peux l'écrire de toutes ces façons, c'est la même chose :
RGB(255,0,0)
RGB($FF,$0,$0)
$0000FF
Comme tu le vois, $0000FF reprends les 3 données RGB mais dans l'ordre BGR : B=00 G=00 R=FF
C'est comme ça que ça s'écrit, faut le savoir, c'est tout.

Exemple pour obtenir le texte rouge avec les 3 exemples :

Code : Tout sélectionner

Enumeration
  #Window_0
EndEnumeration
Enumeration
  #Text_0
  #Text_1
  #Text_2
EndEnumeration

Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 610, 90, 389, 163, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
      TextGadget(#Text_0, 5, 10, 215, 25, "RGB(255,0,0)")
      TextGadget(#Text_1, 5, 40, 215, 25, "RGB($FF,$0,$0)")
      TextGadget(#Text_2, 5, 70, 215, 25, "$0000FF")
      
      SetGadgetColor(#Text_0,#PB_Gadget_FrontColor,RGB(255,0,0))
      SetGadgetColor(#Text_1,#PB_Gadget_FrontColor,RGB($FF,$0,$0))
      SetGadgetColor(#Text_2,#PB_Gadget_FrontColor,$0000FF)
      
  EndIf
EndProcedure

OpenWindow_Window_0()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver
voilà, j'ai fait ma béa. :mrgreen:

Re: SyntaxLight

Publié : jeu. 23/juin/2011 13:55
par dayvid
Cool Ar-S :o

Vraiment un très grand merci pour ton superbe court :D

Je vais l'étudier attentivement et je reviendrait te dire ou j'en suis, merci a toi :wink:

Re: SyntaxLight

Publié : sam. 25/juin/2011 15:25
par dayvid
Salut ! :)

Voici la suite:

J'ai complètement changé le sélecteur de couleur et est pris celui qu'un membre a fait ici, merci a lui :P

C’est pratiquement terminer, juste le "colorer" du menue droit de l'éditeur qui fonctionne toujours pas

http://www.archive-host.com/files/10837 ... ht_2_35.7z

Re: SyntaxLight

Publié : sam. 25/juin/2011 17:26
par Ar-S
J'ai testé le programme.
L'interface est simple et claire.
En revanche, je ne comprends toujours pas à quoi il sert..
J'ai tapé du code dedans.. j'ai sauvé en rtf, à aucun moment mon code se color, même en rtf..

Re: SyntaxLight

Publié : mer. 29/juin/2011 14:12
par dayvid
Oui Ar-s, c'est simplement parceque l'éditeur accepte de charger et de sauvegarder en mode RTF et rien de plus :) :wink:
et ça ne sert surement a rien d'ailleurs :roll:

En revanche, tu peux exporter ton code en HTML et même générer
le code grâce au menue droit de l'éditeur de texte

J'avoue que ce n’est pas encore terrible terrible et que ya pas mal de chose à revoir
mais bon pour le moment j'ai d'autre chat a fouetter !

Je bloque toujours pour colorer le code dans l'éditeur de texte :(
mais je ne per pas espoir, je vais persister :wink:

J'aurais besoin éventuellement d'aide, astuces, etc.
Ar-S pourrais-tu me filer un petit coup de main stp

Merci a vous :)

Re: SyntaxLight

Publié : ven. 01/juil./2011 12:25
par dayvid
Salut !

J'ai un peut continuer mais je r'appel que j'ai besoin d'aide, c'est pas au point :)

http://www.archive-host.com/files/10937 ... ht_2_56.7z

Re: SyntaxLight

Publié : mar. 05/juil./2011 14:18
par dayvid
Se serais pas possible d'avoir de l'aide :(

Re: SyntaxLight

Publié : mar. 05/juil./2011 14:48
par Ar-S
Je te répète que je pige pas le but de ton programme. alors t'aider pour faire un truc que je ne comprends pas c'est pas facile.

Re: SyntaxLight

Publié : mar. 05/juil./2011 14:54
par dayvid
Ba mince alors, je ne te comprends pas, tu comprend pas quoi ? :(

moi ce que je cherche actuellement, c'est de colorer le texte dans l'éditeur
regarde mon exemple tu comprendra ce que je cherche a faire
tu as regarder ou pas

Sinon comment je pourais faire pour que tu me cçomprenne
je penssais avoir été clair :)

Re: SyntaxLight

Publié : mar. 05/juil./2011 16:46
par Ar-S
Si tu ne cherches qu'à colorer du texte dans l'editeur il y a le RTF qui le fait bien. Cette discussion a déjà eu lieu à maintes reprises.

Re: SyntaxLight

Publié : mar. 05/juil./2011 19:27
par Thyphoon
Ar-S a écrit :Si tu ne cherches qu'à colorer du texte dans l'editeur il y a le RTF qui le fait bien. Cette discussion a déjà eu lieu à maintes reprises.
il me semble que sur ce forum Dobro avait fait un super tuto pour le rtf... faut chercher un peu ..
Edit: semble que dobro est fait du ménage :cry:

Re: SyntaxLight

Publié : mar. 05/juil./2011 20:03
par Ar-S
Le code pour gérer le RTF et donc pouvoire colorer des éléments d'un editeur.

Code : Tout sélectionner

;l'entete rtf :
entete_rtf.s = "{\rtf1\ansi\deff0{\fonttbl{\f0\froman Tms Rmn;}{\f1\fdecor Symbol;}{\f2\fswiss Helv;}}"
couleur_table.s="{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\ blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\ green255\blue0;\red255\green255\blue255;} {\stylesheet{\fs20 \snext0Normal;}}"

a_la_ligne$="\par" ; balise pour écrire sur une nouvelle ligne

rtf.s=entete_rtf.s+couleur_table.s
rtf+Space(45)+"\b Titre en Gras \b0"+a_la_ligne$+a_la_ligne$
rtf+"\b j'ecris en Gras \b0"+a_la_ligne$ ; la balise '\b' (bold) va faire ecrire en gras
rtf+"\cf1 j'ecris en noir"+a_la_ligne$ ; la balise '\cf1' fait appel a la Premiere couleur defini dans la table
rtf+"\cf2 j'ecris en bleu"+a_la_ligne$  ; la balise '\cf2' fait appel a la 2em couleur defini dans la table
rtf+"\cf3 j'ecris en bleu clair"+a_la_ligne$ ; la balise '\cf3' fait appel a la 3em couleur defini dans la table
rtf+"\cf4 j'ecris en vert"+a_la_ligne$  ; la balise '\cf4' fait appel a la 4em couleur defini dans la table
rtf+"\cf5 j'ecris en Magenta"+a_la_ligne$  ; la balise '\cf5' fait appel a la 5em couleur defini dans la table
rtf+"\f1 \cf6 j'ecris en Rouge avec la fonte 1"+a_la_ligne$  ; la balise '\cf6' fait appel a la 6em couleur defini dans la table

OpenWindow(0, 0, 0, 540, 200, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
EditorGadget(0, 10, 10, 520, 180)
SetGadgetText(0, rtf)

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow 
Pour comprendre pourquoi \f1 par exemple, je t'invite à regarder cette page : http://fr.wikipedia.org/wiki/Rich_Text_Format

Re: SyntaxLight

Publié : sam. 09/juil./2011 14:14
par dayvid
Hum merci Ar-S mais ya plus simple tu sais je pense enfin ya de sa aussi :)

Si tu veut bienr regarder le code quand tu fait "colorer" avec le menue, tu me comprendra peut être
bon sinon je vais voir si je peut pas fair un exemple qui pourais te servire, pour qu'ont travail dessue :)
merciet a la prochaine :D