Page 1 sur 1

gérer la couleur, la police dans un strig gadget

Publié : sam. 21/nov./2009 15:27
par dayvid
voila je cherche une solution pour pouvoir gérer la couleur et la police dans un string gadget

Re: gérer la couleur, la police dans un strig gadget

Publié : sam. 21/nov./2009 16:01
par venom
Eu....
tu as déjà fait F1 dans purebasic ?

tu va sur stringgadget() et tu as cette phrase :
Ce gadget supporte les commandes SetGadgetColor() et GetGadgetColor() avec les valeurs 'TypeCouleur' suivantes:
:wink:







@++

Re: gérer la couleur, la police dans un strig gadget

Publié : sam. 21/nov./2009 16:22
par dayvid
mais non je ne parle de perssonaliser entierement sons texte comme dans un rich edit quoi !!! :twisted:

Re: gérer la couleur, la police dans un strig gadget

Publié : sam. 21/nov./2009 16:55
par venom
explique une petit peut plus si non un bout de code mais explique plus

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #String_0
EndEnumeration

  If OpenWindow(#Window_0, 216, 0, 410, 55, "New window ( 0 )",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
      FontID1 = LoadFont(1, "Comic Sans MS", 14, #PB_Font_Bold)
      StringGadget(#String_0, 10, 10, 390, 40, "Voila j'ai changer la police et la couleur")
       SetGadgetFont(#String_0, FontID1)
        SetGadgetColor(#String_0, #PB_Gadget_FrontColor, RGB(128,52,250))
         SetGadgetColor(#String_0, #PB_Gadget_BackColor, RGB(0,0,0))
  EndIf
  
Repeat
  EventID = WaitWindowEvent()
  If EventID = #PB_Event_Gadget
    Select EventGadget()
        
    EndSelect
  EndIf
Until EventID = #PB_Event_CloseWindow







@++

Re: gérer la couleur, la police dans un strig gadget

Publié : sam. 21/nov./2009 17:46
par dayvid
Modérateur : Notre ami s'énerve mais s'excuse plus bas, je ne censure donc pas ce sujet. Mais je te recommande tout de même de te relire pour le plus compréhensible et le plus correct possible, merci (J'ai vu que tu faisais des efforts et je t'en remercie)

ho comme c'est génial, il me prend pour un...

je te remerci mais ont c'est pas comprie la
poutemps je suis claire

PERSONNALISER LE TEXTE VOULUE

exemple:

ceci est un texte personnaliser

Re: gérer la couleur, la police dans un strig gadget

Publié : dim. 22/nov./2009 0:19
par venom
je te prend peut etre pour un...

mais avec un exemple concret sa évite d'avancer a taton et n'importe ou.
tu aurais donné cet exemple au 1er post ont aurait pas tourné en rond.






@++

Re: gérer la couleur, la police dans un strig gadget

Publié : dim. 22/nov./2009 1:54
par Backup
dayvid a écrit :ho comme c'est génial, il me prend pour un...

je te remerci mais ont c'est pas comprie la
poutemps je suis claire

PERSONNALISER LE TEXTE VOULUE

heu ! Venom viens de te répondre , il n'y est pas obligé !
il l'a fait sur son temps , il a surement d'autre choses a faire...
comme tout les intervenant de ce forum, on est pas payé pour te répondre
alors , si tu commence a prendre les réponses qu'on te fait avec ce ton, tu vas pas avoir que des potes sur ce forum ! ;)

Re: gérer la couleur, la police dans un strig gadget

Publié : dim. 22/nov./2009 12:40
par kwandjeen
Tiens je te met le code d'un de mes logiciels (avec des astuces tirées des forums FR et EN). Ce n'est pas inamical mais sache que je n'aime pas ta façon de parler aux gens :wink:

Normalement tu dois arriver à faire ce que tu désires.

Code : Tout sélectionner

;********************
;       STIF
; Search Text In File
;
;     kwandjeen
;
;   fevrier 2009
;********************

;recherche un texte dans des fichiers
;affiche les fichiers et la ligne ou le texte à été trouvé

Enumeration
#window
#explorer
#bouton_recherche
#bouton_reset
#texte_a_chercher
#liste_resultat

#window_editeur
#editeur_fichier
EndEnumeration

Structure fichier
chemin.s
position.l
EndStructure

Global NewList  liste_fichier.fichier()

#CFM_BACKCOLOR = $4000000 
#SCF_ALL = 4 
; --> Structure EditorGadget 
Structure CHARFORMAT2_ 
  cbSize.l 
  dwMask.l 
  dwEffects.l 
  yHeight.l 
  yOffset.l 
  crTextColor.l 
  bCharSet.b 
  bPitchAndFamily.b 
  szFaceName.b[#LF_FACESIZE] 
  nullPad.w 
  wWeight.w 
  sSpacing.w 
  crBackColor.l 
  LCID.l 
  dwReserved.l 
  sStyle.w 
  wKerning.w 
  bUnderlineType.b 
  bAnimation.b 
  bRevAuthor.b 
  bReserved1.b 
EndStructure 
; --> début et fin de chaine 
Global editFind.FINDTEXT 
editFind\chrg\cpMin = 0  
editFind\chrg\cpMax = -1 

Global editFormat.CHARFORMAT2_ 
editFormat\cbSize = SizeOf(CHARFORMAT2_) 
editFormat\dwMask = #CFM_BACKCOLOR 
editFormat\crBackColor = RGB(128, 200, 200) 

Global defaultFormat.CHARFORMAT2_
defaultFormat\cbSize = SizeOf(CHARFORMAT2_) 
defaultFormat\dwMask = #CFM_BACKCOLOR 
defaultFormat\crBackColor = RGB(255, 255, 223)
;----- récup editor change color
Procedure Editor_BackColor(Gadget, Color.l) 
  format.CHARFORMAT2_ 
  format\cbSize = SizeOf(CHARFORMAT2_) 
  format\dwMask = $4000000  ; = #CFM_BACKCOLOR 
  format\crBackColor = Color 
  SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, @format) 
EndProcedure

Procedure Editor_Select(Gadget, LineStart.l, CharStart.l, LineEnd.l, CharEnd.l)    
  sel.CHARRANGE 
  sel\cpMin = SendMessage_(GadgetID(Gadget), #EM_LINEINDEX, LineStart, 0) + CharStart - 1 
  
  If LineEnd = -1 
    LineEnd = SendMessage_(GadgetID(Gadget), #EM_GETLINECOUNT, 0, 0)-1 
  EndIf 
  sel\cpMax = SendMessage_(GadgetID(Gadget), #EM_LINEINDEX, LineEnd, 0) 
  
  If CharEnd = -1 
    sel\cpMax + SendMessage_(GadgetID(Gadget), #EM_LINELENGTH, sel\cpMax, 0) 
  Else 
    sel\cpMax + CharEnd - 1 
  EndIf 
  SendMessage_(GadgetID(Gadget), #EM_EXSETSEL, 0, @sel) 
EndProcedure 

; Set the Text color for the Selection 
; in RGB format 
Procedure Editor_Color(Gadget, Color.l) 
  format.CHARFORMAT 
  format\cbSize = SizeOf(CHARFORMAT) 
  format\dwMask = #CFM_COLOR 
  format\crTextColor = Color 
  SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, @format) 
EndProcedure 

; Set Font Size for the Selection 
; in pt 
Procedure Editor_FontSize(Gadget, Fontsize.l) 
  format.CHARFORMAT 
  format\cbSize = SizeOf(CHARFORMAT) 
  format\dwMask = #CFM_SIZE 
  format\yHeight = FontSize*20 
  SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, @format) 
EndProcedure 

; Set Font for the Selection 
; You must specify a font name, the font doesn't need 
; to be loaded 
Procedure Editor_Font(Gadget, FontName.s) 
  format.CHARFORMAT 
  format\cbSize = SizeOf(CHARFORMAT) 
  format\dwMask = #CFM_FACE 
  PokeS(@format\szFaceName, FontName) 
  SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, @format) 
EndProcedure 

; Set Format of the Selection. This can be a combination of 
; the following values: 
; #CFM_BOLD 
; #CFM_ITALIC 
; #CFM_UNDERLINE 
; #CFM_STRIKEOUT 
Procedure Editor_Format(Gadget, Flags.l) 
  format.CHARFORMAT 
  format\cbSize = SizeOf(CHARFORMAT) 
  format\dwMask = #CFM_ITALIC|#CFM_BOLD|#CFM_STRIKEOUT|#CFM_UNDERLINE 
  format\dwEffects = Flags 
  SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, @format) 
EndProcedure 
; -------------------------------------------------------------
Procedure InsertEditorText(gadget,Text$) 
  ProcedureReturn SendMessage_(GadgetID(gadget),#EM_REPLACESEL,0,Text$) 
EndProcedure

Procedure scroll_editor(gadget,valeur)
  SendMessage_(GadgetID(gadget),#EM_LINESCROLL,0,valeur)
EndProcedure

Procedure findtext(gadget.l,textToFind$) 
  ; --> Reset search to beginnng 
  SendMessage_(GadgetID(gadget), #EM_SETSEL, 0, 0) 
  ; --> For resetting to default text 
  SendMessage_(GadgetID(gadget), #EM_SETCHARFORMAT, #SCF_ALL, defaultFormat) 
  ; --> Split the seaarch words 
  spaces = CountString(textToFind$, " ")  
  For i = 1 To spaces+1 
    editFind\chrg\cpMin = 0 
    thisFind$ = StringField(textToFind$, i, " ") 
    editFind\lpstrText = @thisFind$ 
    Repeat 
      found = SendMessage_(GadgetID(gadget), #EM_FINDTEXT, #FR_DOWN, editFind) 
      If found > -1 
        editFind\chrg\cpMin = found+1 
        ; --> Set the selection to colorize 
        SendMessage_(GadgetID(gadget), #EM_SETSEL, found, found + Len(thisFind$))  
        ; --> Colorize selection background 
        SendMessage_(GadgetID(gadget), #EM_SETCHARFORMAT, #SCF_SELECTION | #SCF_WORD, editFormat) 
      EndIf 
    Until found = -1 
  Next i 
  SendMessage_(GadgetID(gadget), #EM_SETSEL, 0, 0) 
EndProcedure

;-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**-*-**-**-*-**-*-*-*-*-*-*-
Procedure scan(fichier.s,texte$)
chaine$ = ""
compteur_ligne = 0
switch_color = 0
find_chaine = 0
AddGadgetItem(#liste_resultat,-1,fichier)

AddElement(liste_fichier())
liste_fichier()\chemin = fichier
liste_fichier()\position = CountGadgetItems(#liste_resultat)-1

SetGadgetItemColor(#liste_resultat,CountGadgetItems(#liste_resultat)-1,#PB_Gadget_BackColor,RGB(255, 201, 132),0)

  If ReadFile(0, fichier)
    While Eof(0) = 0         
      chaine$ = ReadString(0)
      If FindString(LCase(chaine$), texte$, 1)
        AddGadgetItem(#liste_resultat,-1,chaine$+Chr(10)+Str(compteur_ligne))
        find_chaine = 1
        If switch_color = -1
          SetGadgetItemColor(#liste_resultat,CountGadgetItems(#liste_resultat)-1,#PB_Gadget_BackColor,RGB(228, 237, 255),-1)
        EndIf        
        switch_color = Abs(switch_color)-1       
      EndIf
      compteur_ligne+1
    Wend
  
    CloseFile(0)
  Else
    MessageRequester("STIF", "Lecture du fichier impossible", 0)
  EndIf
If find_chaine = 0
  AddGadgetItem(#liste_resultat,-1,"----- Pas de résultat -----")
EndIf  
EndProcedure

Procedure recherche(texte.s)

For i=0 To CountGadgetItems(#explorer)-1 ;on passe tout les fichiers
  ;si c'est un fichier et qu'il est sélectionné on fait la recherche
  If GetGadgetItemState(#explorer,i) = #PB_Explorer_File|#PB_Explorer_Selected
    scan(GetGadgetText(#explorer)+GetGadgetItemText(#explorer,i),texte)  
  EndIf
Next i
EndProcedure

Procedure chargement_fichier(position.l)
num_ligne$ = GetGadgetItemText(#liste_resultat,position,1)

For i=1 To position
  texte$ = GetGadgetItemText(#liste_resultat,position-i,0)
  ForEach liste_fichier()
    If texte$ = liste_fichier()\chemin
      Break 2
    EndIf
  Next
Next i
OpenWindow(#window_editeur,100,100,800,600,liste_fichier()\chemin,#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
  EditorGadget(#editeur_fichier,8,8,784,584)
;lecture du fichier

  If ReadFile(0, liste_fichier()\chemin)
    While Eof(0) = 0         
      chaine$ = ReadString(0)
      AddGadgetItem(#editeur_fichier,-1,chaine$)
    Wend  
    CloseFile(0)
    debut_texte = FindString(GetGadgetItemText(#liste_resultat,position,0),GetGadgetText(#texte_a_chercher),0)
    findtext(#editeur_fichier,GetGadgetText(#texte_a_chercher))
    Editor_Select(#editeur_fichier,Val(num_ligne$),1,Val(num_ligne$),-1)
    Editor_BackColor(#editeur_fichier,RGB(255,200,100))
    Editor_Select(#editeur_fichier,0,0,0,0)    
    scroll_editor(#editeur_fichier,Val(num_ligne$)-CountGadgetItems(#editeur_fichier)+10)
  Else
    MessageRequester("STIF", "Lecture du fichier impossible", 0)
  EndIf
  fin =0
  Repeat
    event = WaitWindowEvent()
    Select event
      Case #PB_Event_CloseWindow
        choix = MessageRequester("Sauvegarde","Voulez vous enregistrer le fichier",#PB_MessageRequester_YesNo)
        If choix = #PB_MessageRequester_Yes
          fichier$ = SaveFileRequester("Sauvegarde du fichier",liste_fichier()\chemin+".copy", "",0)
          If fichier$ <> ""
            If OpenFile(0,fichier$)
              For i=0 To CountGadgetItems(#editeur_fichier)-1
                ;chaine$ = Right(GetGadgetItemText(#editeur_fichier,i),(Len(GetGadgetItemText(#editeur_fichier,i))-11))
                chaine$ = GetGadgetItemText(#editeur_fichier,i)
                WriteStringN(0,chaine$)           
              Next i
              CloseFile(0)
            EndIf 
          EndIf      
        EndIf
        fin = 1
        FreeGadget(#editeur_fichier)
        CloseWindow(#window_editeur)
    EndSelect  
  Until fin = 1
EndProcedure

  If OpenWindow(#window, 0, 0, 1000, 768, "STIF - Searc Text In File", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)  
    ExplorerListGadget(#explorer, 8, 8, 450, 755, "*.*", #PB_Explorer_MultiSelect)
    RemoveGadgetColumn(#explorer,3)
    SetGadgetItemAttribute(#explorer,0,#PB_Explorer_ColumnWidth,250)
    ButtonGadget(#bouton_recherche,890,8,60,20,"Recherche")
    ButtonGadget(#bouton_reset,930,80,60,20,"Clear liste")
    StringGadget(#texte_a_chercher,470,8,400,20,"")
    ListIconGadget(#liste_resultat,470,50,450,705,"Fichier",350)
    AddGadgetColumn(#liste_resultat,1,"Ligne",100)
    
    Repeat 
      event = WaitWindowEvent()
        Select event
          Case #PB_Event_Gadget
            Select EventGadget()
              Case #bouton_recherche
                If GetGadgetState(#explorer)<>-1
                  recherche(GetGadgetText(#texte_a_chercher))
                EndIf
              Case #bouton_reset
                ClearGadgetItems(#liste_resultat)
              Case #liste_resultat
                If EventType() = #PB_EventType_LeftDoubleClick
                  chargement_fichier(GetGadgetState(#liste_resultat))
                EndIf
            EndSelect
        EndSelect     
    Until  event = #PB_Event_CloseWindow 
  EndIf
Il faut savoir rester cool et comprendre que la plupart des personnes ont des obligations, vie de famille, boulot.

Re: gérer la couleur, la police dans un strig gadget

Publié : dim. 22/nov./2009 14:25
par flaith
Bator, sort de ce corps :twisted:

Re: gérer la couleur, la police dans un strig gadget

Publié : sam. 05/déc./2009 14:40
par dayvid
heu désoler pour le vilain ton :oops:
j'ai parfois tandence a faire sa

c'est pas méchant vous savez, c'est juste que des fois je suis un peut
inpatien et ennuiller, bref

mercie pour le code

sinon si qu'elle qu'un a d'autre idée, je suis vraiment près a partager

mois c'est temps si j'ésais de crée (enfin si ont veut) un logiciel de programation
simple et en français mais j'arrive pas trop

mais je serait TRES INTERRESSER par des sugestion, des éxemple, etc, merci d'avence

Re: gérer la couleur, la police dans un strig gadget

Publié : sam. 05/déc./2009 15:20
par Ar-S
Salut dayvid regarde dans la section Debutant/Tutorial
Le numéro 38 - Le format RTF pour les nuls

il y a des exemples et tout ce qu'il faut pour colorer un texte comme tu l'entends.

Pitié, relie toi et améliore ton orthographe, vraiment ça ne donne pas envie de te répondre tellement tu écris comme un sagouin.
Ta première phrase ne contient aucune faute (si ce n'est l'accent sur le a de voilà mais je ne vais du tout chipoter pour ça),
ça signifie que tu sais écrire correctement si tu prends le temps de te relire. Donc en écrivant ensuite comme un sale, cela montre 2 choses :
- L'envi de trouver une solution rapide à tes problèmes (ce qui est une bonne chose)
- Ton impatience => et ça te concerne, on s'en fout..
- Un manque de respect envers tes interlocuteurs => ça on s'en fout moins...

Donc je te le redemande encore une fois, sans méchanceté, relie toi avant de poster des phrases qui en deviennent presque incompréhensible.
c'est la dernière fois que je répondrai à des phrases si mal écrites...

Re: gérer la couleur, la police dans un strig gadget

Publié : sam. 05/déc./2009 16:31
par dayvid
ok, ok sa marche, je vais faire des éffors pour sa