FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Simuler l’appui de n’importe quelle touche.
par papydall Hier à 23:54

» Le Forum est en vacances.
par JL35 Hier à 21:20

» Une autre façon de terminer une application.
par JL35 Mar 22 Aoû 2017 - 14:27

» Compilateur FBPano
par Mike Lun 21 Aoû 2017 - 23:17

» Pb 20 (en analyse): plantage à l'appel d'un SUB
par Jack Lun 21 Aoû 2017 - 21:58

» Pb 19 (en analyse): libellé d'erreur dans des IF imbriqués
par Jack Lun 21 Aoû 2017 - 21:55

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Lun 21 Aoû 2017 - 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Lun 21 Aoû 2017 - 5:01

» Mettre en windows en veille
par papydall Lun 21 Aoû 2017 - 4:15

» Stretch_on ne stretch plus...
par papydall Dim 20 Aoû 2017 - 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Dim 20 Aoû 2017 - 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 BAS to HTML

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: BAS to HTML   Jeu 17 Déc 2015 - 4:20

Comme je suis dans ma période Html, voilà un petit outils
que je me suis fais. 
Il nécessite un fichier *.css pour le style et un fichier *.inf avec les mots clés Panoramic ( sans parenthèses )

Code:
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'                            BAS TO HTML VS 0.1
'                                    PAR
'                                 YGERONIMI
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

hide 0
Variables()
Labels()
Gui()
show 0

end

' ------------------------------------------------------------------------------

SUB Variables()
   dim Path$ : Path$=dir_current$
               if right$(Path$,1)="\" : Path$=left$(Path$,len(Path$)-1) : end_if
               Path$=Path$+"\"

   dim no%
   dim MM% : no%=no%+1 : MM%=no%
   dim SM1%: no%=no%+1 : SM1%=no%
   dim SRC%: no%=no%+1 : SRC%=no%
   dim ODG%: no%=no%+1 : ODG%=no%
   dim Kword% : no%=no%+1 : Kword%=no%
  
   dim F_FileInfo% : no%=no%+1 : F_FileInfo%=no%
   dim Alp_TIT%    : no%=no%+1 : Alp_TIT%   =no%
   dim Alp_AUT%    : no%=no%+1 : Alp_AUT%   =no%
   dim Alp_VER%    : no%=no%+1 : Alp_VER%   =no%
   dim Edi_TIT%    : no%=no%+1 : Edi_TIT%   =no%
   dim Edi_AUT%    : no%=no%+1 : Edi_AUT%   =no%
   dim Edi_VER%    : no%=no%+1 : Edi_VER%   =no%
   dim But1%       : no%=no%+1 : But1%      =no%
  
   dim F_KeyWords% : no%=no%+1 : F_KeyWords%=no%
  
   dim FOW%        : no%=no%+1 : FOW%       =no%
   dim MES%
  
   dim Change%
  
   dim KWliste$    : KWliste$ = Path$+"Panoramic.inf"
   dim FileSrc$
   dim FileHref$
  
   dim Title$
   dim Author$
   dim Version$
END_SUB

' ------------------------------------------------------------------------------

SUB Labels()
   LABEL Open
   LABEL SaveInfo
   LABEL Change
   LABEL CloseInfo
END_SUB

' ------------------------------------------------------------------------------

SUB Gui()
   Height 0,700
   width 0,1200
   top 0,(screen_y-height(0))/2
   left 0,(screen_x-width(0))/2

   MAIN_MENU MM%
   SUB_MENU SM1% : parent SM1%,MM% : caption SM1%,"Open"    : on_click SM1%,Open

   LIST SRC%
   full_space SRC%
   font_name SRC%,"Courier New"
   font_size SRC%,10
  
   dlist Kword%
   if file_exists(KWliste$)=1
      file_load Kword%,KWliste$
   else
      MES%=message_warning_ok("Fichier des mots clés introuvable !")
   end_if
END_SUB

' ------------------------------------------------------------------------------

Open:
   OPEN_DIALOG ODG%
   dir_dialog ODG%,":\"
   filter ODG%,"*.bas|*.bas"
   FileSrc$ = file_name$(ODG%)
   if fileSrc$<>"_"
      file_load SRC%,FileSrc$
      FormFileInfo()
   end_if
   delete ODG%
return

' ------------------------------------------------------------------------------

Param:
   if number_click = SM3%
      FormKeyWords()
      return
   end_if
   if number_click = SM4%
  
      return
   end_if
return

' ------------------------------------------------------------------------------

SUB FormFileInfo()
   if object_exists(F_FileInfo%)=1
      show F_FileInfo%
   else
      FORM F_FileInfo%
      height F_FileInfo%,220
      width F_FileInfo%,400
      top F_FileInfo%,(screen_y-height(F_FileInfo%))/2
      left F_FileInfo%,(screen_x-width(F_FileInfo%))/2
      caption F_FileInfo%,"INFOS FICHIER SOURCE"
      on_close F_FileInfo%,CloseInfo
      
      font_name F_FileInfo%,"Arial"
      font_size F_FileInfo%,8
      
      alpha Alp_TIT%
      parent Alp_TIT%,F_FileInfo%
      top Alp_TIT%,10
      left Alp_TIT%,10
      caption Alp_TIT%,"Nom du programme :"
      
      edit Edi_TIT%
      parent Edi_TIT%,F_FileInfo%
      top Edi_TIT%,25
      left Edi_TIT%,10
      width Edi_TIT%,width(F_FileInfo%)-36
      on_change Edi_TIT%,Change

      alpha Alp_AUT%
      parent Alp_AUT%,F_FileInfo%
      top Alp_AUT%,50
      left Alp_AUT%,10
      caption Alp_AUT%,"Auteur :"
      
      edit Edi_AUT%
      parent Edi_AUT%,F_FileInfo%
      top Edi_AUT%,65
      left Edi_AUT%,10
      width Edi_AUT%,width(F_FileInfo%)-36
      on_change Edi_AUT%,Change
      
      alpha Alp_VER%
      parent Alp_VER%,F_FileInfo%
      top Alp_VER%,90
      left Alp_VER%,10
      caption Alp_VER%,"Version :"
      
      edit Edi_VER%
      parent Edi_VER%,F_FileInfo%
      top Edi_VER%,105
      left Edi_VER%,10
      width Edi_VER%,120
      
      button But1%
      parent But1%,F_FileInfo%
      top But1%,height(F_FileInfo%)-68
      left But1%,width(F_FileInfo%)-(width(But1%)+21)
      caption But1%,"Save"
      cursor_point But1%
      on_click But1%,SaveInfo
   end_if
  
   text Edi_TIT%,""
   text Edi_AUT%,""
   text Edi_VER%,""
END_SUB

' ------------------------------------------------------------------------------

SaveInfo:
   if len(text$(Edi_TIT%))=0 or len(text$(Edi_AUT%))=0 or len(text$(Edi_VER%))=0
      MES%=message_warning_Ok("Tous les champs doivent être renseignés !...")
      return
   end_if
   Title$  = text$(Edi_TIT%)
   Author$ = text$(Edi_AUT%)
   Version$= text$(Edi_VER%)
   FileHref$ = Path$+Title$+".html"
   Hide F_FileInfo%
   TranslateBasToHtml()
return

' ------------------------------------------------------------------------------

Change:
   if variable("cp%")=0 then dim cp%
   change% = number_change
   if change% = Edi_TIT% or change% = Edi_AUT%
      off_change change%
         cp%=caret_position(change%)
         text change%,upper$(text$(change%))
         caret_position change%,cp%
      on_change change%,Change
      return
   end_if
return

' ------------------------------------------------------------------------------

CloseInfo:
   Clear SRC%
return

' ------------------------------------------------------------------------------

SUB TranslateBasToHtml()
   dim_local i%,l$,x%,car$,vcar%,l2$,sep%,sep2%,a$,b$,c$,d$,k$
  
   for i%=1 to count(SRC%)
      l$=item_read$(SRC%,i%)
      l$=l$+chr$(32)
      item_delete SRC%,i%
      item_insert SRC%,i%,l$
   next i%
  
   file_open_write FOW%,FileHref$
   file_writeln FOW%,"<!DOCTYPE HTML>"
   file_writeln FOW%,"<HTML>"
   file_writeln FOW%,chr$(9)+"<HEAD>"
   file_writeln FOW%,string$(2,chr$(9))+"<TITLE>"+Title$+"</TITLE>"
   file_writeln FOW%,string$(2,chr$(9))+"<META http-equiv="+chr$(34)+"Content-Type"+chr$(34)+" content="+chr$(34)+"text/html; charset=UTF-8"+chr$(34)+"/>"
   file_writeln FOW%,string$(2,chr$(9))+"<META name="+chr$(34)+"author"+chr$(34)+" content="+chr$(34)+Author$+chr$(34)+"/>"
   file_writeln FOW%,string$(2,chr$(9))+"<META name="+chr$(34)+"description"+chr$(34)+" content="+chr$(34)+"Version "+Version$+chr$(34)+">"
   file_writeln FOW%,string$(2,chr$(9))+"<LINK href="+chr$(34)+"Panoramic.css"+chr$(34)+" rel="+chr$(34)+"stylesheet"+chr$(34)+" type="+chr$(34)+"text/css"+chr$(34)+">"
   file_writeln FOW%,chr$(9)+"</HEAD>"
   file_writeln FOW%,chr$(9)+"<BODY>"
   file_writeln FOW%,string$(2,chr$(9))+"<Div id="+chr$(34)+"titre"+chr$(34)+">"
   file_writeln FOW%,string$(2,chr$(9))+title$
   file_writeln FOW%,string$(2,chr$(9))+"</Div>"
   file_writeln FOW%,string$(2,chr$(9))+"<Div id="+chr$(34)+"version"+chr$(34)+">"
   file_writeln FOW%,string$(2,chr$(9))+"Version : "+Version$
   file_writeln FOW%,string$(2,chr$(9))+"</Div>"
   file_writeln FOW%,string$(2,chr$(9))+"<Div id="+chr$(34)+"auteur"+chr$(34)+">"
   file_writeln FOW%,string$(2,chr$(9))+"Auteur : "+Author$
   file_writeln FOW%,string$(2,chr$(9))+"</Div>"
   file_writeln FOW%,string$(2,chr$(9))+"<Div id="+chr$(34)+"description"+chr$(34)+">"
   file_writeln FOW%,string$(2,chr$(9))+"</Div>"
   file_writeln FOW%,string$(2,chr$(9))+"<Div id="+chr$(34)+"source"+chr$(34)+">"
   file_writeln FOW%,string$(3,chr$(9))+"<Code>"
  


   for i%=1 to count(SRC%)
      caption 0,str$(i%)+" / "+str$(count(SRC%))
      l$=item_read$(SRC%,i%)

'     traitement des caractères accentués
      for x%=1 to len(l$)
         car$  = mid$(l$,x%,1)
         vcar% = asc(car$)
         if vcar% = 233 or vcar% = 232 or vcar% = 234 or vcar% = 235 : vcar% = 101 : end_if
         if vcar% = 224 : vcar% = 97 : end_if
         if vcar% = 249 : vcar% = 117 : end_if
         l2$= l2$+ chr$(vcar%)
      next x%
      
'     traitement des textes
      sep% = instr(l2$,chr$(34))
      if sep% > 0
         a$=left$(l2$,sep%-1)
         a$=a$+"<span1>"+chr$(34)
         b$=right$(l2$,len(l2$)-sep%)
         sep2% = instr(b$,chr$(34))
         if sep2% > 0
            c$=left$(b$,sep2%)
            c$=c$+"</span1>"
            d$=right$(b$,len(b$)-sep2%)
         end_if
         l2$=a$+c$+d$
      end_if
      
'     traitement des commentaires
      sep% = instr(l2$,"rem ")
      if sep% > 0
         sep% = sep%+2
         a$ = left$(l2$,sep%)
         b$ = right$(l2$,len(l2$)-sep%)
         l2$= a$+"<span2>"+b$+"</span2>"
      end_if
      sep% = instr(l2$,"REM ")
      if sep% > 0
         sep% = sep%+2
         a$ = left$(l2$,sep%)
         b$ = right$(l2$,len(l2$)-sep%)
         l2$= a$+"<span2>"+b$+"</span2>"
      end_if
      sep% = instr(l2$,"Rem ")
      if sep% > 0
         sep% = sep%+2
         a$ = left$(l2$,sep%)
         b$ = right$(l2$,len(l2$)-sep%)
         l2$= a$+"<span2>"+b$+"</span2>"
      end_if
      sep% = instr(l2$,chr$(39)+chr$(32))
      if sep% > 0
         a$ = left$(l2$,sep%-1)
         b$ = right$(l2$,len(l2$)-sep%-1)
         l2$= a$+"<span2>"+"' "+b$+"</span2>"
      end_if
      
'     traitement des mots clés
      if instr(l2$,"<span2>")=0
      for x% = 1 to count(Kword%)
         K$=item_read$(Kword%,x%)
         sep%=instr(l2$,k$)
         if sep% > 0
            if mid$(l2$,sep%+len(k$),1)=chr$(32) or mid$(l2$,sep%+len(k$),1)="("
               sep%=sep%-1
               a$=left$(l2$,sep%)
               a$=a$+"<span>"
               sep%=sep%+len(k$)
               b$= right$(l2$,len(l2$)-sep%)
               l2$=a$+k$+"</span>"+b$
            end_if
         else
            sep%=instr(l2$,lower$(k$))
            if sep% > 0
               if mid$(l2$,sep%+len(k$),1)=chr$(32) or mid$(l2$,sep%+len(k$),1)="("
                  sep%=sep%-1
                  a$=left$(l2$,sep%)
                  a$=a$+"<span>"
                  sep%=sep%+len(k$)
                  b$= right$(l2$,len(l2$)-sep%)
                  l2$=a$+k$+"</span>"+b$
               end_if
            end_if
         end_if
      next x%
      end_if
      
      file_writeln FOW%,string$(4,chr$(9))+l2$+"<br>"
      l2$=""
   next i%
  
   file_writeln FOW%,string$(3,chr$(9))+"</Code>"
   file_writeln FOW%,string$(2,chr$(9))+"</Div>"
   file_writeln FOW%,chr$(9)+"</BODY>"
   file_writeln FOW%,"</HTML>"
   file_close FOW%
END_SUB

Fichier *.css:
 

Fichier *.inf:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5523
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: BAS to HTML   Jeu 17 Déc 2015 - 5:20

Very good, but …
Eh oui, il y a un mais !
Ligne 51
Code:

dim Version$

Erreur :   Name already defined. Line : 51

En effet, la version actuelle (V 0.9.27i5) définit elle-même la variable système VERSION$ qui   retourne la version de PANORAMIC.

J’ai modifié partout dans le code version$ par version1$ et ça a marché comme sur des roulettes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: BAS to HTML   Jeu 17 Déc 2015 - 9:21

En sachant que les traitements de textes gèrent le HTML, ça permetera d'avoir de beaux programmes dans les articles aussi Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 17 Déc 2015 - 20:35

@ Jicehel,

Cet "Utilitaire" est en prévision pour le mag mais pas pour la rubrique "Articles"... Evil or Very Mad
Je pensais plutôt à une rubrique "Tutos"... Twisted Evil

@ Papydall,

Je vais corriger chez moi et je remettrai en ligne avec une petite évolution dans quelques temps.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 17 Déc 2015 - 22:59

Voilà une version ou l' on peut ajouter une description du programme avant le code source.

*.bas:
 

le css qui pourrait servir dans Le Mag
*.css:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: BAS to HTML   

Revenir en haut Aller en bas
 
BAS to HTML
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Annulée] Demande une page HTML
» [résolu] Lien dans image survolée vers page html
» besion d'aide language html lecteur de musique !! (Résolu)
» Xhtml/css: integrer une video avec html
» fond noir qui n'apparait pas en html résolu

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: