FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» 2D_fill_color
 Création et gestion d’un livre  Emptypar papydall Aujourd'hui à 14:47

» Consommation gaz électricité
 Création et gestion d’un livre  Emptypar leclode Mer 17 Avr 2024 - 11:07

» trop de fichiers en cours
 Création et gestion d’un livre  Emptypar lepetitmarocain Mer 17 Avr 2024 - 10:19

» on_key_down (résolu)
 Création et gestion d’un livre  Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
 Création et gestion d’un livre  Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

» Bataille-navale
 Création et gestion d’un livre  Emptypar jjn4 Mer 3 Avr 2024 - 14:08

» Minimiser une fenêtre Panoramic.
 Création et gestion d’un livre  Emptypar Pedro Mar 2 Avr 2024 - 13:50

» Récapitulatif ludothèque panoramic jjn4
 Création et gestion d’un livre  Emptypar jjn4 Lun 1 Avr 2024 - 18:04

» demande explication KGF pour imprimer en mm
 Création et gestion d’un livre  Emptypar JL35 Jeu 28 Mar 2024 - 17:28

» Petit passage furtif
 Création et gestion d’un livre  Emptypar Froggy One Mer 27 Mar 2024 - 14:26

» SPIN et aide langage (résolu)
 Création et gestion d’un livre  Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
 Création et gestion d’un livre  Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
 Création et gestion d’un livre  Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
 Création et gestion d’un livre  Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
 Création et gestion d’un livre  Emptypar Klaus Dim 3 Mar 2024 - 9:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

 

  Création et gestion d’un livre

Aller en bas 
2 participants
AuteurMessage
papydall

papydall


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

 Création et gestion d’un livre  Empty
MessageSujet: Création et gestion d’un livre     Création et gestion d’un livre  EmptyJeu 8 Mar 2018 - 14:43

Code:

rem ============================================================================
rem       Création et gestion d’un livre
rem              Par Papydall          
rem ============================================================================  
rem Le programme affiche un livre et gère son ouverture et le feuilletage de
rem ses pages.
rem Avant de lancer le programme :
rem Indiquez dans procédure SUB Init() le titre du livre, le nom de l’auteur et
rem le nombre de pages du livre (lignes 33 à 35).
rem Les pages du livre créé sont numérotées, mais elles sont encore vierges
rem (des pages blanches).
rem ============================================================================  
rem Pour rédiger les contenus des différentes pages : ajoutez votre code dans
rem la procédure SUB Rediger_Pages() et les procédures suivantes
rem ============================================================================
rem Voici un exemple de livre de 6 pages toutes vierges
rem ============================================================================

Init()
GUI()
Livre(titre$,auteur$,nb_page)  

end

rem ============================================================================
SUB Init()
    label Gestion_Clic
    dim xc,yc,x,y,nb_page,i
    dim titre$,auteur$
    width 0,screen_x -100 : height 0,screen_y-100
    top 0,(screen_y - height(0))/2 : left 0, (screen_x - width(0))/2
    xc = width(0)/2 : yc = height(0)/2
    titre$ = "Exemple de livre" : ' Titre du livre           (à adapter)
    auteur$ = "Papydall"        : ' Nom de l'auteur          (à adapter)
    nb_page = 6                 : ' Nombre des pages du live (à adapter)
END_SUB
rem ============================================================================
SUB GUI()
    color 0,0,0,128
    alpha 10 : top 10,20 : left 10, xc-150 : font_bold 10 : font_size 10,24 : hide 10
    font_name 10,"arial" : font_color 10,255,255,255 : caption 10,titre$
    picture 100 : width 100,xc-100 : height 100,2*yc-150
    top 100,80 : left 100,xc-width(100)/2 : on_click 100,Gestion_Clic : hide 100
    cursor_point 100 : font_name 100,"arial" : font_bold 100 : font_size 100,34
    font_color 100,255,255,255
END_SUB
rem ============================================================================
SUB Livre(titre$,auteur$,nb_page)
    dim_local i, t$
    caption 0,"Cliquer sur le livre pour l'ouvrir"
    for i = 101 to 100+nb_page
        picture i : width i,width(100) : height i,height(100) : top i,80
        if even(i) = 0 then left i,80 : else : left i,xc+30
        on_click i,Gestion_Clic : hide i : cursor_point i
        font_bold i : font_name i,"comic sans ms" : font_size i,18
        Afficher_Page(i)
    next i
    Rediger_Pages()
    t$ = "Cliquer sur le livre pour l'ouvrir ...."
    t$ = t$ + " ou sur la croix rouge pour quitter ..."
    2d_target_is 100 : print_target_is 100
    2d_fill_color 150,100,50 : 2d_rectangle 0,0,width(100),height(100)
    2d_pen_width 5  : 2d_pen_color 250,150,25 : 2d_line 20,0,20,height(100)
    print_locate 150,050 : print titre$
    font_size 100,24 : print_locate 150,height(100)-100 : print "Auteur : " + auteur$
    show 100
END_SUB
rem ============================================================================
SUB Afficher_Page(p)  
    print_target_is p : font_color p,0,0,0 : 2d_fill_color 255,255,255
    font_size p,10 : font_name p,"comic sans ms"
    2d_target_is p : 2d_pen_color 0,0,0
    if odd(p) > 0      
       if p > 101                 : ' Si on est dans une page impaire autre que la 1ere
          2d_line 1,1,1,height(p) : ' On trace 3 traits verticaux...
          2d_line 3,1,3,height(p) : ' ... pour donner l'impression ...
          2d_line 5,1,5,height(p) : ' ... qu'on a déjà feuilleté quelques pages
       end_if
       print_locate 010,height(p)-50
    else
       if p < 100 + nb_page : ' Si on est dans une page paire autre que la dernière
          2d_line width(p)-7,1,width(p)-7,height(p) : ' On trace 3 traits verticaux ...
          2d_line width(p)-5,1,width(p)-5,height(p) : ' ... pour donner l'impression ...
          2d_line width(p)-3,1,width(p)-3,height(p) : ' qu'il reste encore d'autres pages    
       end_if
       print_locate width(p)-70,height(p)-50  
    end_if
    print "Page " + str$(p-100)    
END_SUB
rem ============================================================================
SUB Ouvrir_Livre()
    dim_local i,j,t$
    t$ = "Cliquer sur les pages pour feuilleter le livre ..."
    t$ = t$ + " ou sur la croix rouge pour quitter ..."
    for i = 100 to 100 + nb_page : off_click i : next i
    caption 0,t$
    hide 100 : 2d_target_is 0 : print_target_is 0
    2d_fill_color 150,50,20 : 2d_pen_color 10,0,0 : 2d_pen_width 5
    if even(number_click) > 0
       for i = 2*xc-50 to 30 step -5
           2d_rectangle i,60,2*xc-50,2*yc-50 : pause 1  
       next i
    else
       for i = 30 to 2*xc-50 step 5
           2d_rectangle 30,60,i,2*yc-50 : pause 1
       next i
    end_if
    for i = xc-10 to xc+10
        2d_pen_color 12.5*abs(xc-i),12.5*abs(xc-i),12.5*abs(xc-i)
        2d_line i,top(100),i,top(100) + height(100)
    next i
    2d_fill_color 255,255,255 : show 10
    for i = 101 to 100 + nb_page : Afficher_Page(i) : on_click i,Gestion_Clic : next i
END_SUB
rem ============================================================================
Gestion_Clic:
    Ouvrir_Livre()  
    i = number_click
    if i = 100             : ' On a cliqué sur le livre ?
       show 101 : show 102 : ' alors afficher la page 1 et la page 2
       return
    end_if
    if i = 101 : ' On a cliqué sur la page 1, alors on ferme le livre    
       hide 10 : hide 101 : hide 102 : show 100
       2d_target_is 0 : cls : on_click 100,Gestion_Clic      
       caption 0,"Cliquer sur le livre pour l'ouvrir ....  ou sur la croix rouge pour quitter ..."
       return
    end_if
    
    if i > 101 and i < 100 + nb_page : ' On a cliqué sur les pages entre la 2ème et l'avant dernière  
       if even(i) = 1                : ' On a cliqué sur une page dont le N° est pair ?
          show i+1 : show i+2        : ' alors, on affiche les 2 pages suivantes
       else                          : ' On a cliqué sur une page dont le N° est impair ?
          hide i : hide i+1 : show i-2 : show i-1 : ' alors, on affiche les 2 pages précédentes
       end_if    
    end_if
    
    if i = 100 + nb_page  : ' On a cliqué sur la dernière page ?
       for i = 101 to 100 + nb_page : hide i : next i : ' Alors on cache tout
       hide 10 : show 100 : 2d_target_is 0 : cls      : ' et on ferme le livre
       caption 0,"Cliquer sur le livre pour l'ouvrir ....  ou sur la croix rouge pour quitter ..."  
       on_click 100,Gestion_Clic      
    end_if
return
rem ============================================================================
' Adaptez cette procédure selon votre projet
SUB Rediger_Pages()
    Page_1()    : ' 1ère page
    Page_2()    : ' 2eme page
    ' ...       : ' etc.
    ' Page_N()  : ' dernière page
END_SUB
rem ============================================================================
SUB Page_1()
    2d_target_is 101 : print_target_is 101
    ' coder ici le contenu de la page
    ' Affichage de texte, graphique ou chargement d'images à partir de fichiers
    ' externes
  
END_SUB
rem ============================================================================
SUB Page_2()
    2d_target_is 102 : print_target_is 102
    ' Comme la Page_1
END_SUB
rem ============================================================================
' Les pages suivantes
' ...
' La dernière page
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

 Création et gestion d’un livre  Empty
MessageSujet: Re: Création et gestion d’un livre     Création et gestion d’un livre  EmptyJeu 8 Mar 2018 - 15:25

Voici un programme exemple pour créer un livre de 4 pages.
Cliquez sur le livre pour l'ouvrir.
Cliquez dans les pages pour feuilleter le livre (en avant ou en arrière)



Code:

rem ============================================================================
rem       Test de Création et gestion d’un livre
rem                  Par Papydall          
rem ============================================================================  
rem Voici un exemple de livre de 4 pages affichant une fable oubliée de Lafontaine
rem ============================================================================

Init()
GUI()
Livre(titre$,auteur$,nb_page)  

end

rem ============================================================================
SUB Init()
    label Gestion_Clic
    dim xc,yc,x,y,nb_page,i
    dim titre$,auteur$
    width 0,screen_x -100 : height 0,screen_y-100
    top 0,(screen_y - height(0))/2 : left 0, (screen_x - width(0))/2
    xc = width(0)/2 : yc = height(0)/2
    titre$ = "La fable oubliée" : ' Titre du livre           (à adapter)
    auteur$ = "Papydall"        : ' Nom de l'auteur          (à adapter)
    nb_page = 4                 : ' Nombre des pages du live (à adapter)
END_SUB
rem ============================================================================
SUB GUI()
    color 0,0,0,128
    alpha 10 : top 10,20 : left 10, xc-150 : font_bold 10 : font_size 10,24 : hide 10
    font_name 10,"arial" : font_color 10,255,255,255 : caption 10,titre$
    picture 100 : width 100,xc-100 : height 100,2*yc-150
    top 100,80 : left 100,xc-width(100)/2 : on_click 100,Gestion_Clic : hide 100
    cursor_point 100 : font_name 100,"arial" : font_bold 100 : font_size 100,34
    font_color 100,255,255,255
END_SUB
rem ============================================================================
SUB Livre(titre$,auteur$,nb_page)
    dim_local i, t$
    caption 0,"Cliquer sur le livre pour l'ouvrir"
    for i = 101 to 100+nb_page
        picture i : width i,width(100) : height i,height(100) : top i,80
        if even(i) = 0 then left i,80 : else : left i,xc+30
        on_click i,Gestion_Clic : hide i : cursor_point i
        font_bold i : font_name i,"comic sans ms" : font_size i,18
        Afficher_Page(i)
    next i
    Rediger_Pages()
    t$ = "Cliquer sur le livre pour l'ouvrir ...."
    t$ = t$ + " ou sur la croix rouge pour quitter ..."
    2d_target_is 100 : print_target_is 100
    2d_fill_color 150,100,50 : 2d_rectangle 0,0,width(100),height(100)
    2d_pen_width 5  : 2d_pen_color 250,150,25 : 2d_line 20,0,20,height(100)
    print_locate 150,050 : print titre$
    font_size 100,24 : print_locate 150,height(100)-100 : print "Auteur : " + auteur$
    show 100
END_SUB
rem ============================================================================
SUB Afficher_Page(p)  
    print_target_is p : font_color p,0,0,0 : 2d_fill_color 255,255,255
    font_size p,10 : font_name p,"comic sans ms"
    2d_target_is p : 2d_pen_color 0,0,0
    if odd(p) > 0      
       if p > 101                 : ' Si on est dans une page impaire autre que la 1ere
          2d_line 1,1,1,height(p) : ' On trace 3 traits verticaux...
          2d_line 3,1,3,height(p) : ' ... pour donner l'impression ...
          2d_line 5,1,5,height(p) : ' ... qu'on a déjà feuilleté quelques pages
       end_if
       print_locate 010,height(p)-50
    else
       if p < 100 + nb_page : ' Si on est dans une page paire autre que la dernière
          2d_line width(p)-7,1,width(p)-7,height(p) : ' On trace 3 traits verticaux ...
          2d_line width(p)-5,1,width(p)-5,height(p) : ' ... pour donner l'impression ...
          2d_line width(p)-3,1,width(p)-3,height(p) : ' qu'il reste encore d'autres pages    
       end_if
       print_locate width(p)-70,height(p)-50  
    end_if
    print "Page " + str$(p-100)    
END_SUB
rem ============================================================================
SUB Ouvrir_Livre()
    dim_local i,j,t$
    t$ = "Cliquer sur les pages pour feuilleter le livre ..."
    t$ = t$ + " ou sur la croix rouge pour quitter ..."
    for i = 100 to 100 + nb_page : off_click i : next i
    caption 0,t$
    hide 100 : 2d_target_is 0 : print_target_is 0
    2d_fill_color 150,50,20 : 2d_pen_color 10,0,0 : 2d_pen_width 5
    if even(number_click) > 0
       for i = 2*xc-50 to 30 step -5
           2d_rectangle i,60,2*xc-50,2*yc-50 : pause 1  
       next i
    else
       for i = 30 to 2*xc-50 step 5
           2d_rectangle 30,60,i,2*yc-50 : pause 1
       next i
    end_if
    for i = xc-10 to xc+10
        2d_pen_color 12.5*abs(xc-i),12.5*abs(xc-i),12.5*abs(xc-i)
        2d_line i,top(100),i,top(100) + height(100)
    next i
    2d_fill_color 255,255,255 : show 10
    for i = 101 to 100 + nb_page : Afficher_Page(i) : on_click i,Gestion_Clic : next i
END_SUB
rem ============================================================================
Gestion_Clic:
    Ouvrir_Livre()  
    i = number_click
    if i = 100             : ' On a cliqué sur le livre ?
       show 101 : show 102 : ' alors afficher la page 1 et la page 2
       return
    end_if
    if i = 101 : ' On a cliqué sur la page 1, alors on ferme le livre    
       hide 10 : hide 101 : hide 102 : show 100
       2d_target_is 0 : cls : on_click 100,Gestion_Clic      
       caption 0,"Cliquer sur le livre pour l'ouvrir ....  ou sur la croix rouge pour quitter ..."
       return
    end_if
    
    if i > 101 and i < 100 + nb_page : ' On a cliqué sur les pages entre la 2ème et l'avant dernière  
       if even(i) = 1                : ' On a cliqué sur une page dont le N° est pair ?
          show i+1 : show i+2        : ' alors, on affiche les 2 pages suivantes
       else                          : ' On a cliqué sur une page dont le N° est impair ?
          hide i : hide i+1 : show i-2 : show i-1 : ' alors, on affiche les 2 pages précédentes
       end_if    
    end_if
    
    if i = 100 + nb_page  : ' On a cliqué sur la dernière page ?
       for i = 101 to 100 + nb_page : hide i : next i : ' Alors on cache tout
       hide 10 : show 100 : 2d_target_is 0 : cls      : ' et on ferme le livre
       caption 0,"Cliquer sur le livre pour l'ouvrir ....  ou sur la croix rouge pour quitter ..."  
       on_click 100,Gestion_Clic      
    end_if
return
rem ============================================================================
SUB Rediger_Pages()
    Page_1()
    Page_2()
    Page_3()
    Page_4()
END_SUB
rem ============================================================================
SUB Page_1()
    print_target_is 101  
    font_size 101,22 : font_color 101,200,50,20  
    print_locate 100,100 : print "Jean de la Fontaine"
    print_locate 100,150 : print "avait oublié une fable ..."
    print_locate 100,200 : print "... l'oubli est réparé ..."
END_SUB
rem ============================================================================
SUB Page_2()
    font_size 102,14 : font_color 102,200,50,20
    print_target_is 102
    print_locate 100,020 : print "Le Corbeau et le Lapin"
    print_locate 100,070 : print "Le Corbeau sur un arbre perché"
    print_locate 100,100 : print "Ne foutait rien de la journée"
    print_locate 100,130 : print "Le Lapin voyant le corbeau"
    print_locate 100,160 : print "L'interpella et lui dit aussitôt :"
    print_locate 100,190 : print "Moi aussi, comme toi, puis-je m'asseoir"
    print_locate 100,220 : print "Et ne rien foutre du matin jusqu'au soir ?"
    print_locate 100,250 : print "Le Corbeau lui répondit de sa branche :"
    print_locate 100,280 : print "Bien sûr, ami à la queue blanche,"
    print_locate 100,310 : print "Dans l'herbe verte tu peux te coucher,"
    print_locate 100,340 : print "Et ainsi de la vie profiter."
    print_locate 100,370 : print "Blanc Lapin, s'assit alors par terre,"
    print_locate 100,400 : print "Et sous l'arbre resta à ne rien faire,"
    print_locate 100,430 : print "Tant et si bien qu'un renard affamé"
    print_locate 100,460 : print "Voyant ainsi le Lapin somnoler,"
    print_locate 100,490 : print "S'approcha du rongeur en silence,"
    print_locate 100,520 : print "et d'une bouchée en fit sa pitance"
                                    
END_SUB
rem ============================================================================
SUB Page_3()
    font_size 103,20 : font_color 103,200,50,20
    print_target_is 103

    print_locate 100,200 : print "Moralité"
    print_locate 100,250 : print "Pour rester assis à ne rien branler"
    print_locate 100,300 : print "Il vaut mieux être très haut placé"
END_SUB
rem ============================================================================
SUB Page_4()
    font_size 104,40 : font_color 104,200,50,20
    print_target_is 104
    print_locate 200,300 : print "F I N"
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

 Création et gestion d’un livre  Empty
MessageSujet: Re: Création et gestion d’un livre     Création et gestion d’un livre  EmptyVen 9 Mar 2018 - 17:46

Sur un autre post

Jicehel a écrit:
Ce sujet que j'avais en tête m'est revenu avec le livre de Papydall …

J’avais cru qu’on a perdu le goût de lire des livres ! Sad
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

 Création et gestion d’un livre  Empty
MessageSujet: Re: Création et gestion d’un livre     Création et gestion d’un livre  EmptySam 10 Mar 2018 - 12:36

Mais non mais non Papydall même si je t'avoue que les seuls livres que je lis depuis près de 2 ans sont des BD (à quelques livres prêt) mais c'est plutôt par manque de temps et par ce que les jeux en prennent bcp ...
Revenir en haut Aller en bas
Contenu sponsorisé





 Création et gestion d’un livre  Empty
MessageSujet: Re: Création et gestion d’un livre     Création et gestion d’un livre  Empty

Revenir en haut Aller en bas
 
Création et gestion d’un livre
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Mon livre de cuisine
» Je vous livre mes premiers codes sources
» Création d'une Playlist
» Création d'une application avec Panoramic_Editor
» Création d'un nouvel IDE

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