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.
Jardin potager Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Jardin potager Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Jardin potager Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Jardin potager Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Jardin potager Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Jardin potager Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Jardin potager Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Jardin potager Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Jardin potager Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Jardin potager Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Jardin potager Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Jardin potager Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Jardin potager Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Jardin potager Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Jardin potager 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 : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Jardin potager

Aller en bas 
2 participants
AuteurMessage
Invité
Invité




Jardin potager Empty
MessageSujet: Jardin potager   Jardin potager EmptySam 3 Oct 2009 - 1:06

modifié à 13h00 le 3/10/09
après transformation des images bmp en jpg, le format sur le forum ne correspondait plus, j'ai rajouté les instructions dans le programme, pour que les images soient à la bonne dimension et il faut un espace (voir plus bas) dans les fichiers: aide 1.bmp et aide 2.bmp
le 11 octobre ligne 772 , il y avait 2 fois .JPG au lieu de *.JPG;*.BMP"
ligne 776: correction par upper$(right$(f$,4))=".BMP" then a%=1; il y avait aussi .JMP. Le programme a été de nouveau modifié.

J'ai terminé mon programme. Je ne pense pas que celui-ci puisse être intéressant pour vous, vu que je l'ai créé pour mon propre besoin. De ma vie je n'avais jamais fait de jardinage, et regarder de près comment les autres faisaient. Aussi j'ai constaté ces 2 dernières années, que je manquais de mémoire sur les choses, voir dans le temps avec quels intervalle, les légumes venaient, selon l'époque. Enfin plein de choses se modifiaient selon les saisons, et d'autres questions etc... Aussi j'ai créé un premier programme en justbasic, mais celui-ci ne me satisfesait pas. Et certaines choses du programme étaient à revoir. Voila le pourquoi. Aussi si vous voyez la nécessité de ce programme, on ne sais jamais, quelques modifications peuvent permettre de servir pour autre chose.
Il sera au préalable nécessaire de créer un dossier spécifique pour ce programme. Il ne sera pas nécessaire de mettre le programme dans ce même dossier, mais très conseillé de le mettre dans la même partition, pour ne pas à chaque démarrage, rechercher le dossier. Donc d'abord:
- créer un dossier (le mien je l'ai nommé "jardin potager")
- dans ce dossier en créer un autre nommé "2009" le nom de l'année en cours.
- dans le dossier 2009, en créer un 3ème, nommé "info"
- dans le dossier principal dont on a créé "2009", il faudra aussi créer un fichier: "AIDE.txt", 5 images qui porteront les noms suivants:
-alerte.jpg
-aide 1.jpg 1 espace entre aide et 1
-aide 2.jpg idem
-gris.jpg
-grisvide.jpg
Il y aura aussi d'autre fichiers qui seront créés par le programme, dont un nommé "BLOC_NOTE.txt" qui servira en autre à se rappeler du nom des photos et de se quelles représentent pour être transférer dans le bon dossier du catalogue. D'ailleurs il sera ensuite conseillé de faire un raccourcis de ce fichier depuis l'endroit où les photos sont stockées.

ICI, je mets le texte de l'aide, qu'il faudra copier dans AIDE.txt

LANCEMENT: au départ, le programme cherche un dossier repereDIR.txt, s'il ne le trouve pas, cliquez sur n'importe quel fichier du dossier qui a été créé, pour ce logiciel. Ensuite normalement, le programme peut démarrer.
D'abord si aucun objet (ici légume) n'a été créé, aller dans le menu, et créé le.
Choisissez dans le catalogue, l'objet à ouvrir.
Dans chaque vignette, on peut charger une photo en cochant la case correspondante, et en cliquant au centre de celle-ci. Il y a 6 colonnes de 2 diapos présentes, mais verticalement on peut en mettre 99, idem horizontalement. Les 6 colonnes sont indépendantes les unes des autres, et peuvent monter ou descendre, en cliquant près de la bordure des vignettes du haut, pour faire descendre l'ensemble, ou en cliquant sur la bordure du bas des diapos du dessous, pour faire monter la colonne. On peut y adjoindre un titre en haut.
Chaque diapo en cliquant vers le centre est reproduit sur la fenêtre du bas, et un texte peut y être adjoint dans le mémo jaune du bas à droite. Si on clique sur la photo, elle apparaît en grand.
LE CADRE VERT est le mémo de toute la feuille pour l'objet en cours (ici légume)
En cochant une diapo, avec le menu "supprimez une diapo", on retire celle-ci du cadre (nota: rien n'est effacé de la mémoire, seulement sortie de la liste)
SAUVEGARDEZ du menu, n'est pas vraiment utile, vu que dès que l'on clique sur un élément, la sauvegarde se fait.
On peut accéder en cochant des cases, aux extrèmes des diapos des colonnes cochées.
ON RAJOUTE UNE ANNÉE, avec les dossiers en cliquant dans le menu "ajoutez un dossier année"
Un mini BLOC NOTE est présent sur le côté. Il peut-être accessible depuis le bureau, ou dans le dossier d'appareil photo, en y mettant un raccourcis . Cela peut servir de repérage lors du transfert des photos pour savoir les retrouver lors de la recherche depuis ce programme. A noter, qu'on peut déplacer une photo à copier dans le dossier année, ou simplement la copier. Il est impératif pour le programme, que les photos à rapatrier, soit classées dans le dossier en cours, puisque la sauvegarde ne comporte que le nom avec l'extention de la photo.
Les nombres en haut donnent le numéro de la diapo dans la rangée du haut, suivi du nombre total de photos dans la rangée. En laissant le curseur de la souris, sur le 1èr cadre jaune pâle du haut, on visualise la position de la 1ère colonne. En cliquant sur le bord de l'une des 2 dernières photos, il y a décalage de l'ensemble des diapos vers la gauche.
Pour finir, En quittant avec le bouton "ARRET", on quitte en sauvegardant, en cliquant sur la croix du haut, on quitte directement le programme.
CE CADRE EST MODIFIABLE A VOLONTÉ.Il peut d'ailleurs servir de bloc note pour l'ensemble du tableau, lorsque toutes les fonctions de se tableau sont connues.
EN CLIQUANT SUR le texte vert dessous, on efface celui-ci pendant 2 secondes pour voir la fenêtre normale.
Une copie de texte est présente dans :Copie de AIDE.txt, ce qui permet d'effacer celui-ci.


une fois copier ce fichier et sauvegardé, faire une copie de ce fichier, vu que volontairement, il pourra être modifié.

1ère image: "alerte.jpg" cliquez sur l'image et copiez sur le site suivant..
Jardin potager Alerte.th


2ème image: "grisvide.jpg" cette image se copie ici

Jardin potager 210grisvide
http://monimag.eu/upload/292/210grisvide.jpg J'ai mis ce lien au cas où.

3ème image "gris.bmp"cliquez sur l'image et copiez sur le site suivant..

Jardin potager Gris.th

4ème image:b]cliquez sur l'image et copiez sur le site suivant..[/b]


Jardin potager 0aide1.th


5ème image:cliquez sur l'image et copiez sur le site suivant..

Jardin potager 0aide2.th

et maintenant le programme
Code:


rem TABLEAU AFFICHAGE DE DIAPOS AVEC EXPLICATION
rem jardin potager.bas  version 1.1 du 3 octobre 2009

rem Pour le fonctionnement de ce programme, il faut:
rem reporter les images: aide1.jpg aide2.jpg alerte.jpg gris.bmp grisvide.jpg
rem créer un fichier: AIDE.txt, et faire un copie/coller du texte depuis
rem  le site sur l'aide. Faire une copie de ce texte au cas où, vu que celui-ci
rem  est modifiable
rem un fichier: BLOC_NOTE.txt sera créé, y faire un raccourcis sur le bureau
rem ou dans le dossier qui acceuil les photos à extraire, celà servira de repère
rem  pour connaitre quelle photo est à copier.
rem dans le dossier principal créer:1 dossier "2009",
rem dans ce dossier créer un dossier "info"
error_french

dim a%, b%, c%,clic%, d%,f%,decale%, foto%,gauche%,i%,j%, legume% ,p%,t%,v% ,x%,y%
dim verticale%,w%, z% ,f1%,f2%,mem%, t
dim a$, b$,c$,an$, catalog$, d$, vue$ ,foto$,foto1$,foto2$ ,photo$,k$,m$,t$,mem$,fichmem$
dim f$, fan$, dossier$, info$, memo$, save1$, save2$  ,ferreur$ ,fiche$,legumeinfo$
dim coucou(50),h%(99),fl%  ,l% ,l1% ,u%  ,coucou%
rem pour les boites alertes et 'edite'
dim halt%,prompt%,titr$,ok$,non$,quit$,ga1%,ga2%,ga3%,cl%,alerte%
dim stylo$,stylo,bloc$,box% :rem pour les boites
dim clavier$ ,scan% ,flag%

label ph1clic,ph2clic,fichier,reprendre
label ph3clic,ph4clic,ph5clic,ph6clic
LABEL ph7clic,ph8clic
label ph9clic,ph10clic,ph11clic,ph12clic ,lirtitr ,grand1
label bmpclic,catalogue ,COMMANDE ,grand,grandi,cliclic ,vignette,ecranvide
label fiche ,fichef ,save ,savefoto, lire, lirefoto  ,decale ,an,lirecatalog
label decalage,compteur,nomphoto,quit,sortie,coucou ,mevoila ,aide1,aide2 ,diaponormal
rem pour les boites
label alerte,prompt,textbox,textbox1,textbox2:rem pour les boites


data 13,14,15,16,17,18,19,20,21,22,23,24,25,28,29,30,67,68,0 ,0,0 ,0
for coucou%=1 to 21:read coucou(coucou%):next coucou%


rem =============== programme principal==================
legume%=0 :d%=0
an$=right$(date$,4)

rem                  menu principal
rem main_menu 1
rem sub_menu 2:caption 2,"Application":parent 2,1
rem sub_menu 3:caption 3,"Restaurer le fichier": parent 3,2:on_click 3,restaure
rem -------------------fin du menu-----------

rem ====== O B J E T S === O B J E T S=== O B J E T S=== O B J E T S=======

rem =========== CHECK de 1 à 6 =============de 1 à 6=======================
check 1 :top 1 ,30:left 1 , 11:width 1 ,135:height 1 ,20 :caption 1 ,"photo 1"
check 2 :top 2 ,30:left 2 ,151:width 2 ,135:height 2 ,20 :caption 2 ,"photo 2"
check 3 :top 3 ,30:left 3 ,291:width 3 ,135:height 3 ,20 :caption 3 ,"photo 3"
check 4 :top 4 ,30:left 4 ,431:width 4 ,135:height 4 ,20 :caption 4 ,"photo 4"
check 5 :top 5 ,30:left 5 ,571:width 5 ,135:height 5 ,20 :caption 5 ,"photo 5"
check 6 :top 6 ,30:left 6 ,711:width 6 ,135:height 6 ,20 :caption 6 ,"photo 6"

rem =========== CHECK de 7 à 12 ============de 7 à 12======================
check  7:top  7,150:left  7,011:width  7,135:height  7,20 :caption  7,"photo 7"
check  8:top  8,150:left  8,151:width  8,135:height  8,20 :caption  8,"photo 8"
check  9:top  9,150:left  9,291:width  9,135:height  9,20 :caption  9,"photo 9"
check 10:top 10,150:left 10,431:width 10,135:height 10,20 :caption 10,"photo 10"
check 11:top 11,150:left 11,571:width 11,135:height 11,20 :caption 11,"photo 11"
check 12:top 12,150:left 12,711:width 12,135:height 12,20 :caption 12,"photo 12"

rem ======================= photos miniatures =============================



rem ===============PHOTOS N°13 à 18=========de 19 à 24======================
for a%=13 to 18:picture a%:top a%, 50:width a%,135:height a%,100:next a%
for a%=19 to 24:picture a%:top a%,170:width a%,135:height a%,100:next a%
b%=11
for a%=13 to 18:left a%,b%:left a%+6,b%:b%=b%+140:next a%
on_click 13,ph1clic :on_click 14,ph2clic :on_click 15,ph3clic
on_click 16,ph4clic :on_click 17,ph5clic :on_click 18,ph6clic
on_click 19,ph7clic :on_click 20,ph8clic :on_click 21,ph9clic
on_click 22,ph10clic:on_click 23,ph11clic:on_click 24,ph12clic

REM ========================================================================
for a%=1 to 12
  if a%<7
      hint a%,"coché = ouvrir un fichier, sinon affichage CLIC en bordure haut:Descendre"
  else
      hint a%,"coché = ouvrir un fichier, sinon affichage CLIC en bordure bas:Monté"
  end_if
  hint a%+12,"choisir cette photo, si vignette coché: nouvelle photo"
  color a%+12,202,205,219
  next a%

rem ============== PHOTO cadre ================25===========================
picture 25:top 25,320:left 25, 5:width 25,560:height 25,415:on_click 25,grandi
hint 25,"cliquez pour agrandir"

rem == ============ MEMO pour légume ==========26===========================
memo 26:top 26,320:left 26,570:width 26,450:height 26,255:color 26,217,236,200
font_name 26,"Bitstream Vera Sans Mono":font_color 26,0,133,178
font_size 26,12:font_bold 26 :bar_both 26

rem ============== MEMO pour chaque photo =====27===========================
memo 27:top 27,590:left 27,570:width 27,450:height 27,145
font_name 27,"Bitstream Vera Sans Mono":font_size 27,12
font_bold 27 :bar_both 27 :color 27,255,236,169
font_color 27,255,23,169 :rem font_color 26,34,168,48
rem ================= C A T A L O G U E ======28===========================
combo 28: top 28,280:left 28,570:width 28,280: on_click 28,catalogue
hint 28,"CATALOGUE: choix du légume":color 28,218,255,214
font_name 28,"Georgia":font_size 28,14
text 28,"          ** choisir légume **"

rem ============== EDIT pour catalogue========35====superposition==========
edit 37:top 37,281:left 37,560:width 37,270:height 37,25:text 37,"_______CHOISISSEZ légume__________"
font_name 37,"Arial":font_bold 37:font_size 37,13:color 37,218,255,214

rem ======== BOUTON ARRET ====================29===========================
button 29
caption 29,"ARRET":top 29,278:left 29,420:width 29,50:height 29,30
on_click 29,quit
rem ======== COMBO DE COMMANDE ===============30===========================
combo 30: top 30,280:left 30,10:width 30,290: on_click 30,COMMANDE
font_name 30,"Arial":font_bold 30:font_size 30,13
hint 30,"CHOISISSEZ VOTRE COMMANDE":color 30,255,180,180
item_add 30,"NOUVEAU LÉGUME:"            :rem  1
item_add 30,"supprimer Légume"          :rem  2
item_add 30,"SAUVEGARDER"                :rem  3
item_add 30,"défiler photo vers le bas"  :rem  4
item_add 30,"défiler photo vers le haut" :rem  5
item_add 30,"supprimer une diapo"        :rem  6
item_add 30,"ajouter un dossier ANNÉE"  :rem  7
item_add 30,"changer de dossier"        :rem  8
text 30,"    ********* COMMANDE**********"

rem ======= BOITE d'ouverture de fichier =====31===========================
open_dialog 31
a%=0:gosub fichier :  REM <<<<<<<<====== LECTURE FICHIER  ================================== <<<<-------------

rem ============== COMBO pour année ==========35===========================
combo 35:left 35,480:top 35,280:height 35,30:width 35,90
text 35,"ANNÉE":font_name 35,"Arial":font_bold 35:font_size 35,13 :color 35,224,255,110
item_add 35,"  2009":on_click 35,an

width 0,1030:height 0,780 :caption 0,"JARDIN POTAGER":color 0,255,192,110
top 0,00:on_click 0,mevoila

rem ==========================================38 & (39)====================
memo 38:left 38,848:top 38,25:width 38,170:height 38,290:font_name 38,"Fixedsys":font_size 38,14
bar_both 38
alpha 39:top 39,5:left 39,900:caption 39,"BLOC NOTE"
rem ____________________________________________________________________________
b%=55
rem ============== titre pour colonne ===41 à 46===========================
for a%=41 to 46:edit a%:top a%,5:left a%,b% :width a%,90:height a%,20:b%=b%+140:color a%,239,237,220
  font_color a%,0,0,255:next a%  :b%=11

rem ============== N° de chaque colonne =47 à 52===========================
for a%=47 to 52:edit a%:top a%,5:left a%,b%:width a%,40:height a%,20:b%=b%+140:color a%,255,255,159
  font_bold a%:font_color a% ,255,0,255:next a%

rem ============== DLIST======================34==et 36==et 62=============
dlist 34: dlist 36 :dlist 62

edit 58:top 58,281:left 58,10:width 58,270:height 58,25:text 58,"_____________MENU_________________"
font_name 58,"Arial":font_bold 58:font_size 58,13:color 58,255,180,180

rem ===========FORM pour aide et boutons=======66 67 68======================
form 66:top 66,0:left 66,0: width 66,1000:height 66,780

button 67:top 67,278:left 67,308:width 67,50:height 67,30:caption 67,"AIDE 1"
on_click 67,aide1

button 68:caption 68,"AIDE 2":top 68,278:left 68,364:width 68,50:height 68,30
on_click 68,aide2

picture 69:parent 69,66:left 69,0:top 69,0:width 69,1000:height 69,780
hint 69,"clic sur SUITE: écran suivant , clic sur SORTIE: pour sortir"
hide 66

rem les boites**************************************************************
halt%=70 :prompt%=77: REM ces 2 variables sont les numéros d'objet de départ
ga1%=90:ga2%=160:ga3%=240 :ok$="oui":non$="non":quit$="annuler"
titr$="Faites votre choix" :clavier$="entrez votre texte"

rem ---------------FORME POUR ALERTE-------------------------------------------
form halt%:left halt%,400:top halt%,200:width halt%,400:height halt%,110
  border_hide halt%:color halt%,177,202,142:hide halt%

picture halt%+1:parent halt%+1,halt%:left halt%+1,1:top halt%+1,1:width halt%+1,398
  height halt%+1,108:color halt%+1,233,254,214:stretch_on halt%+1:file_load halt%+1,"alerte.jpg"

edit halt%+2:parent halt%+2,halt%:top halt%+2,10:left halt%+2,80:width halt%+2,230
  text halt%+2,titr$:color halt%+2,243,244,194:font_bold halt%+2

button halt%+3:parent halt%+3,halt%:top halt%+3,60:left halt%+3,ga1%:width halt%+3,50
  height halt%+3,25:caption halt%+3,ok$

button halt%+4:parent halt%+4,halt%:top halt%+4,60:left halt%+4,ga2%:width halt%+4,50
  height halt%+4,25:caption halt%+4,non$

button halt%+5:parent halt%+5,halt%:top halt%+5,60:left halt%+5,ga3%:width halt%+5,50
  height halt%+5,25:caption halt%+5,quit$
rem ------------fin de la forme alert------------------------------------------

rem ______________FORM POUR CLAVIER____________________________________________
REM appel par: flag%=0 pour texte, 1 pour valeur et gosub prompt
form prompt%:left prompt%,400:top prompt%,200:width prompt% ,500:height prompt%,120
  border_hide prompt%:color prompt%,177,202,142

picture prompt%+1:parent prompt%+1,prompt%:left prompt%+1,1:top prompt%+1,1:width prompt%+1,498
  height prompt%+1,118:color prompt%+1,244,235,192:stretch_on prompt%+1:file_load prompt%+1,"alerte.jpg"

edit prompt%+2:parent prompt%+2,prompt%:top prompt%+2,10:left prompt%+2,100:width prompt%+2,320
  text prompt%+2,clavier$:color prompt%+2,244,235,192:font_size prompt%+2,12:font_bold prompt%+2:font_color prompt%+2,255,0,0

edit prompt%+3:parent prompt%+3,prompt%:top prompt%+3,70:left prompt%+3,130:width prompt%+3,260
  color prompt%+3,240,230,190:font_bold prompt%+3:font_size prompt%+3,10
hide prompt%
rem ______________FIN DE LA FORME CLAVIER______________________________________

rem ______________FORM POUR TEXTBOX____________________________________________
REM remplissage par >item_add box%,...<
REM lecture    par >gosub texbox<
box%=prompt%+11    :rem peut-être détruit on verra si utilité

form box%-1:top box%-1,150:left box%-1,300:width box%-1,500:height box%-1,552
color box%-1,186,205,158:border_hide box%-1:hide box%-1

memo box%:top box%,8:left box%,5:width box%,487:height box%,537
parent box%,box%-1:color box%,233,238,198

edit box%+1:parent box%+1,box%-1:top box%+1,520:left box%+1,50:width box%+1,400:height box%+1,30
text  box%+1,"  quitter par < ESC > en cliquant sur ce texte vert : < cacher / montrer la fenêtre >"
color box%+1,218,237,190
on_click box%+1,textbox2
rem _______________fin de TEXTBOX________________________________________________

a$=dossier$+"\BLOC_NOTE.txt"
if file_exists(a$)=1
  file_load 38,a$
else
  file_open_write 2,a$
  file_close 2
end_if
if file_exists (dossier$+"\année.fic") = 1 then file_load 35, dossier$+"\année.fic"

gosub lirecatalog
gosub ecranvide
set_focus 0
end

rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM * * * L E  P R O G R A M M E * * *  REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM

fichier:
a%=a%+1
a$=dir_current$
a$=left$(a$,3)+"repereDIR.txt"
if file_exists (a$)=1
  file_open_read 1,a$
  file_readln 1,b$
  file_close 1
end_if

rem ==initialisation des noms de fichiers==
if file_exists(a$)=0 or b$="erreur" or b$=""
  reprendre:
  b$= "le programme à besoin de connaitre le bon dossier de départ et se sert d'un fichier <repereDIR> "+chr$(13)
  b$=b$+"qui ne sert qu'à ça. S'il n'est pas présent à la racine du disque, rechercher le dossier courant de ce,"+chr$(13)
  b$=b$+"logiciel et cliquer sur n'importe lequel des fichiers, le programme fera le reste"
  message b$

  filter 31,"recherche le nom de ce logiciel|*.bas;*.exe;*.fic;alerte.jpg"
  f$=file_name$ (31)
  for a%=len(f$) to 1 step -1
      if mid$(f$,a%,1)="\" then exit_for
  next a%
  f$=left$(f$,a%-1)
  c$= mid$( f$,4,len(f$)-3)
  if file_exists (a$)=0
      file_open_write 2,a$  :rem créé le fichier repereDir.txt
      file_write 2,c$        :rem écrit le nom du dossier
      file_close 2
  end_if
  dossier$=f$
  fan$=dossier$+"\"+an$
  info$=fan$+"\info\"
else
  file_open_read 1,a$
  file_readln 1,b$
  file_close 1 :if b$="erreur" or b$="" then goto reprendre
  dossier$=left$(a$,3)+b$
  dir_change dossier$
  fan$=dossier$+"\"+an$
  info$=fan$+"\info\"
end_if
if file_exists(dossier$+"\AIDE.txt")=0
  file_open_write 2,dossier$+"\AIDE.txt"
  file_close 2
end_if


ferreur$=f$
if dossier$="" then goto reprendre
return

rem """"""""""""""""""""""""""""""""""" PHOTO 1 """"""""""""""""""""""""""""""
ph1clic:
  b%=1
  gosub cliclic
  return
rem """"""""""""""""""""""""""""""""""" PHOTO 2 """"""""""""""""""""""""""""""
ph2clic:
  b%=2
  gosub cliclic
  return
rem """"""""""""""""""""""""""""""""""" PHOTO 3 """"""""""""""""""""""""""""""
ph3clic:
  b%=3
  gosub cliclic
  return
ph4clic:
  b%=4
  gosub cliclic
  return
ph5clic:
  b%=5
  gosub cliclic
  return
ph6clic:
  b%=6
  gosub cliclic
  return
ph7clic:
  b%=7
  gosub cliclic
  return
ph8clic:
  b%=8
  gosub cliclic
  return
ph9clic:
  b%=9
  gosub cliclic
  return
ph10clic:
  b%=10
  gosub cliclic
  return

ph11clic:
  b%=11
  gosub cliclic
  return
ph12clic:
  b%=12
  gosub cliclic
  return
nomphoto:
  photo$=""
  for i%=len(f$)-4 to 1 step -1
      if mid$(f$,i%,1)="\"
        exit_for
      else
        photo$=mid$(f$,i%,1)+photo$
      end_if
  next i%
  return
rem """""""""""""""""""""""""""""""""""""" PHOTO AGRANDI """"""""""""25"""""""""
bmpclic:
gosub coucou
  stretch_on 25
  if f$="" or f$="_" or f$=ferreur$
  else
      file_load 25,f$ :photo$=""
      gosub nomphoto
      gosub lirefoto
  end_if
  gosub mevoila
  return


rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM * * C  A  T  A  L  O  G  U  E  * *  REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM

catalogue:
gosub coucou
  REM d'abord on sauvegarde légume en cours
  if legume%>0
      gosub save :clear 36:for a%=41 to 46:text a%,"":next a%:gosub diaponormal
      clear 27 :photo$="":color mem%,255,192,110:gosub diaponormal:mem%=0
      for a%=13 to 24
        stretch_off a%: file_load a%,dossier$+"\grisvide.jpg": rem mettre une image grise vide dans diapos
      next a%:mem%=0
      file_load 25, dossier$+"\gris.jpg" :    rem idem
      for a%=1 to 99:h%(a%)=0:next a%:gauche%=0:clear 26:display
  end_if

  rem ensuite on lit légume en cours ( RESTERA LA LISTE DES PHOTOS )
  legume%=item_index(28)
  if legume%>0
      catalog$=item_read$(28,legume%)
      t= 40-len(catalog$) :t=int( t/2)
      text 37,string$(t," ")+catalog$
      legumeinfo$=info$+catalog$
      if dir_exists(legumeinfo$) = 0  then dir_make legumeinfo$
      b$= legumeinfo$+"\"+catalog$+".fic"
      if file_exists(b$) =1
        file_load 26,b$
      else
        clear 26
      end_if
      b$= legumeinfo$+"\photos.fic"
      if file_exists(b$) =1
        file_load 34,b$    :rem charge le nom des photos dans dlist 34
        decale%=1:gauche%=0 : gosub decale
      end_if
      if file_exists (legumeinfo$+"\titre.fic" )=1
        file_load 36,legumeinfo$+"\titre.fic"
        for a%=1 to 6
            if count(36)>0 then gosub lirtitr
        next a%
      else
        clear 36 :for a%=41 to 46:text a%,"":next a%
      end_if
      if f$ <>"" then gosub lirefoto
      rem récupération du nom stric de la photo, et vue$= idem sans (bmp ou jpg)
      if right$(legumeinfo$,1)<>"\" then legumeinfo$=legumeinfo$+"\"
  end_if
  gosub vignette:rem affiche les n° / total de la colonne
  set_focus 26 : gosub mevoila
  return

diaponormal:
 for j%=1 to 12:color j%,255,192,110:next j%
return

rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM * * * C  O  M  M  A  N  D  E * * *  REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM

rem """"""""""""""""""""""""""""""""""""" combo choix commande """30""""""""""
COMMANDE:
gosub coucou :rem inactive 0
  a%=item_index(30):wait 1000
      a$=text$(30)
      text 58,a$:wait 500
  select a%

  case 1  :rem nouveau légume
      rem hide 32
      flag%=0:clavier$="entrez le nom du légume":gosub prompt
      a$=stylo$
      b%=0
      if a$<>""
        for a%=1 to count(28)
            b$=item_read$(28,a%)
            if b$ = a$ then b%=1 :rem déjà créé
        next a%
        if b%=0
            item_add 28,a$
            fl%= dir_exists(info$+a$)
            if fl%=0 then dir_make info$+a$:rem créer dossier du légume
        end_if
        if catalog$<>""
            t= 40-len(catalog$) :t=int( t/2):text 37,string$(t," ")+catalog$
        else
            text 37,"_______CHOISISSEZ légume__________"
        end_if
      end_if

  case 2 :rem suppression de la ligne légume en cours

      titr$="supprimez "+catalog$+" ?":gosub alerte
      if cl%=1
        item_delete 28,legume% : rem seul la ligne est effacée, reste le texte, certainement décalage du reste
        catalog$="":legumeinfo$=info$
        sort 28 :clear 34  :rem liste photos
                :clear 36  :rem liste titres
                :clear 26  :rem mémo du légume
                :clear 27  :rem mémo info de la photo cliquée
                gosub diaponormal:mem%=0 :gosub ecranvide :text 37,"_______CHOISISSEZ légume______":wait 500
      end_if

  case 3 :rem SAUVEGARDE memo 26: légume ,memo: 27 info photo
      if count(28) >0
        if legume%>0
            gosub save
        else
            message "légume non défini"
        end_if
      end_if

  case 4 :REM DÉFILER LES PHOTOS VERS LE BAS
      set_focus 0:gosub diaponormal
      for clic%=1 to 6
        if checked(clic%)=1
            h%(clic%+gauche%)=d%-1:if h%(clic%+gauche%)<0 then h%(clic%+gauche%)=0
            decale%=2:v%=0 :b%=clic%:gosub decalage
            mark_off clic%
        end_if
      next clic%
      gosub vignette

  case 5 :REM DÉFILER LES PHOTOS VERS LE HAUT
      set_focus 0
      gosub diaponormal
      for j%=7 to 12 :if checked(j%)=1 then mark_on j%-6:mark_off j%
      next j%
      for j%=1 to 6:clic%=j%:f%=j%
        gosub compteur
        if checked(j%)=1
            h%(j%+gauche%)=d% -1:if h%(j%+gauche%)<0 then h%(j%+gauche%)=0
            decale%=2:v%=1 :b%=j%:gosub decalage
            mark_off j%
        end_if
      next j%

  case 6  : rem supprimer une diapo
      titr$ = "supprimez une diapo ?"
      gosub alerte
      if cl%=1
        gosub diaponormal
            for a%=1 to 12
              if checked(a%)=1 then exit_for
            next a%
        if a%<=12
            if file_exists( dossier$+"\grisvide.jpg")=1
              active a%+12
              stretch_off a%+12: file_load a%+12,dossier$+"\grisvide.jpg" :caption a%,"" :inactive a%+12
              rem il faut aussi supprimer de la liste la photo *******************
              if a%<7
                  foto$=  "H"+right$("00"+str$( gauche%+a%),2)+"V"
              else
                  foto$=  "H"+right$("00"+str$( gauche%+a%-6),2)+"V"
              end_if
              if a%<7
                  foto1$=foto$+right$("00"+str$(h%(gauche%+a%)),2)+"|"
              else
                  foto1$=foto$+right$("00"+str$(h%(gauche%+a%)+1),2)+"|"
              end_if
              for a%=1 to count(34)
                  if left$(item_read$(34,a%),7)=foto1$ then item_delete 34,a%:a%=count(34)+10
              next a%
            end_if
        end_if
        set_focus 0
      end_if
      for a%=1 to 12:mark_off a%:next a%

  case 7 : rem création d'une nouvelle année

      if count(35)>0
        a%=val( item_read$( 35,count(35)))+1
        item_add 35,"  "+str$(a%)
        if dir_exists(str$(a%))=0
            dir_make dossier$+"\"+str$(a%)
            dir_make dossier$+"\"+str$(a%)+"\info"
            message "l'année:"+str$(a%)+" a été rajoutée avec les répertoires"
        end_if
      else
        clavier$="qu'elle année à rajouté":flag%=1
        gosub prompt
        item_add 35,"  "+str$(stylo)
        if dir_exists(str$(stylo))=0
            dir_make dossier$+"\"+str$(stylo)
            dir_make dossier$+"\"+str$(stylo)+"\info"
            message "l'année: "+str$(stylo)+" a été créée avec les répertoires"
        end_if
      end_if

  case 8 :rem changer de dossier
      gosub reprendre
      gosub lirecatalog
      gosub ecranvide

  end_select
  gosub vignette
  text 58,"_____________MENU_________________"
  gosub mevoila :active 0
  return

rem _________________________________________________________________________

grandi:
gosub coucou
if fiche$<>""
  c%=0
  gosub coucou
  b%=0:if f$="" or f$="_" or f$=ferreur$ then b%=1
  if b%=0
      wait 500
      for a%=1 to 24:hide a%:next a%:for a%=26 to 30:hide a%:next a%:hide 35:hide 37
      hide 38:hide 39:for a%=41 to 52:hide a%:next a%:hide 58:hide 67:hide 68
      full_space 0:full_space 25:fichmem$=fiche$
      grand:
      hint 25,"< ESC > pour quittez"+chr$(13)+"appuyez sur <  ESPACE> pour reduire/grossir"
      c%=-1-c%
      if c%=0
        stretch_on 25
      else
        stretch_off 25
      end_if
      file_load 25,fan$+"\"+fiche$ :wait 1000
      grand1:
        b%=asc( inkey$)
      if mouse_x_position(25)=0 or b% =27 or b% = 32
      else
        goto grand1
      end_if
      wait 200
      if b% =32 then goto grand

      top 25,320:left 25,5: width 25,560:height 25,415:width 0,1030:height 0,780
      stretch_on 25:file_load 25,fan$+"\"+fiche$:set_focus 0 :gosub nomphoto
      file_save 27,legumeinfo$+photo$+".info"
      c%=0
      for a%=1 to 24:show a%:next a%:for a%=26 to 30:show a%:next a%:show 35:show 37
      show 38:show 39:for a%=41 to 52:show a%:next a%:show 58:show 67:show 68
  end_if
end_if
gosub mevoila:hint 25,"cliquez pour agrandir"
return


rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM * * *  c  l  i  c  l  i  c  * * *  REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM

cliclic:
gosub coucou
hint 47,"position:"+str$(gauche%)
if legume%>0
 gosub diaponormal
 mem%=b%
 x%=mouse_x_position(b%+12) :  y%=mouse_y_position(b%+12) : decale%=0
  if b%<7
      clic%=b%  :v%=0
  else
      clic%=b%-6:v%=1
  end_if
      for a%=1 to 6
        foto$="H" + right$("00"+ str$( a% + gauche%),2) +"|"
        if text$ (a%+40)<>""
            foto$=foto$+text$ (a%+40)
            if count(36)> 0
              for i%=1 to count(36)
                  if left$(item_read$(36,i%),4)=left$(foto$,4) then item_delete 36,i%:i%=count(36)+10
              next i%
            end_if
            item_add 36,foto$
        end_if
      next a%
 if checked(b%)=0
  rem pour l'instant on a repèré seulement la photo, MAINTENANT il faut savoir
  rem si décalage à droite
  REM            DECALAGE HORIZONTAI
  if (b%=1 or b%=7) and x%<31 and gauche%>0: rem on décale à droite
      gauche%=gauche%-1:                      decale%=1
  end_if
  if (b%=6 or b%=12) and x%>105 and gauche%<99: rem on décale à gauche
      gauche%=gauche%+1:                      decale%=1
  end_if
  hint 47,"position:"+str$(gauche%)
  gosub vignette
  rem _________________________________________________________________
  REM            DECALAGE VÉRTICAL
  if b%<7 and y%<31 and h%(clic%+gauche%)>0:rem décalage vers le bas
      h%(clic%+gauche%)=h%(clic%+gauche%)-1:  decale%=2
  end_if
  if b%>6 and y%>69
      h%(clic%+gauche%)=h%(clic%+gauche%)+1:decale%=2
  end_if
  verticale%=h%(clic%+gauche%)+v%

decale:
  SELECT decale%

  CASE 0 : rem pas de décalage, seulement montrer la photo cliquée
      REM rechercher le nom du fichier pour la photo cadre -25-
      if photo$<>"" then file_save 27,legumeinfo$+photo$+".info"
      foto$=      "H"+right$("00"+str$(clic%+gauche%),2)
      foto$=foto$+"V"+right$("00"+str$(verticale%),2)+"|"
      if count(34)>0
        for a%=1 to count(34)
          if foto$=left$(item_read$(34,a%),7) then exit_for
        next a%
      end_if
      if a%<= count(34)
        gosub fiche
        f$=right$( item_read$(34,a%),len( item_read$(34,a%))-7)
        REM là if faut chercher la bonne photo dans la DLIST 34
        caption b%,fiche$
        file_load 25,fan$+"\"+fiche$ :stretch_on 25 :gosub nomphoto
        fichmem$=fiche$:color b%,255,0,0
        file_load b%+12,fan$+"\"+fiche$ :stretch_on b%+12
        if file_exists(legumeinfo$+vue$+".info")=1 then file_load 27,legumeinfo$+vue$ +".info"
      else
          mem%=0:file_load 25, dossier$+"\gris.jpg"
      end_if

  CASE 1 : rem décalage des vignettes droite/gauche
      rem maintenant affichage de toutes les vignettes décalées.
      for a%=1 to 6
        rem commentaire
        foto$="H"+right$("00"+str$(a%+gauche%),2)+"|"
        rem lecture des titres
        foto$=  "H"+right$("00"+str$( gauche%+a%    ),2)+"V"
        foto1$=foto$+right$("00"+str$(h%(gauche%+a%)  ),2)+"|"
        foto2$=foto$+right$("00"+str$(h%(gauche%+a%)+1),2)+"|"
        f1%=0:f2%=0
        if count(34)>0
        for c%=1 to count(34)
            if left$(item_read$(34,c%),7)=foto1$
              f$=right$(item_read$ (34,c%),len(item_read$ (34,c%))-7)
              if file_exists(fan$+"\"+f$)=1
                  if f$=fichmem$
                    color a%,255,0,0
                  else
                    color a%,255,192,110
                  end_if
                  stretch_on a%+12:file_load a%+12,fan$+"\"+f$:caption a%,f$ :f1%=1
              end_if
            end_if

            if left$(item_read$(34,c%),7)=foto2$
              f$=right$( item_read$ (34,c%),len(item_read$ (34,c%))-7)
              if file_exists(fan$+"\"+f$)=1
                  if f$=fichmem$
                    color a%+6,255,0,0
                  else
                    color a%+6,255,192,110
                  end_if
                  stretch_on a%+18:file_load a%+18,fan$+"\"+f$:caption a%+6,f$:f2%=1
              end_if
            end_if
        next c%
        end_if
        if f1%=0 then stretch_off a%+12:file_load a%+12,dossier$+"\"+"grisvide.jpg":caption a%  ,"vide"
        if f2%=0 then STRETCH_off a%+18:file_load a%+18,dossier$+"\"+"grisvide.jpg":caption a%+6,"vide"
      next a%

  CASE 2 : rem décalage vertical d'une colonne (celui du clic)
      gosub decalage

  END_SELECT
 else
  REM cochage de la vignette, donc sélection fichier
  gosub save  :clear 27
  dir_change an$
  stretch_on b%+12
  f$=dir_current$
  filter 31,"lecture diapo|*.JPG;*.BMP"
  f$= file_name$(31)

  a%=0
  if upper$(right$(f$,4))=".JPG" or upper$(right$(f$,4))=".BMP" then a%=1
  if f$<>"_" and a%=1
      file_load b%+12,f$ :display
      a%=len(fan$)
      if left$(f$,a%)<>fan$
        titr$="on recopie le fichier ou on le déplace":ok$="copier":non$="déplacer":quit$="annuler"
        gosub alerte
        if cl%<3
            gosub fichef
            file_save b%+12,fan$+"\"+fiche$  :rem sauvegarde du fichier dans l'année en cours du prg
            if cl%=2
                file_delete f$
            end_if
        end_if
        f$=fan$+"\"+fiche$
      end_if

      gosub lirefoto
      caption b%,fiche$
      rem avant VOIR SI L'EMPLACEMENT DE LA PHOTO EXISTE
      foto$="H"+right$("00"+str$( gauche%+clic%),2)+"V"
      foto$=foto$+right$("00"+str$(h%(gauche%+clic%)+v%),2)+"|"
      if count(34)>0
        for a%=1 to count(34)
            if left$(item_read$(34,a%),7)=foto$ then item_delete 34,a% :a%=count(34)+10
        next a%
      end_if
      item_add 34,foto$+fiche$
      sort 34
      gosub bmpclic
      mark_off b%
  end_if
 end_if
else
  message "pas de légume de défini !!!"
end_if
rem
gosub mevoila
return

decalage:
gosub coucou
  rem Si décalage vertical , on décale la colonne vers le bas ou le haut, et la
      rem photo sous le clic est affichée
      foto$="H"+right$("00"+str$( gauche%+clic%),2)+"V"
        foto1$=foto$+right$("00"+str$(h%(gauche%+clic%)  ),2)+"|"
        foto2$=foto$+right$("00"+str$(h%(gauche%+clic%)+1),2)+"|"
      f1%=0:f2%=0
      if v%=1
        for c%=1 to count(34)
            if left$(item_read$(34,c%),7)=foto1$
              f$=right$( item_read$ (34,c%),len( item_read$(34,c%))-7)
              if b%>6
                  stretch_on clic%+12:file_load clic%+12,fan$+"\"+f$  :caption b%-6,f$ :if f$=fichmem$ then color b%-6,255,0,0
              else
                  stretch_on clic%+12:file_load clic%+12,fan$+"\"+f$  :caption b%,f$ :if f$=fichmem$ then  color b%,255,0,0
              end_if
              f1%=1
            end_if

            if left$(item_read$(34,c%),7)=foto2$
              f$=right$( item_read$ (34,c%),len( item_read$ (34,c%))-7)
              stretch_on clic%+18:file_load clic%+18,fan$+"\"+f$:    caption b%,f$:if f$=fichmem$ then  color b%,255,0,0
              f2%=1
            end_if
        next c%
      else
        for c%=1 to count(34)
            if left$(item_read$(34,c%),7)=foto1$
              f$=right$( item_read$ (34,c%),len( item_read$(34,c%))-7)
              stretch_on clic%+12:file_load clic%+12,fan$+"\"+f$ :caption b%,f$:if f$=fichmem$ then color b%,255,0,0
              f1%=1
            end_if
            if left$(item_read$(34,c%),7)=foto2$
              f$=right$( item_read$ (34,c%),len( item_read$ (34,c%))-7)
              stretch_on clic%+18:file_load clic%+18,fan$+"\"+f$:caption b%+6,f$:if f$=fichmem$ then color b%+6,255,0,0
              f2%=1
            end_if
        next c%
      end_if
      gosub vignette
      if f1%=0 and v%=1 then stretch_off clic%+12:file_load clic%+12,dossier$+"\grisvide.jpg":caption b%-6,"vide"
      if f2%=0 and v%=1 then stretch_off clic%+18:file_load clic%+18,dossier$+"\grisvide.jpg":caption b%  ,"vide"
      gosub mevoila
      RETURN

lirtitr:
  foto$="H"+right$("00"+str$(a%+gauche%),2)+"|"
  rem lecture des titres
  if count(36)>0
      i%=1 :fl%=0
      while i%<=count(36)
        a$=item_read$(36,i%)
        if left$(a$,4)=left$(foto$,4) then text a%+40,mid$( a$,5,len(a$)-4) :fl%=1
        i%=i%+1
      end_while
  end_if
  if fl%=0 then text a%+40,""
  return

rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM * * * *  S A U V E G A R D E * * *  REM rem REM rem REM
rem REM rem REM                                    REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM
rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM rem REM

save:
 if legume%>0
  file_save 38,dossier$+"\BLOC_NOTE.txt"
  file_save 28,info$+"CATALOGUE.fic"
  if catalog$<>""and legumeinfo$<>""
      file_save 26,legumeinfo$ +catalog$+".fic"
      file_save 34,legumeinfo$+"photos.fic"
      file_save 36,legumeinfo$+"titre.fic"
  end_if
  for a%=1 to 6
      foto$="H"+right$("00"+str$(a%+gauche%),2)+"|"
      foto$=foto$+text$(a%+40)
      for i%=1 to count(36)
        if count(36)>0
          a$=  item_read$(36,i%)
          if left$(a$,4)=left$(foto$,4) then item_delete 36,i% :i%=count(36)+10
        end_if
      next i%
      if text$(a%+40)<>"" then item_add 36,foto$
  next a%
  if legumeinfo$<>"" then file_save 36,legumeinfo$+"titre.fic"
  file_save 35,dossier$+"\année.fic"
  gosub savefoto
 end_if
 return

savefoto:
  gosub fichef    : rem il ne reste que le nom sans l'extention
  if right$(vue$,5)<>".info" then vue$=vue$+".info"
  if legumeinfo$<>"" then file_save 27,legumeinfo$ + vue$
  return

rem ----------------------------------------------------------------------------
lire:
  catalog$= item_read$(28,legume%)
  legumeinfo$=info$+catalog$+"\"
  file_load 26,info$+ "CATALOGUE.fic"
  file_load 28,legumeinfo$+catalog$+".fic"
  file_load 34,legumeinfo$+"photos.fic"
  if file_exists (legumeinfo$+"titre.fic" )=1
      file_load 36,legumeinfo$+"titre.fic"
      if count(36)>0
        i%=1
        while i%<=count(36) and count(36)>0
            a$=item_read$(36,i%):a%=val(mid$(a$,2,2)):a$=mid$(a$,5,len(a$)-4)
            if a%<7 then text a%+40,a$
            i%=i%+1
        end_while
      end_if
  end_if
  gosub fiche    : rem il ne reste que le nom sans l'extention
  vue$=vue$+".info"
  if file_exists (legumeinfo$+"\"+vue$)=1
      file_load 27,legumeinfo$ + vue$
  end_if
  return

lirefoto:
  rem  ****  catalog$= item_read$(28,legume%)  ****
  gosub fichef
  b$=legumeinfo$+"\"+vue$ +".info"
  if file_exists(b$)=1
      file_load 27,b$
  end_if
  return

fiche:
if f$="" or f$="_"
else
  fiche$="" :d%=1
  for u%=len(item_read$(34,a%)) to 1 step -1
      a$=mid$(item_read$(34,a%),u%,1)
      if a$="\" or a$="|" then exit_for
      fiche$=right$(item_read$(34,a%),d%):d%=d%+1
  next u%
  d%=len(fiche$)-4:vue$=left$(fiche$,d%)
end_if
return

fichef:
if f$="" or f$="_"
else
  fiche$="" :d%=1
  for u%=len(f$) to 1 step -1
      a$=mid$(f$,u%,1)
      if a$="\" then exit_for
      fiche$=right$(f$,d%):d%=d%+1
  next u%
  d%=len(fiche$)-4:if d%>0 then vue$=left$(fiche$,d%)
end_if
return

lirecatalog:
if file_exists(  fan$+"\info\CATALOGUE.fic" )=1
  file_LOAD 28,fan$+"\info\CATALOGUE.fic"
  if count(28)>0
      i%=1
      while i%<=count(28)
        if item_read$(28,i%)="" then item_delete 28,i%
        i%=i%+1
      end_while
  end_if
else
  message "le fichier: CATALOGUE.fic dans le dossier info,n'a pas été trouvé"
end_if
return

mem:


ecranvide:
    for a%=13 to 24
      stretch_off a%:file_load a%,dossier$+"\grisvide.jpg"
  next a%
  file_load 25,    dossier$+"\gris.jpg"
  return
an:
gosub coucou
  gosub save
  gosub diaponormal:color mem%,255,192,110:mem%=0
    gosub ecranvide
  for a%=41 to 52:text a%,"" :next a%  :rem nom des photos à ""
  clear 34:clear 36:clear 26:clear 27:clear 28
  an$=trim$( item_index$(35) )
  fan$=dossier$+"\"+an$
  info$=fan$+"\info\" :fiche$=""
  legumeinfo$="" :text 37,"_______CHOISISSEZ légume__________"
  gosub lirecatalog:catalog$=""
  gosub mevoila
return

vignette:
REM pour l'affichage des numéros de colonne avec la quantité verticale
for f% = 1 to 6
  foto$="H"+right$("00"+str$(f%+gauche%),2)  :l%=1 :d%=0  :rem H23V56
  if count(34)>0
      gosub compteur
      text f%+46,str$(h%(f%+gauche%)+1)+"/"+str$(d%+1)
  end_if
next f%
return

compteur:
  foto$="H"+right$("00"+str$(f%+gauche%),2)  :l%=1 :d%=0
  if count(34)>0
      while l%<=count(34)
        a$=item_read$(34,l%)
        if left$(a$,3)=foto$ then c%=val(mid$(a$,5,2)):if c%>d% then d%=c%
        l%=l%+1
      end_while
  end_if
  RETURN

rem                2 sous programmes
rem -------------sous programme alerte-----------------------------------------
alerte:
gosub coucou
  rem appel :titr$ - bouton: ok$ - non$ - quit$
  rem retour:cl% est le numéro du bouton

  text halt%+2,titr$:caption halt%+3,ok$:caption halt%+4,non$:caption halt%+5,quit$
  show halt%:set_focus halt%+5
  cl%=0
  repeat
      if clicked(halt%+3)=1 then cl%=1
      if clicked(halt%+4)=1 then cl%=2
      if clicked(halt%+5)=1 then cl%=3
  until cl%>0
  hide halt%
  gosub mevoila
  return
rem ------------------fin d'alerte---------------------------------------------

rem -------------sous programme clavier----------------------------------------
prompt:
gosub coucou
  show prompt%:set_focus prompt%+3:text prompt%+2,clavier$:text prompt%+3 ,""
  t=0:repeat : scan%=scancode:wait 200:t=t+1 : until scan%=13 or t=100:stylo$=text$(prompt%+3)
  rem pour être sure qu'il n'y aura pas de blocage, la boite se ferme à environ 25 secondes
  if numeric(stylo$)=1
      stylo=val(stylo$)
  else
      stylo=0
      if flag%=1
        text prompt%+2,"Erreur, on entre une valeur S.V.P."
        color prompt%+2,255,0,0:font_color prompt%+2,255,255,255
        wait 2000 :color prompt%+2,244,235,192:font_color prompt%+2,255,0,0:text prompt%+2,titr$
        goto prompt
      end_if
  end_if
  hide prompt% :gosub mevoila
  return
rem ------------------fin clavier----------------------------------------------

coucou:
rem rends inactif tous les boutons et combos provoquant une interruption de la séquence
  for coucou%=1 to 25:inactive coucou%:next coucou%
  for coucou%=1 to 21
      if coucou(coucou%)>0 then inactive coucou(coucou%)
  next coucou%
  return

mevoila:
rem retour
  for coucou%=1 to 25:active coucou%:next coucou%
  for coucou%=1 to 21
      if coucou(coucou%)>0 then active coucou(coucou%)
  next coucou%
  display
  return

rem un tableau poursuivre le programme
textbox:
  rem  > memo box%  <
  gosub coucou
  textbox1:
  show box%-1:wait 200
  repeat:t=scancode:until t=27
  if t<>27
      textbox2:
      hide box%-1:wait 2000:goto textbox1
  else
      file_save box%,dossier$+"\control.txt"
      if flag%<2 then clear box%
      gosub mevoila
      hide box%-1:set_focus 0
  end_if
  return

quit:
gosub coucou
  titr$="etes-vous sùre de vouloir quitter":ok$="oui":non$="non":quit$="nul" :gosub alerte
  if cl%=1 then gosub save:goto sortie
  gosub mevoila
  return

aide1:
  gosub coucou
  file_load 69,dossier$+"\aide 1.jpg"
  show 66
  set_focus 66
  repeat:until scancode=27 or scancode=32
  if scancode=32 then file_load 69,dossier$+"\aide 2.jpg":wait 200:repeat:until scancode=27 or scancode=32
  hide 66
  gosub mevoila
RETURN

aide2:
  flag%=2
  gosub coucou
  file_load box%, dossier$+"\AIDE.txt"
  gosub textbox1
  file_save box%, dossier$+"\AIDE.txt"
  gosub mevoila :flag%=0
  return

sortie:
terminate

TOUTES LES PHOTOS devrons être classées par année, ici 2009
Cela ne concerne pas celles qui viennent d'être téléchargées et servent au programme.

Si nécessité, je mets quelques photos pour essayer le programme, mais normalement ce sont les votre à mettre dans le dossier 2009

Jardin potager 100_0848.th

Jardin potager 100_0852.th

Jardin potager 100_0855.th

Jardin potager 100_0927.th

Jardin potager 100_0973.th


Dernière édition par cosmos70 le Dim 11 Oct 2009 - 21:59, édité 4 fois
Revenir en haut Aller en bas
Invité
Invité




Jardin potager Empty
MessageSujet: Re: Jardin potager   Jardin potager EmptySam 3 Oct 2009 - 1:14

Remis à jour, à cause des caractères accentués qui étaient mal codé sur ce site, et la 2ème image qui ne se copie pas de la même façon. Pourquoi?
A+

Dans les REMarques du programme, les images sont au format BMP, mais lors du transfert tout a été remis en JPG pour pouvoir être téléchargeable, et le programme je l'ai modifié en conséquence.


Dernière édition par cosmos70 le Sam 3 Oct 2009 - 9:28, édité 2 fois
Revenir en haut Aller en bas
somsoc




Nombre de messages : 3
Date d'inscription : 02/10/2009

Jardin potager Empty
MessageSujet: Re: Jardin potager   Jardin potager EmptySam 3 Oct 2009 - 1:28

J'ai créé hier ce nouveau compte pour pouvoir importer le programme, mais cela n'a pas marché. Aujourd'hui, grace au conseil de JL35, j'ai pu faire le travail, et ce compte, je n'arrive pas à le supprimer, vu qu'il est devenu inutile. Si des fois quelqu'un sait comment faire. Il est hors de question d'intervenir sur 2 pseudos différents, ça n'a pas de sens, et maintenant je souhaite au contraire n'intervenir qu'un minimum de fois.
A+
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Jardin potager Empty
MessageSujet: Re: Jardin potager   Jardin potager EmptySam 3 Oct 2009 - 10:17

Je suis un peu lourd, mais je n'avais même pas fait le rapprochement que somsoc et cosmos c'était la même chose !!
Cela dit je viens juste de jeter un coup d'oeil en diagonale, bel exemple de programmation en Panoramic !

Pour ce qui est du pseudo somsoc, je ne crois pas qu'il y ait un moyen de se désinscrire, seul Jack peut le faire (c'est lui qui m'avait transféré du forum anglais au forum français).
Il te suffit de ne plus intervenir sous ce pseudo, c'est tout, et on n'en parlera plus.
Revenir en haut Aller en bas
Invité
Invité




Jardin potager Empty
MessageSujet: Re: Jardin potager   Jardin potager EmptySam 3 Oct 2009 - 13:15

modifié le 3 octobre à 13h00, pour que les images du web soient à la même dimension que les originaux. (par instruction avec stretch_on ou off).
Les fichiers marqués au départ: aide1.jpg et aide2.jpg, doivent être en réalité: "aide 1.jpg" et "aide 2.jpg"
les remarques du programme en bmp ont étés corrigé.
devient version 1.1
A+
Revenir en haut Aller en bas
Contenu sponsorisé





Jardin potager Empty
MessageSujet: Re: Jardin potager   Jardin potager Empty

Revenir en haut Aller en bas
 
Jardin potager
Revenir en haut 
Page 1 sur 1

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: