Page 2 sur 2

Re: Prévisualisation temps réel d'un fichier HTML

Publié : mer. 19/mai/2010 6:37
par MetalOS
Voici le code d'un de mes tous premier projet en PB, un éditeur Web basic. Si ca peut t'aider. J'ai mis en commentaire les partie pour la coloration du texte car il faut une lib et pour redimensionner car il faut la lib PureResize.

Code : Tout sélectionner

;************************************* 
;Projet: SourceWebEditor 
;Version: 1.1 
;By MetalOS 
;Date de début de Création: 19/02/2007 
;Date de Fin de Création:00/00/0000 
;************************************* 


Aide$ = "F:\SourceWebEditor\SourceWebEditor Version 1.1\Executable\Aide\index.html"

Declare OFile(file.s) 
Declare SFile(file.s) 
Declare SFileM(file.s) 
Declare Open_Window_0() 
Declare Open_Window_1() 

;Variables


;- Window Constants
;
Enumeration
  #Window_0
  #Window_1
  #Window_3
  #Window_4
EndEnumeration

;- MenuBar Constants
;
Enumeration
  #MenuBar_0
  #PopupMenu_0
EndEnumeration

Enumeration
  #MENU_2
  #MENU_2bis
  #MENU_5
  #MENU_7
  #MENU_8
  #MENU_10
  #MENU_12
  #MENU_13
  #MENU_15
  #MENU_3
  #MENU_18
  #MENU_19
  #MENU_21
  #MENU_22
  #MENU_23
  #MENU_25
  #MENU_27
  #MENU_30
  #MENU_31
  #MENU_32
  #MENU_33
  #MENU_34
  #MENU_36
  #MENU_37
  #MENU_39
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Frame3D_0
  #Frame3D_2
  #ButtonImage_7
  #ButtonImage_8
  #ButtonImage_9
  #ButtonImage_10
  #ButtonImage_11
  #ButtonImage_12
  #ButtonImage_13
  #ButtonImage_14
  #ButtonImage_15
  #ButtonImage_16
  #Image_0
  #Text_0
  #Text_1
  #Text_2
  #Text_3
  #Hyperlink_0
  #Button_10
  #Panel_2
  #Panel_3
  #Editor_1
  #Web_1
  #Button_11
  #Button_12
  #Button_13
  #Button_14
  #Button_15
  #Button_16
  #Button_17
  #Button_18
  #Button_19
  #Button_20
  #Button_21
  #Button_22
  #Button_23
  #Button_24
  #Button_25
  #Button_26
  #Button_27
  #Button_28
  #Button_30
  #Button_31
  #Button_32
  #Button_33
  #Button_34
  #Button_35
  #Button_36
  #Button_37
  #Button_38
  #Button_39
  #Button_40
  #Button_42
  #Button_43
  #Button_44
  #Button_45
  #Button_46
  #Button_47
  #Button_48
  #Button_49
  #Button_50
  #Button_51
  #Button_52
  #Button_53
  #Button_54
  #Button_55
  #Button_56
  #Button_57
  #ProgressBar_0
  #Text_10
  #Text_11
  #ProgressBar_10
  #Text_12
  #WebInfo
  #Quitter
  #Outil
  #PMenu_1
  #PMenu_2
  #PMenu_3
  #PMenu_4
EndEnumeration

;- StatusBar Constants
;
Enumeration
  #StatusBar_0
  #Font_Quitter
  #Font_Outil
EndEnumeration


;- Fonts
Global FontID1
FontID1 = LoadFont(1, "Georgia", 36)
Global FontID2
FontID2 = LoadFont(2, "Georgia", 10)
Global FontID3
FontID3 = LoadFont(3, "Arial", 8, #PB_Font_Bold)
Global FontID4
FontID4 = LoadFont(4, "Arial", 8, #PB_Font_Bold | #PB_Font_Italic)
Global FontID5
FontID5 = LoadFont(5, "Georgia", 48)
Global FontID6
FontID6 = LoadFont(6, "Georgia", 16)
;- Image Plugins

;- Image Globals
Global Image0
Global Image1
Global Image2
Global Image3
Global Image4
Global Image5
Global Image6
Global Image7
Global Image8
Global Image9
Global Image10
Global Image11
Global Image12
Global Image13
Global Image14
Global Image15
Global Image16
Global Image17
Global Image18
Global Image19
Global Image20
Global Image21
Global Image22
Global Image23
;- Catch Images
Image0 = CatchImage(0, ?Image0)
Image1 = CatchImage(1, ?Image1)
Image2 = CatchImage(2, ?Image2)
Image3 = CatchImage(3, ?Image3)
Image4 = CatchImage(4, ?Image4)
Image5 = CatchImage(5, ?Image5)
Image6 = CatchImage(6, ?Image6)
Image7 = CatchImage(7, ?Image7)
Image8 = CatchImage(8, ?Image8)
Image9 = CatchImage(9, ?Image9)
Image10 = CatchImage(10, ?Image10)
Image11 = CatchImage(11, ?Image11)
Image12 = CatchImage(12, ?Image12)
Image13 = CatchImage(13, ?Image13)
Image14 = CatchImage(14, ?Image14)
Image15 = CatchImage(15, ?Image15)
Image16 = CatchImage(16, ?Image16)
Image17 = CatchImage(17, ?Image17)
Image18 = CatchImage(18, ?Image18)
Image19 = CatchImage(19, ?Image19)
Image20 = CatchImage(20, ?Image20)
Image21 = CatchImage(21, ?Image21)
Image22 = CatchImage(22, ?Image22)
Image23 = CatchImage(23, ?Image23)

;- Images
DataSection
Image0:
  IncludeBinary "Ouvrir.bmp"
Image1:
  IncludeBinary "Enregistrer.bmp"
Image2:
  IncludeBinary "Couper.bmp"
Image3:
  IncludeBinary "Copier.bmp"
Image4:
  IncludeBinary "Coller.bmp"
Image5:
  IncludeBinary "Annuler.bmp"
Image6:
  IncludeBinary "precedent.bmp"
Image7:
  IncludeBinary "suivant.bmp"
Image8:
  IncludeBinary "stop.bmp"
Image9:
  IncludeBinary "refrech.bmp"
Image10:
  IncludeBinary "Logo.bmp"
Image11:
  IncludeBinary "Nouveau_html.bmp"
Image12:
  IncludeBinary "NouveauVierge.bmp"
Image13:
  IncludeBinary "Ouvrir1.bmp"
Image14:
  IncludeBinary "Generer.bmp"
Image15  : 
  IncludeBinary "Modification.bmp"
Image16  : 
  IncludeBinary "Quitter.bmp"
Image17  : 
  IncludeBinary "Annuler1.bmp"
Image18  : 
  IncludeBinary "Couper1.bmp"
Image19 : 
  IncludeBinary "Copier1.bmp"
Image20 : 
  IncludeBinary "Coller1.bmp"
Image21 : 
  IncludeBinary "Aide.bmp"
Image22 : 
  IncludeBinary "Update.bmp"
Image23 : 
  IncludeBinary "Apropos.bmp"
EndDataSection

 ;****Procedure d'ouverture d'un Fichier************** 
Procedure OFile(file.s) 
    HideGadget(#Editor_1, 1) 
    d=ReadFile(1, file) 
    If d 
        While Eof(1)=0 
            Text$ = Text$+ReadString(1)+Chr(13)+ Chr(10)    
        Wend 
        CloseFile(1)  
        SetGadgetText(#Web_1, file.s)  
        SetGadgetText(#Editor_1, Text$)  
        SetGadgetColor(#Editor_1, #PB_Gadget_BackColor, RGB($FF,$FF,$FF)) 
        
        
        ; ici ça colore pendant le chargement du fichier :D 
        If CreateGadgetList(StatusBarID(0))
          ProgressBarGadget(#ProgressBar_0, 5,5 , 100, 12, 0, CountGadgetItems(#Editor_1)-1)
        EndIf
        HideGadget(#Editor_1, 1) 
        For lili=0 To CountGadgetItems(#Editor_1)-1    
            SetGadgetState(#ProgressBar_0, lili) 
            chaine$="" 
            chaine$=GetGadgetItemText(#Editor_1, lili, 0) ; recupere chaque ligne de text    
            SetGadgetItemText(#Editor_1, lili, chaine$, 0)    
           ;SyntaxHighlightingLine (#Editor_1, "<HTML>|<html>|</HTML>|</html>|<title>|</title>|<TITLE>|</TITLE>|<head>|</head>|<HEAD>|</HEAD>|<body>|</body>|<BODY>|</BODY>|<body|</body|<BODY|</BODY|" , "|" , RGB (0, 0, 204), RGB (255, 255, 255), 9,  "Arial" , 0 ) 
            ;SyntaxHighlightingLine  (#Editor_1, "<script>|<SCRIPT>|</noscript>|</NOSCRIPT>|<script|<SCRIPT|</script>|</SCRIPT>|<noscript>|<NOSCRIPT>" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
            ;SyntaxHighlightingLine  (#Editor_1, "<!--|-->" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
            ;SyntaxHighlightingLine (#Editor_1, "<a>|</a>|<A>|</A>|<b>|</b>|<B>|</B>|<br>|</br>|<BR>|</BR>|<center>|</center>|<CENTER>|</CENTER>|<a|<A" , "|" , RGB (153, 102, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
            ;SyntaxHighlightingLine  (#Editor_1, "<div>|</div>|<DIV>|</DIV>|<div|<DIV|<font>|</font>|<FONT>|</FONT>|<h1>|</h1>|<H1>|</H1>|<h2>|</h2>|<H2>|</H2>|<h3>|</h3>|<H3>|</H3>|<h4>|</h4>|<H4>|</H4>|<h5>|</h5>|<H5>|</H5>|<h6>|</h6>|<H6>|</H6>|<hr>|</hr>|<HR>|</HR>" , "|" , RGB (51, 255, 51), RGB (255, 255, 255), 9, "Arial" , 0) 
            ;SyntaxHighlightingLine (#Editor_1, "<img>|</img>|<IMG>|</IMG>|<meta>|<META>|href" , "|" , RGB (255, 153, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
        Next lili  
        HideGadget(#Editor_1, 0) 
        HideGadget(#ProgressBar_0, 1)
    Else 
    EndIf 
    
EndProcedure 
;****Fin de la Procedure***************************** 

;***Procedure D'enregistrement*********************** 
Procedure SFile(file.s) 
    If file 
        If FindString(file.s,".",1)  
        Else 
            file.s =file.s + ".html" 
        EndIf 
        If CreateFile(0, file.s ) 
            file$ = GetGadgetText(#Editor_1) 
            WriteData(0, @file$, Len(file$)) 
            CloseFile(0) 
        Else 
            MessageRequester("Erreur","Ne peut créer le fichier "+file+"!") 
        EndIf 
    EndIf 
EndProcedure 
;****Fin de Procedure d'enregistrement*************** 

;***Procedure d'enregistrement des modifications********** 
Procedure SFileM(file.s) 
    If file 
        If CreateFile(0, file) 
            file$ = GetGadgetText(#Editor_1) 
            WriteData(0, @file$, Len(file$)) 
            CloseFile(0) 
        Else 
            MessageRequester("Erreur","Ne peut créer le fichier "+file+"!") 
        EndIf 
    EndIf 
EndProcedure 
;****Fin de Procedure d'enregistrement des modification**** 

Procedure Open_Window_4()
  If OpenWindow(#Window_4, 429, 114, 573, 402, "Informations sur les mises à jour.", #PB_Window_TitleBar|#PB_Window_ScreenCentered|#PB_Window_WindowCentered|#PB_Window_BorderLess)
    If CreateGadgetList(WindowID(#Window_4))
      WebGadget(#WebInfo, 5, 5, 560, 345, "")
      ButtonGadget(#Quitter, 500, 365, 60, 20, "Fermer")
      ButtonGadget(#Outil, 190, 365, 290, 20, "Lancer l'outil de mise à jour de SourceWebEditor.")
      ; Gadget Fonts
      SetGadgetFont(#Quitter, LoadFont(#Font_Quitter, "Georgia", 8, 0))
      SetGadgetFont(#Outil, LoadFont(#Font_Outil, "Georgia", 8, 0))
    EndIf
  EndIf
EndProcedure

Procedure Open_Window_3()
  If OpenWindow(#Window_3, 326, 343, 606, 200, "New window ( 0 )",  #PB_Window_BorderLess | #PB_Window_ScreenCentered | #PB_Window_WindowCentered )
    If CreateGadgetList(WindowID(#Window_3))
      TextGadget(#Text_10, 5, 5, 590, 75, "SourceWebEditor", #PB_Text_Center | #PB_Text_Border)
      SetGadgetFont(#Text_10, FontID1)
      TextGadget(#Text_11, 195, 90, 215, 30, "Version 1.1.", #PB_Text_Center)
      SetGadgetFont(#Text_11, FontID2)
      TextGadget(#Text_12, 365, 170, 230, 15, "By MetalOS", #PB_Text_Right)
      ProgressBarGadget(#ProgressBar_10, 5, 145, 590, 15, 0, 10)
                 For Charge1=0 + 1 To 100
                    SetGadgetState(#ProgressBar_10, Charge1)
                    Delay(20)
                 Next
                 Open_Window_0()
                 CloseWindow(#Window_3)
    EndIf
  EndIf
EndProcedure

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 220, 2, 715, 479, "SourceWebEditor Version 1.1.", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered )
    Menu = CreateMenu(#MenuBar_0, WindowID(#Window_0))
    If Menu
      MenuTitle("Fichier")
      OpenSubMenu("  Nouveau")
      MenuItem(#MENU_2, "  Nouvelle page Html")
      MenuBar()
      MenuItem(#MENU_2bis, "  Nouvelle page vierge")
      CloseSubMenu()
      MenuBar()
      MenuItem(#MENU_5, "  Ouvrir")    
      MenuBar()
      MenuItem(#MENU_10, "  Générer le fichier HTML")
      MenuItem(#MENU_12, "  Enregistrer les modifications du fichier HTML")
      MenuBar()
      MenuItem(#MENU_15, "  Quitter")
      MenuTitle("Edition")
      MenuItem(#MENU_18, "  Annuler")
      MenuBar()
      MenuItem(#MENU_19, "  Couper")
      MenuItem(#MENU_21, "  Copier")
      MenuItem(#MENU_22, "  Coller")
      MenuTitle("Aide")
      MenuItem(#MENU_36, "  Aide sur SourceWebEditor")
      MenuBar()
      MenuItem(#MENU_37, "  Vérifier les Mise à jours")
      MenuBar()
      MenuItem(#MENU_39, "  A propos de SourceWebEditor")
      
      
      SetMenuItemBitmaps_(Menu, #MENU_2,   #MF_BYCOMMAND, ImageID(11), ImageID(11))
      SetMenuItemBitmaps_(Menu, #MENU_2bis,#MF_BYCOMMAND, ImageID(12), ImageID(12))
      SetMenuItemBitmaps_(Menu, #MENU_5,   #MF_BYCOMMAND, ImageID(13), ImageID(13))
      SetMenuItemBitmaps_(Menu, #MENU_10,  #MF_BYCOMMAND, ImageID(14), ImageID(14))
      SetMenuItemBitmaps_(Menu, #MENU_12,  #MF_BYCOMMAND, ImageID(15), ImageID(15))
      SetMenuItemBitmaps_(Menu, #MENU_15,  #MF_BYCOMMAND, ImageID(16), ImageID(16))
      SetMenuItemBitmaps_(Menu, #MENU_18,  #MF_BYCOMMAND, ImageID(17), ImageID(17))
      SetMenuItemBitmaps_(Menu, #MENU_19,  #MF_BYCOMMAND, ImageID(18), ImageID(18))
      SetMenuItemBitmaps_(Menu, #MENU_21,  #MF_BYCOMMAND, ImageID(19), ImageID(19))
      SetMenuItemBitmaps_(Menu, #MENU_22,  #MF_BYCOMMAND, ImageID(20), ImageID(20))
      SetMenuItemBitmaps_(Menu, #MENU_36,  #MF_BYCOMMAND, ImageID(21), ImageID(21))
      SetMenuItemBitmaps_(Menu, #MENU_37,  #MF_BYCOMMAND, ImageID(22), ImageID(22))
      SetMenuItemBitmaps_(Menu, #MENU_39,  #MF_BYCOMMAND, ImageID(23), ImageID(23))
      
      EndIf

      If CreateStatusBar(#StatusBar_0, WindowID(#Window_0))
          AddStatusBarField(110)
          AddStatusBarField(150)
          AddStatusBarField(900)
          StatusBarText(#StatusBar_0,2," Aucun Fichier HTML chargé:")
      EndIf
       

        If CreateGadgetList(WindowID(#Window_0))   
          Frame3DGadget(#Frame3D_0, 0, 0, 865, 80, "", #PB_Frame3D_Single)
          Frame3DGadget(#Frame3D_2, 5, 85, 705, 340, "", #PB_Frame3D_Double)
          ButtonImageGadget(#ButtonImage_7, 5, 5, 35, 30, Image0)
          GadgetToolTip(#ButtonImage_7, "Ouvrir un fichier HTML")
          ButtonImageGadget(#ButtonImage_8, 45, 5, 35, 30, Image1)
          GadgetToolTip(#ButtonImage_8, "Enregistrer les modifications d'un fichier HTML")
          ButtonImageGadget(#ButtonImage_9, 85, 5, 35, 30, Image2)
          GadgetToolTip(#ButtonImage_9, "Couper")
          ButtonImageGadget(#ButtonImage_10, 125, 5, 35, 30, Image3)
          GadgetToolTip(#ButtonImage_10, "Copier")
          ButtonImageGadget(#ButtonImage_11, 165, 5, 35, 30, Image4)
          GadgetToolTip(#ButtonImage_11, "Coller")
          ButtonImageGadget(#ButtonImage_12, 205, 5, 35, 30, Image5)
          GadgetToolTip(#ButtonImage_12, "Annuler")
          ButtonImageGadget(#ButtonImage_13, 50, 40, 30, 30, Image6)
          GadgetToolTip(#ButtonImage_13, "Précédent")
          ButtonImageGadget(#ButtonImage_14, 85, 40, 30, 30, Image7)
          GadgetToolTip(#ButtonImage_14, "Suivant")
          ButtonImageGadget(#ButtonImage_15, 125, 40, 30, 30, Image8)
          GadgetToolTip(#ButtonImage_15, "Stop")
          ButtonImageGadget(#ButtonImage_16, 160, 40, 30, 30, Image9)
          GadgetToolTip(#ButtonImage_16, "Actualiser")
          
          ;- Panel9
          PanelGadget(#Panel_2, 255, 10, 460, 65)
          AddGadgetItem(#Panel_2, -1, "HTML")
          ButtonGadget(#Button_11, 3, 8, 25, 20, "A")
          SetGadgetFont(#Button_11, FontID3)
          GadgetToolTip(#Button_11, "Gras")
          ButtonGadget(#Button_12, 28, 8, 25, 20, "I")
          SetGadgetFont(#Button_12, FontID4)
          GadgetToolTip(#Button_12, "Italique")
          ButtonGadget(#Button_13, 53, 8, 25, 20, "_")
          GadgetToolTip(#Button_13, "Souligner")
          ButtonGadget(#Button_14, 78, 8, 25, 20, "Ag")
          GadgetToolTip(#Button_14, "Alignement à gauche")
          ButtonGadget(#Button_15, 103, 8, 25, 20, "Ce")
          GadgetToolTip(#Button_15, "Centré")
          ButtonGadget(#Button_16, 128, 8, 25, 20, "Ad")
          GadgetToolTip(#Button_16, "Alignement à droite")
          ButtonGadget(#Button_17, 153, 8, 25, 20, "HR")
          GadgetToolTip(#Button_17, "Ligne horizontale")
          ButtonGadget(#Button_18, 178, 8, 25, 20, "BR")
          GadgetToolTip(#Button_18, "Saut de ligne")
          ButtonGadget(#Button_19, 203, 8, 25, 20, "C i")
          GadgetToolTip(#Button_19, "Citation")
          ButtonGadget(#Button_20, 228, 8, 25, 20, "Co")
          GadgetToolTip(#Button_20, "Commentaire")
          ButtonGadget(#Button_21, 253, 8, 25, 20, "Var")
          GadgetToolTip(#Button_21, "Variable")
          ButtonGadget(#Button_22, 278, 8, 25, 20, "Adr")
          GadgetToolTip(#Button_22, "Adresse")
          ButtonGadget(#Button_23, 303, 8, 25, 20, "Def")
          GadgetToolTip(#Button_23, "Définition")
          ButtonGadget(#Button_24, 328, 8, 25, 20, "Font")
          GadgetToolTip(#Button_24, "Font")
          ButtonGadget(#Button_25, 353, 8, 25, 20, "Img")
          GadgetToolTip(#Button_25, "Image")
          ButtonGadget(#Button_26, 378, 8, 25, 20, "Sup")
          GadgetToolTip(#Button_26, "Super Script")
          ButtonGadget(#Button_27, 403, 8, 25, 20, "Par")
          GadgetToolTip(#Button_27, "Paragraphe")
          ButtonGadget(#Button_28, 428, 8, 25, 20, "Sub")
          GadgetToolTip(#Button_28, "Sub Script")
          AddGadgetItem(#Panel_2, -1, "Tableau")
          ButtonGadget(#Button_42, 3, 8, 25, 20, "Tbl")
          GadgetToolTip(#Button_42, "Inserer un Tableau")
          ButtonGadget(#Button_43, 28, 8, 25, 20, "Tr")
          GadgetToolTip(#Button_43, "Colonne")
          ButtonGadget(#Button_44, 53, 8, 25, 20, "Td")
          GadgetToolTip(#Button_44, "Ligne")
          ButtonGadget(#Button_45, 78, 8, 25, 20, "Th")
          GadgetToolTip(#Button_45, "En-tête")
          ButtonGadget(#Button_46, 103, 8, 25, 20, "Cp")
          GadgetToolTip(#Button_46, "Caption")
          AddGadgetItem(#Panel_2, -1, "Titre")
          ButtonGadget(#Button_47, 3, 8, 25, 20, "H1")
          ButtonGadget(#Button_48, 28, 8, 25, 20, "H2")
          ButtonGadget(#Button_49, 53, 8, 25, 20, "H3")
          ButtonGadget(#Button_50, 78, 8, 25, 20, "H4")
          ButtonGadget(#Button_51, 103, 8, 25, 20, "H5")
          ButtonGadget(#Button_52, 128, 8, 25, 20, "H6")
          AddGadgetItem(#Panel_2, -1, "Lien")
          ButtonGadget(#Button_53, 3, 8, 45, 20, "Lien Img")
          ButtonGadget(#Button_54, 48, 8, 55, 20, "Lien Email")
          ButtonGadget(#Button_55, 103, 8, 50, 20, "Lien texte")
          AddGadgetItem(#Panel_2, -1, "Internet Explorer")
          ButtonGadget(#Button_56, 3, 8, 65, 20, "Site Favoris")
          ButtonGadget(#Button_57, 68, 8, 65, 20, "Site Accueil")
          CloseGadgetList()
          
          ;- Panel16
          PanelGadget(#Panel_3, 15, 90, 680, 330)
          AddGadgetItem(#Panel_3, -1, "Code Source")
          EditorGadget(#Editor_1, 8, 8, 660, 290)
          AddGadgetItem(#Panel_3, -1, "Aperçu")
          WebGadget(#Web_1, 8, 8, 660, 290, "")
          CloseGadgetList()
          
        EndIf
        
        If CreatePopupMenu(10)      
          MenuItem(31, "Annuler") 
          MenuBar() 
          MenuItem(32, "Couper") 
          MenuItem(33, "Copier") 
          MenuItem(34, "Coller") 
        EndIf 
        
      EndIf
EndProcedure

;***************Debut Procedure Position***********************************
Procedure CursorX(Gadget)
  ; returns X-Pos of Cursor
  REG = GadgetID(Gadget)
  SendMessage_(REG,#EM_EXGETSEL,0,Range.CHARRANGE)
  ProcedureReturn (Range\cpMax-(SendMessage_(REG,#EM_LINEINDEX,SendMessage_(REG,#EM_EXLINEFROMCHAR,0,Range\cpMin),0)))
EndProcedure

Procedure CursorY(Gadget)
  ; returns Y-Pos of Cursor
  REG = GadgetID(Gadget)
  SendMessage_(REG,#EM_EXGETSEL,0,Range.CHARRANGE)
  ProcedureReturn SendMessage_(REG,#EM_EXLINEFROMCHAR,0,Range\cpMin)+1
EndProcedure

Procedure Locate(Gadget,x,y)
  ; Set cursor position
  REG = GadgetID(Gadget)
  CharIdx = SendMessage_(REG,#EM_LINEINDEX,y-1,0)
  LLength = SendMessage_(REG,#EM_LINELENGTH,CharIdx,0)
  If LLength >= x-1
    CharIdx + x-1
  EndIf
  Range.CHARRANGE
  Range\cpMin = CharIdx
  Range\cpMax = CharIdx
  SendMessage_(REG,#EM_EXSETSEL,0,Range)
EndProcedure
;******************Fin Procedure Position************************ 

Procedure Open_Window_1()
  If OpenWindow(#Window_1, 131, 112, 600, 256, "A propos de SourceWebEditor.", #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered )
    If CreateGadgetList(WindowID(#Window_1))
      ImageGadget(#Image_0, 5, 5, 192, 128, Image10, #PB_Image_Border)
      TextGadget(#Text_0, 210, 30, 385, 60, "SourceWebEditor", #PB_Text_Center)
      SetGadgetFont(#Text_0, FontID1)
      TextGadget(#Text_1, 295, 110, 230, 20, "Version 1.1.", #PB_Text_Center)
      TextGadget(#Text_2, 15, 155, 570, 55, "SourceWebEditor Version 1.1, est un logiciel gratuit qui peut être distribué librement mais ne peut être vendu ou utilisé dans un but commercial. SourceWebEditor ne présente aucun virus ou logiciel malveillant.")
      SetGadgetFont(#Text_2, FontID2)
      TextGadget(#Text_3, 250, 215, 335, 20, "By MetalOS", #PB_Text_Right)
      HyperLinkGadget(#Hyperlink_0, 435, 230, 160, 20, "", #Blue, #PB_HyperLink_Underline)
      ButtonGadget(#Button_10, 140, 220, 110, 20, "Ok")
      
    EndIf
  EndIf
EndProcedure

Open_Window_3()

AddGadgetItem(#Editor_1, 1, "<html>")
AddGadgetItem(#Editor_1, 2, "   <title>Taper ici le titre de votre site internet</title>")
AddGadgetItem(#Editor_1, 3, "    <head>")
AddGadgetItem(#Editor_1, 4, "")
AddGadgetItem(#Editor_1, 5, "    </head>")
AddGadgetItem(#Editor_1, 6, "  <body>")
AddGadgetItem(#Editor_1, 7, "")
AddGadgetItem(#Editor_1, 8, "")
AddGadgetItem(#Editor_1, 9, "")
AddGadgetItem(#Editor_1, 10, "")
AddGadgetItem(#Editor_1, 11, "  </body>")
AddGadgetItem(#Editor_1, 12, "</html>")

;SyntaxHighlightingAll (#Editor_1, "<HTML>|<html>|</HTML>|</html>|<title>|</title>|<TITLE>|</TITLE>|<head>|</head>|<HEAD>|</HEAD>|<body>|</body>|<BODY>|</BODY>|<body|</body|<BODY|</BODY|" , "|" , RGB (0, 0, 204), RGB (255, 255, 255), 9, "Arial" , 0) 
;SyntaxHighlightingAll (#Editor_1, "<script>|<SCRIPT>|</noscript>|</NOSCRIPT>|<script|<SCRIPT|</script>|</SCRIPT>|<noscript>|<NOSCRIPT>" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
;SyntaxHighlightingAll (#Editor_1, "<!--|-->" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
;SyntaxHighlightingAll (#Editor_1, "<a>|</a>|<A>|</A>|<b>|</b>|<B>|</B>|<br>|</br>|<BR>|</BR>|<center>|</center>|<CENTER>|</CENTER>|<a|<A" , "|" , RGB (153, 102, 0), RGB (255, 255, 255), 9, "Arial" , 0)  
;SyntaxHighlightingAll (#Editor_1, "<div>|</div>|<DIV>|</DIV>|<div|<DIV|<font>|</font>|<FONT>|</FONT>|<h1>|</h1>|<H1>|</H1>|<h2>|</h2>|<H2>|</H2>|<h3>|</h3>|<H3>|</H3>|<h4>|</h4>|<H4>|</H4>|<h5>|</h5>|<H5>|</H5>|<h6>|</h6>|<H6>|</H6>|<hr>|</hr>|<HR>|</HR>" , "|" , RGB (51, 255, 51), RGB (255, 255, 255), 9, "Arial" , 0)
;SyntaxHighlightingAll (#Editor_1, "<img>|</img>|<IMG>|</IMG>|<meta>|<META>|href" , "|" , RGB (255, 153, 0), RGB (255, 255, 255), 9, "Arial" , 0)
 
;********Début du RESIZE Gadget***********************************
  ;PureRESIZE_SetGadgetResize(#Editor_1, #True, #True, #True, #True)
  ;PureRESIZE_SetGadgetResize(#Panel_3, #True, #True, #True, #True)
  ;PureRESIZE_SetGadgetResize(#Frame3D_0, #True, #True, #True, #False)
  ;PureRESIZE_SetGadgetResize(#Frame3D_2, #True, #True, #True, #True)
  ;PureRESIZE_SetGadgetResize(#Web_1, #True, #True, #True, #True)
;********Fin du RESIZE Gadget************************************* 


Repeat ; Start of the event loop
  
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  
  WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
  
  GadgetID = EventGadget() ; Is it a gadget event?
  
  EventType = EventType() ; The event type
  
  
  StatusBarText(#StatusBar_0,1," Ligne: "+Str(CursorY(#Editor_1))+"  Caractère: "+Str(CursorX(#Editor_1)))
  
  If Event = #PB_Event_Menu
    
    MenuID = EventMenu()
    
    If MenuID = #MENU_2
      Debug "GadgetID: #MENU_2"
      ClearGadgetItemList(#Editor_1)
        AddGadgetItem(#Editor_1, 1, "<html>")
        AddGadgetItem(#Editor_1, 2, "   <title>Taper ici le titre de votre site internet</title>")
        AddGadgetItem(#Editor_1, 3, "    <head>")
        AddGadgetItem(#Editor_1, 4, "")
        AddGadgetItem(#Editor_1, 5, "    </head>")
        AddGadgetItem(#Editor_1, 6, "  <body>")
        AddGadgetItem(#Editor_1, 7, "")
        AddGadgetItem(#Editor_1, 8, "")
        AddGadgetItem(#Editor_1, 9, "")
        AddGadgetItem(#Editor_1, 10, "")
        AddGadgetItem(#Editor_1, 11, "  </body>")
        AddGadgetItem(#Editor_1, 12, "</html>")
        
        ;SyntaxHighlightingAll (#Editor_1, "<HTML>|<html>|</HTML>|</html>|<title>|</title>|<TITLE>|</TITLE>|<head>|</head>|<HEAD>|</HEAD>|<body>|</body>|<BODY>|</BODY>|<body|</body|<BODY|</BODY|" , "|" , RGB (0, 0, 204), RGB (255, 255, 255), 9, "Arial" , 0) 
        ;SyntaxHighlightingAll (#Editor_1, "<script>|<SCRIPT>|</noscript>|</NOSCRIPT>|<script|<SCRIPT|</script>|</SCRIPT>|<noscript>|<NOSCRIPT>" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
        ;SyntaxHighlightingAll (#Editor_1, "<!--|-->" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
       ; SyntaxHighlightingAll (#Editor_1, "<a>|</a>|<A>|</A>|<b>|</b>|<B>|</B>|<br>|</br>|<BR>|</BR>|<center>|</center>|<CENTER>|</CENTER>|<a|<A" , "|" , RGB (153, 102, 0), RGB (255, 255, 255), 9, "Arial" , 0)  
       ; SyntaxHighlightingAll (#Editor_1, "<div>|</div>|<DIV>|</DIV>|<div|<DIV|<font>|</font>|<FONT>|</FONT>|<h1>|</h1>|<H1>|</H1>|<h2>|</h2>|<H2>|</H2>|<h3>|</h3>|<H3>|</H3>|<h4>|</h4>|<H4>|</H4>|<h5>|</h5>|<H5>|</H5>|<h6>|</h6>|<H6>|</H6>|<hr>|</hr>|<HR>|</HR>" , "|" , RGB (51, 255, 51), RGB (255, 255, 255), 9, "Arial" , 0)
        ;SyntaxHighlightingAll (#Editor_1, "<img>|</img>|<IMG>|</IMG>|<meta>|<META>|href" , "|" , RGB (255, 153, 0), RGB (255, 255, 255), 9, "Arial" , 0)

    ElseIf MenuID = #MENU_2bis
     Debug "GadgetID: #MENU_2bis" 
         ClearGadgetItemList(#Editor_1) 
    ElseIf MenuID = #MENU_5
      Debug "GadgetID: #MENU_5"
      file$ = OpenFileRequester("Charger un Fichier HTML","","html|*.html",1) 
      OFile(file$)
      StatusBarText(#StatusBar_0,2," Fichier Ouvert: "+ file$)  
    ElseIf MenuID = #MENU_7
      Debug "GadgetID: #MENU_7"
      
    ElseIf MenuID = #MENU_8
      Debug "GadgetID: #MENU_8"
      
    ElseIf MenuID = #MENU_10
      Debug "GadgetID: #MENU_10"
      file$ = SaveFileRequester("Générer un fichier HTML","","html|*.html",1)      
      SFile(file$)
      StatusBarText(#StatusBar_0,2," Fichier Enregistrer: "+ file$)
    ElseIf MenuID = #MENU_12
      Debug "GadgetID: #MENU_12"
      SFileM(file$)
      StatusBarText(#StatusBar_0,2," Fichier Modifier: "+ file$)
    ElseIf MenuID = #MENU_13
      Debug "GadgetID: #MENU_13"
      
    ElseIf MenuID = #MENU_15
      Debug "GadgetID: #MENU_15"
      End
    ElseIf MenuID = #MENU_3
      Debug "GadgetID: #MENU_3"
      
    ElseIf MenuID = #MENU_18
      Debug "GadgetID: #MENU_18"
      SendMessage_(GadgetID(#Editor_1),#EM_UNDO,0,0)
    ElseIf MenuID = #MENU_19
      Debug "GadgetID: #MENU_19"
      ;Code Couper
      Vide$ = "" 
          SendMessage_(GadgetID(#Editor_1),#EM_GETSEL,@StartSel,@EndSel) 
          Buffer$ = Space(EndSel-StartSel) 
          SendMessage_(GadgetID(#Editor_1),#EM_GETSELTEXT,0,@Buffer$) 
          ClearClipboard() 
          SetClipboardText(Buffer$) 
          SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,#True,@Vide$) 
       ;Fin de code Couper
    ElseIf MenuID = #MENU_21
      Debug "GadgetID: #MENU_21"
      ;Code Copier
      SendMessage_(GadgetID(#Editor_1),#EM_GETSEL,@StartSel,@EndSel) 
          Buffer$ = Space(EndSel-StartSel) 
          SendMessage_(GadgetID(#Editor_1),#EM_GETSELTEXT,0,@Buffer$) 
          ClearClipboard() 
          SetClipboardText(Buffer$) 
      ; Fin de code Copier
    ElseIf MenuID = #MENU_22
      Debug "GadgetID: #MENU_22"
      ;Code coller
      Buffer$ = GetClipboardText() 
          SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,#True,@Buffer$)
      ;Fin de code Coller 
    ElseIf MenuID = #MENU_23
      Debug "GadgetID: #MENU_23"
      
    ElseIf MenuID = #MENU_25
      Debug "GadgetID: #MENU_25"
      
    ElseIf MenuID = #MENU_27
      Debug "GadgetID: #MENU_27"
      
    ElseIf MenuID = #MENU_30
      Debug "GadgetID: #MENU_30"
      
    ElseIf MenuID = #MENU_31
      Debug "GadgetID: #MENU_31"
      
    ElseIf MenuID = #MENU_32
      Debug "GadgetID: #MENU_32"
      
    ElseIf MenuID = #MENU_33
      Debug "GadgetID: #MENU_33"
      
    ElseIf MenuID = #MENU_34
      Debug "GadgetID: #MENU_34"
      
    ElseIf MenuID = #MENU_36
      Debug "GadgetID: #MENU_36"
      RunProgram(Aide$)
    ElseIf MenuID = #MENU_37
      Debug "GadgetID: #MENU_37"
       Open_Window_4()
    ElseIf MenuID = #MENU_39
      Debug "GadgetID: #MENU_39"
      Open_Window_1 ()
    EndIf
    
  EndIf
  
  If Event = #PB_Event_Gadget
    
    If GadgetID = #ButtonImage_7
      file$ = OpenFileRequester("Charger un Fichier HTML","","html|*.html",1) 
      OFile(file$) 
      StatusBarText(#StatusBar_0,2," Fichier Ouvert: "+ file$)
    ElseIf GadgetID = #ButtonImage_8
      SFileM(file$)
      StatusBarText(#StatusBar_0,2," Fichier Modifier: "+ file$)
    ElseIf GadgetID = #ButtonImage_9
     ;Code Couper
      Vide$ = "" 
          SendMessage_(GadgetID(#Editor_1),#EM_GETSEL,@StartSel,@EndSel) 
          Buffer$ = Space(EndSel-StartSel) 
          SendMessage_(GadgetID(#Editor_1),#EM_GETSELTEXT,0,@Buffer$) 
          ClearClipboard() 
          SetClipboardText(Buffer$) 
          SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,#True,@Vide$) 
       ;Fin de code Couper 
    ElseIf GadgetID = #ButtonImage_10
     ;Code Copier
      SendMessage_(GadgetID(#Editor_1),#EM_GETSEL,@StartSel,@EndSel) 
          Buffer$ = Space(EndSel-StartSel) 
          SendMessage_(GadgetID(#Editor_1),#EM_GETSELTEXT,0,@Buffer$) 
          ClearClipboard() 
          SetClipboardText(Buffer$) 
      ; Fin de code Copier
    ElseIf GadgetID = #ButtonImage_11
      ;Code coller
      Buffer$ = GetClipboardText() 
          SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,#True,@Buffer$)
      ;Fin de code Coller 
    ElseIf GadgetID = #ButtonImage_12
      SendMessage_(GadgetID(#Editor_1),#EM_UNDO,0,0)
    ElseIf GadgetID = #ButtonImage_13
      SetGadgetState(#Web_1, #PB_Web_Back)
    ElseIf GadgetID = #ButtonImage_14
      SetGadgetState(#Web_1, #PB_Web_Forward)
    ElseIf GadgetID = #ButtonImage_15
      SetGadgetState(#Web_1, #PB_Web_Stop)
    ElseIf GadgetID = #ButtonImage_16
      SetGadgetState(#Web_1, #PB_Web_Refresh) 
    ElseIf GadgetID = #Image_0
      
    ElseIf GadgetID = #Hyperlink_0
      RunProgram("")
    ElseIf GadgetID = #Button_10
      CloseWindow(#Window_1)
    ElseIf GadgetID = #Panel_2
      
    ElseIf GadgetID = #Panel_3
      SetGadgetState(#Web_1, #PB_Web_Refresh)
    ElseIf GadgetID = #Editor_1 
      SetGadgetColor(#Editor_1, #PB_Gadget_BackColor, RGB($FF,$FF,$FF))  
            NewText.s = GetGadgetText(#Editor_1) 
            If OldText.s <> NewText.s 
                ;SyntaxHighlightingLine(#Editor_1, "a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/,/;/:/!/ /&/é/'/(/-/è/_/ç/à/)/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z", "/", RGB (0, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0 ) 
                ;SyntaxHighlightingLine (#Editor_1, "<HTML>|<html>|</HTML>|</html>|<title>|</title>|<TITLE>|</TITLE>|<head>|</head>|<HEAD>|</HEAD>|<body>|</body>|<BODY>|</BODY>|<body|</body|<BODY|</BODY|" , "|" , RGB (0, 0, 204), RGB (255, 255, 255), 9,  "Arial" , 0 ) 
                ;SyntaxHighlightingLine  (#Editor_1, "<script>|<SCRIPT>|</noscript>|</NOSCRIPT>|<script|<SCRIPT|</script>|</SCRIPT>|<noscript>|<NOSCRIPT>" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
               ; SyntaxHighlightingLine  (#Editor_1, "<!--|-->" , "|" , RGB (255, 0, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
                ;SyntaxHighlightingLine (#Editor_1, "<a>|</a>|<A>|</A>|<b>|</b>|<B>|</B>|<br>|</br>|<BR>|</BR>|<center>|</center>|<CENTER>|</CENTER>|<a|<A" , "|" , RGB (153, 102, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
                ;SyntaxHighlightingLine  (#Editor_1, "<div>|</div>|<DIV>|</DIV>|<div|<DIV|<font>|</font>|<FONT>|</FONT>|<h1>|</h1>|<H1>|</H1>|<h2>|</h2>|<H2>|</H2>|<h3>|</h3>|<H3>|</H3>|<h4>|</h4>|<H4>|</H4>|<h5>|</h5>|<H5>|</H5>|<h6>|</h6>|<H6>|</H6>|<hr>|</hr>|<HR>|</HR>" , "|" , RGB (51, 255, 51), RGB (255, 255, 255), 9, "Arial" , 0) 
                ;SyntaxHighlightingLine (#Editor_1, "<img>|</img>|<IMG>|</IMG>|<meta>|<META>|href" , "|" , RGB (255, 153, 0), RGB (255, 255, 255), 9, "Arial" , 0) 
                OldText = NewText 
            EndIf 
    ElseIf GadgetID = #Web_1
      
    ElseIf GadgetID = #Button_11
     SetClipboardText("<b> Taper votre code ici </b>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0)
    ElseIf GadgetID = #Button_12
     SetClipboardText("<i> Taper votre code ici </i>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_13
     SetClipboardText("<u> Taper votre code ici </u>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0)
    ElseIf GadgetID = #Button_14
     Chaine.s="<div align=*left*>Taper votre code ici </div>" 
     ReplaceString(Chaine,"*",Chr(34),2)
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine)
    ElseIf GadgetID = #Button_15
     Chaine.s="<div align=*center*> Taper votre code ici </div>" 
     ReplaceString(Chaine,"*",Chr(34),2)
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine) 
    ElseIf GadgetID = #Button_16
     Chaine.s="<div align=*right*>Taper votre code ici </div>" 
     ReplaceString(Chaine,"*",Chr(34),2)
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine)
    ElseIf GadgetID = #Button_17
     Chaine.s="<hr width=*100%*>" 
     ReplaceString(Chaine,"*",Chr(34),2)
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine)
    ElseIf GadgetID = #Button_18
     SetClipboardText("<br>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_19
     SetClipboardText("<blockquote> Taper votre code ici </blockquote>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_20
     SetClipboardText("<!-- Taper votre commentaire ici -->")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_21
     SetClipboardText("<var> Taper votre code ici </var>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_22
     SetClipboardText("<address> Taper votre code ici </address>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0)  
    ElseIf GadgetID = #Button_23
     SetClipboardText("<dfn> Taper votre code ici </dfn>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_24
     SetClipboardText("<font> Taper votre code ici </font>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0)  
    ElseIf GadgetID = #Button_25
     Chaine.s="<img border=*0* src=* * alt=* *>" 
     ReplaceString(Chaine,"*",Chr(34),2)
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine)  
    ElseIf GadgetID = #Button_26
     SetClipboardText("<sup> Taper votre code ici </sup>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0)  
    ElseIf GadgetID = #Button_27
     SetClipboardText("<p> Taper votre code ici </p>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_28
     SetClipboardText("<sub> Taper votre code ici </sub>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0)      
    ElseIf GadgetID = #Button_42
     Chaine.s="<table border=*1* bgcolor=* * width=* *> <tr> <td width=* *></td> </tr> </table>" 
     ReplaceString(Chaine,"*",Chr(34),2) 
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine)
    ElseIf GadgetID = #Button_43
     SetClipboardText("<tr>Taper votre texte ici</tr>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0)  
    ElseIf GadgetID = #Button_44
     Chaine.s="<td width=* *></td>" 
     ReplaceString(Chaine,"*",Chr(34),2) 
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine) 
    ElseIf GadgetID = #Button_45
     SetClipboardText("<th></th>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_46
     SetClipboardText("<caption></caption>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_47
     SetClipboardText("<H1>Taper votre texte ici</H1>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_48
     SetClipboardText("<H2>Taper votre texte ici</H2>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_49
     SetClipboardText("<H3>Taper votre texte ici</H3>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_50
     SetClipboardText("<H4>Taper votre texte ici</H4>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0)
    ElseIf GadgetID = #Button_51
     SetClipboardText("<H5>Taper votre texte ici</H5>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_52
     SetClipboardText("<H6>Taper votre texte ici</H6>")
     SendMessage_(GadgetID(#Editor_1),#WM_PASTE,0,0) 
    ElseIf GadgetID = #Button_53
     Chaine.s="<a href=* *><img border=*0* src=* *></a>" 
     ReplaceString(Chaine,"*",Chr(34),2) 
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine) 
    ElseIf GadgetID = #Button_54
     Chaine.s="<a href=*mailto:Indiquer l'adresse Email ici*><a/>" 
     ReplaceString(Chaine,"*",Chr(34),2) 
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine) 
    ElseIf GadgetID = #Button_55
     Chaine.s="<a href=* *></a>" 
     ReplaceString(Chaine,"*",Chr(34),2) 
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine) 
    ElseIf GadgetID = #Button_56
     Chaine.s="<a href=*javascript:window.external.addfavorite('http://www.votre-site.com','Nom de votre site ici')*>Ajouter aux favoris</a>" 
     ReplaceString(Chaine,"*",Chr(34),2) 
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine) 
    ElseIf GadgetID = #Button_57
     Chaine.s="<a href=*#* onClick=*this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.votre-site.com');*>Ajouter en page de démarrage</a>" 
     ReplaceString(Chaine,"*",Chr(34),2) 
     SendMessage_(GadgetID(#Editor_1),#EM_REPLACESEL,1,@Chaine) 
    ElseIf GadgetID = #Quitter
    CloseWindow(#Window_4)
    ElseIf GadgetID = #Outil
    CloseWindow(#Window_4)
    RunProgram("Update.exe") 
    ElseIf GadgetID = #PMenu_1
    
    ElseIf GadgetID = #PMenu_2
    
    ElseIf GadgetID = #PMenu_3
    
    ElseIf GadgetID = #PMenu_4
    
   EndIf
   
EndIf

    
Until Event = #PB_Event_CloseWindow; End of the event loop
End

Ce projet n'a jamais été optimisé ni terminé. :wink:

Re: Prévisualisation temps réel d'un fichier HTML

Publié : mer. 19/mai/2010 10:39
par jbernard13
merci pour ton code
cela permet d'apprendre la creation d'un editeur web