Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Créer une liste d'articles avec l'objet LIST Ven 9 Déc 2022 - 15:56 | |
| Bonjour à tous ! Voici un modèle d’utilitaire pour créer aisément une liste d’articles. C’est une démonstration de la puissance de l’objet LIST de PANORAMIC et de ses commandes. L’objet LIST est donc mis à l’honneur avec : - un tri automatique des articles saisis ; - une gestion complète d’édition (Nouvelle entrée, modifier un article déjà présent, supprimer un article) ; - une détection des doublons ; - un comptage du nombre d’articles ; - une sauvegarde automatique des données. Tout ceci en moins de 200 lignes de code ! Utilisation :1) Ajout d’un article.Cliquez sur Nouveau, Dans la zone de saisie, tapez le nom de l’article, Cliquez sur Valider. Si l’article existe déjà, un message vous avertira, le doublon sera refusé. 2) Modifier un article.Dans la liste, cliquez sur l’article à modifier. Il s’affichera dans la zone de saisie. Corrigez le texte puis cliquez sur Valider. 3) Supprimer un article.Dans la liste, cliquez sur l’article à supprimer. Il s’affichera dans la zone de saisie. Cliquez sur Supprimer. La sauvegarde des données est automatique lors de la fermeture du programme. A chaque modification, la liste est retriée automatiquement. Si le nombre d’articles dépasse la hauteur d’affichage de la liste, un ascenseur apparaitra pour opérer un défilement vertical. Liste des principaux mots-clés utilisés autour de l'objet LIST : - SORT_ON
- ITEM_ADD
- ITEM_SELECT
- ITEM_DELETE
- ITEM_READ$(N,L)
- ITEM_INDEX(N)
- ITEM_INDEX$(N)
- COUNT(N)
- Code:
-
' Objet LIST et ses commandes ' Marc - Décembre 2022 ' Ecrit en langage PANORAMIC 0.9.29.i9
label nouveau, supprimer, valider, selection, redim_0, quitter
interfaceUtilisateur()
end ' ------------------------------------------------------------------------------ sub interfaceUtilisateur() border_small 0
height 0,height(0) - height_client(0) + 455 width 0,width(0) - width_client(0) + 350
' centrer la fenêtre principale sur l'écran top 0,(screen_y - height(0))/2 left 0,(screen_x - width(0))/2
on_resize 0,redim_0
font_size 0,10 caption 0,"PANORAMIC"
' couleur de fond de la fenêtre picture 1 full_space 1 color 1,143,191,233 ' affichage de la liste à éditer list 2 left 2,25 top 2,60 height 2,370 width 2,130 sort_on 2 on_click 2,selection ' Zone d'édition edit 3 left 3,192 top 3,156 height 3,25
' bouton nouveau button 4 left 4,215 top 4,240 caption 4,"Nouveau" on_click 4,nouveau
' bouton Supprimer button 5 left 5,215 top 5,290 caption 5,"Supprimer" on_click 5,supprimer ' bouton Valider button 6 left 6,215 top 6,340 caption 6,"Valider" on_click 6,valider
' affichage du nombre d'articles alpha 7 color 7,143,191,233 font_color 7,0,0,255 font_name 7,"Calibri" font_size 7,14 left 7,210 top 7,80 print_target_is 1 2d_target_is 1 2d_fill_color 143,191,233 font_size 1,10 print_locate 195,140 print "Zone de saisie :"
' Titre font_color 1,0,0,0 font_size 1,24 font_name 1,"Calibri" print_locate 109,10 print "Objet LIST" ' charger le fichier d'enregistrement des données de la liste if file_exists("ma_liste.txt") = 1 file_load 2,"ma_liste.txt" end_if
afficherNombreArticles()
On_close 0,quitter end_sub ' ------------------------------------------------------------------------------ nouveau: text 3,""
' astuce pour désélectionner la ligne du LIST item_add 2,"zzzzz" item_select 2,count(2) item_delete 2,count(2)
set_focus 3 return ' ------------------------------------------------------------------------------ supprimer: item_delete 2,item_index(2) pause 20
' astuce pour désélectionner la ligne du LIST item_add 2,"zzzzz" item_select 2,count(2) item_delete 2,count(2)
text 3,"" set_focus 3 afficherNombreArticles() return ' ------------------------------------------------------------------------------ valider: verifierDoublon() set_focus 3 afficherNombreArticles() return ' ------------------------------------------------------------------------------ sub verifierDoublon() dim_local n%
if text$(3) = "" exit_sub end_if if item_index(2) > 0 item_delete 2,item_index(2) end_if
' recherche doublon if count(2) > 0 for n% = 1 to count(2) if lower$(item_read$(2,n%)) = lower$(text$(3)) if message_warning_ok("Doublon : Ce nom existe déjà dans la liste !") < 3 exit_sub end_if end_if next n% end_if item_add 2,text$(3) text 3,""
' astuce pour désélectionner la ligne du LIST item_add 2,"zzzzz" item_select 2,count(2) item_delete 2,count(2) end_sub ' ------------------------------------------------------------------------------ selection: text 3,item_index$(2) set_focus 3 caret_position 3,len(text$(3)) return ' ------------------------------------------------------------------------------ sub afficherNombreArticles() if count(2) > 1 caption 7,str$(count(2))+" articles" else caption 7,str$(count(2))+" article" end_if end_sub ' ------------------------------------------------------------------------------ redim_0: off_resize 0 height 0,height(0) - height_client(0) + 455 width 0,width(0) - width_client(0) + 350 on_resize 0,redim_0 return ' ------------------------------------------------------------------------------ quitter: file_save 2,"ma_liste.txt" return Bonne programmation à tous ! | |
|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Re: Créer une liste d'articles avec l'objet LIST Sam 10 Déc 2022 - 15:32 | |
| Mignone petite réalisation ! Tu devrais le mettre sous forme Androïd, comme ça, les gens pourront faire leurs courses avec, sur leur téléphone portable... | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Créer une liste d'articles avec l'objet LIST Sam 10 Déc 2022 - 17:47 | |
| Merci JJN4 ! - JJN4 a écrit:
Tu devrais le mettre sous forme Androïd, comme ça, les gens pourront faire leurs courses avec, sur leur téléphone portable... C'est effectivement une idée pour le prochain Panoramic Android. Pour l'instant, c'est essentiellement un programme de démonstration pour ceux qui découvrent le langage PANORAMIC. | |
|
Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Créer une liste d'articles avec l'objet LIST Sam 10 Déc 2022 - 19:15 | |
| Essayé (avec Elip ) et adopté ! merci Marc !! | |
|
Contenu sponsorisé
| Sujet: Re: Créer une liste d'articles avec l'objet LIST | |
| |
|