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
» Logiciel de planétarium.
 Création et gestion d’un livre  Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
 Création et gestion d’un livre  Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
 Création et gestion d’un livre  Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
 Création et gestion d’un livre  Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
 Création et gestion d’un livre  Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
 Création et gestion d’un livre  Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
 Création et gestion d’un livre  Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
 Création et gestion d’un livre  Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
 Création et gestion d’un livre  Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
 Création et gestion d’un livre  Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
 Création et gestion d’un livre  Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
 Création et gestion d’un livre  Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
 Création et gestion d’un livre  Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
 Création et gestion d’un livre  Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
 Création et gestion d’un livre  Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -17%
(Black Friday) Apple watch Apple SE GPS + Cellular ...
Voir le deal
249 €

 

  Création et gestion d’un livre

Aller en bas 
2 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
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 : 7017
Age : 74
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 : 7017
Age : 74
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 : 52
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
» panoramiQUE : Un BASIC complètement français !
» Création d'une Playlist
» creation d'un form

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: