FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Mise à jour PANOMAND
par jean_debord Aujourd'hui à 11:33

» Pourquoi le compilateur stagne
par Jicehel Aujourd'hui à 11:13

» Immortaliser les photos de famille
par jjn4 Hier à 18:29

» Concours de Morpions
par jjn4 Hier à 18:11

» Compilateur FBPano
par jean_debord Hier à 10:12

» Tout est tranquille
par Jean Claude Ven 22 Sep 2017 - 21:41

» Texte en gif animé
par JL35 Ven 22 Sep 2017 - 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 ISAM toujours ISAM

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Yannick

avatar

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

MessageSujet: ISAM toujours ISAM   Lun 7 Sep 2015 - 1:37

@ Klaus

Petit souci avec isam
Rassures toi le schmilblick est surement de mon fait.

J' essai d' afficher les enregistrements d' une base selon la valeur d' un champ.
En plus clair, les articles se rapportant à un auteur or j' ai tout les articles qui sont pris en compte et je ne veux que ceux de l' auteur.

ma base est ainsi faite :

ID Article | ID Mag | ID Rubrique | ID Auteur | Nom Article
ART0001  | 0001    | 0001          | 0001        | Mon_Article.pdf

je veux voir les articles de la cle 4 qui ont la même valeur et seulement ceux là .
J' ai donc fait cette procédure :
Code:
SUB AffichListeArt(item%)
   dim_local i%,res%,fill$,v1$,v2$,v3$,v4$,v5$,key$,a$
   Clear ListeArt%
   Clear ListeUrl%
   if cle%=1
      key$ = "ART"+right$(string$(4,"0")+str$(item%),4)
      Art_ISAM_NbRec% = dll_call4("ReadIsamRecordByKey",Art_Isam_ID%,adr(Art_ISAM_rec$),1,adr(key$))
      res% = dll_call0("GetIsamOk")
      if res%=0
         v1$=string$(7," ")  : fill$ =" "
         res% = dll_call5("ExtractIsamField",Art_Isam_ID%,1,adr(Art_ISAM_rec$),adr(v1$),adr(fill$))
         a$=a$+v1$
         v2$=string$(4," ")  : fill$ =" "
         res% = dll_call5("ExtractIsamField",Art_Isam_ID%,2,adr(Art_ISAM_rec$),adr(v2$),adr(fill$))
         a$=a$+v2$
         v3$=string$(4," ")  : fill$ =" "
         res% = dll_call5("ExtractIsamField",Art_Isam_ID%,3,adr(Art_ISAM_rec$),adr(v3$),adr(fill$))
         a$=a$+v3$
         v4$=string$(4," ")  : fill$ =" "
         res% = dll_call5("ExtractIsamField",Art_Isam_ID%,4,adr(Art_ISAM_rec$),adr(v4$),adr(fill$))
         a$=a$+v4$
         v5$=string$(255," ")  : fill$ =" "
         res% = dll_call5("ExtractIsamField",Art_Isam_ID%,5,adr(Art_ISAM_rec$),adr(v5$),adr(fill$))
         a$=a$+v5$
         item_add ListeArt%,v5$
         item_add ListeUrl%,a$
         v1$="" : v2$="" :v3$="" :v4$="" :v5$="" : a$=""
      end_if
   else
      key$ = right$(string$(4,"0")+str$(item%),4)
      for i%=1 to Art_inbase%
         res% = dll_call4("ReadNextIsamRecord",Art_Isam_ID%,adr(Art_ISAM_rec$),cle%,adr(key$))
         res% = dll_call0("GetIsamOk")
         if res%=0
            v1$=string$(7," ")  : fill$ =" "
            res% = dll_call5("ExtractIsamField",Art_Isam_ID%,1,adr(Art_ISAM_rec$),adr(v1$),adr(fill$))
            a$=a$+v1$
            v2$=string$(4," ")  : fill$ =" "
            res% = dll_call5("ExtractIsamField",Art_Isam_ID%,2,adr(Art_ISAM_rec$),adr(v2$),adr(fill$))
            a$=a$+v2$
            v3$=string$(4," ")  : fill$ =" "
            res% = dll_call5("ExtractIsamField",Art_Isam_ID%,3,adr(Art_ISAM_rec$),adr(v3$),adr(fill$))
            a$=a$+v3$
            v4$=string$(4," ")  : fill$ =" "
            res% = dll_call5("ExtractIsamField",Art_Isam_ID%,4,adr(Art_ISAM_rec$),adr(v4$),adr(fill$))
            a$=a$+v4$
            v5$=string$(255," ")  : fill$ =" "
            res% = dll_call5("ExtractIsamField",Art_Isam_ID%,5,adr(Art_ISAM_rec$),adr(v5$),adr(fill$))
            a$=a$+v5$
            if cle%=2 :if v2$<>key$ : exit_for : end_if: end_if
            if cle%=3 :if v3$<>key$ : exit_for : end_if: end_if
            if cle%=4 :if v4$<>key$ : exit_for : end_if: end_if
            item_add ListeArt%,v5$
            item_add ListeUrl%,a$
            v1$="" : v2$="" :v3$="" :v4$="" :v5$="" : a$=""
         end_if
      next i%
   end_if
END_SUB

Seulement, j' ai tout les articles qui s' affichent, certes ils sont triés par ordre des auteurs mais ce n' est pas ce que je veux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ISAM toujours ISAM   Lun 7 Sep 2015 - 2:23

Plusieurs remarques:

1. Pour lire les enregistrements pour un auteur, tu utilises bien la clé 4 ? Si j'ai bien compris, la variable clé% est une variable globale qui est chargée avant l'appel de ta procédure. Si c'est bien le cas, ça va.

2. Dans le cas de la clé 4: tu veux bien tous les éléments dont la valeur de la clé 4 est identique à la valeur du paramètre item% ? Dans ce cas, tu as fait une erreur d'analyse. Il faut commencer par faire une lecture par ReadIsamRecordByKey en spécifiant la valeur de cette clé et le numéro de la clé 4. Si le code erreur est différent de 0, ou si la clé de l'enregistrement lu est différente de item%, alors il n'y a aucun enregistrement pou cette valeur de clé. Si par contre, tu as un enregistrement et la clé est bonne, tu mémorise cet enregistrement, et tu continues la lecture dans une boucle avec la fonction ReadNextIsamRecord.

3. ne fais pas ta boucle par une boucle FOR de 1 au nombre total d'enregistrements. C'est inutile et trop long. Par la procédure que le t'ai indiquée en (2), tu te pointes par la première lecture directement sur le premier enregistrement de la valeur de clé recherchée. Puis tu fais ta boucle de lecture par REPEAT..UNTIL ou WHILE..END_WHILE, en prenant comme critère de fin l'erreur sur la lecture (fin de fichier) ou valeur de clé différente.

Et là, tu lis uniquement les enregistrements qui t'intéressent, directement, sans avoir à passer par tout le fichier. C'est justement l'intérêt des clés...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Lun 7 Sep 2015 - 2:47

Je vais regarder tout ca demain matin...heu...tout à l' heure. Laughing
Et je mettrai un zip sur mon webdav aussi.

Je suis en train de faire la visionneuse pour les articles du mag
à partir de bases Isam. Je préfère m' y mettre tant que le nombre d' article
est encore raisonnable. Laughing

En tout cas, merci je pense y voir un peu plus clair. Shocked
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Lun 7 Sep 2015 - 14:24

Je ne sais pas comment j' ai fait...
...mais çà fonctionne !
lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ISAM toujours ISAM   Lun 7 Sep 2015 - 14:34

Je suis content que ça fonctionne. Mais le côté "je ne sais pas comment j'ai fait" m'inquiète un peu...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Lun 7 Sep 2015 - 17:56

@ Klaus,

J' ai coupé la procédure en deux.
Une qui cherche et l' autre qui...affiche.

Voilà ce que cela donne :
Code:
SUB AffichListeArt(item%)
  dim_local i%,res%,fill$,v1$,v2$,v3$,v4$,v5$,key$,a$
  Clear ListeArt%
  Clear ListeUrl%
  if cle%=1
      key$ = "ART"+right$(string$(4,"0")+str$(item%),4)
      Art_ISAM_rec$ = string$(Art_ISAM_reclen%," ")
      Art_ISAM_NbRec% = dll_call4("ReadIsamRecordByKey",Art_Isam_ID%,adr(Art_ISAM_rec$),1,adr(key$))
      res% = dll_call0("GetIsamOk")
      if res%=0
        WriteARTinListe()
      end_if
  else
      key$ = right$(string$(4,"0")+str$(item%),4)
      Art_ISAM_rec$ = string$(Art_ISAM_reclen%," ")
      Art_ISAM_NbRec% = dll_call4("ReadIsamRecordByKey",Art_Isam_ID%,adr(Art_ISAM_rec$),cle%,adr(key$))
      res% = dll_call0("GetIsamOk")
      if res%=0
        WriteARTinListe()
      end_if
      while Art_ISAM_NbRec% >0
        Art_ISAM_rec$ = string$(Art_ISAM_reclen%," ")
        res% = dll_call4("CreateIsamKey",Art_Isam_ID%,adr(Art_ISAM_rec$),cle%,adr(key$))
        Art_ISAM_NbRec% = dll_call4("ReadNextIsamRecord",Art_Isam_ID%,adr(Art_ISAM_rec$),cle%,adr(key$))
        caption 0,key$
        if Art_ISAM_NbRec% >0
            if val(key$)=item%
              WriteARTinListe()
            end_if
        end_if
      end_while
  end_if
END_SUB

SUB WriteARTinListe()
  dim_local res%,fill$,v1$,v2$,v3$,v4$,v5$,key$,a$
  v1$=string$(7," ")  : fill$ =" "
  res% = dll_call5("ExtractIsamField",Art_Isam_ID%,1,adr(Art_ISAM_rec$),adr(v1$),adr(fill$))
  a$=a$+v1$
  v2$=string$(4," ")  : fill$ =" "
  res% = dll_call5("ExtractIsamField",Art_Isam_ID%,2,adr(Art_ISAM_rec$),adr(v2$),adr(fill$))
  a$=a$+v2$
  v3$=string$(4," ")  : fill$ =" "
  res% = dll_call5("ExtractIsamField",Art_Isam_ID%,3,adr(Art_ISAM_rec$),adr(v3$),adr(fill$))
  a$=a$+v3$
  v4$=string$(4," ")  : fill$ =" "
  res% = dll_call5("ExtractIsamField",Art_Isam_ID%,4,adr(Art_ISAM_rec$),adr(v4$),adr(fill$))
  a$=a$+v4$
  v5$=string$(255," ")  : fill$ =" "
  res% = dll_call5("ExtractIsamField",Art_Isam_ID%,5,adr(Art_ISAM_rec$),adr(v5$),adr(fill$))
  a$=a$+v5$
  item_add ListeArt%,v5$
  item_add ListeUrl%,"http://panoramiclemag.magix.net/public/Articles/"+a$
  v1$="" : v2$="" :v3$="" :v4$="" :v5$="" : a$=""
END_SUB


T' inquiètes tu toujours autant ?... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ISAM toujours ISAM   Lun 7 Sep 2015 - 18:51

Non, bien sûr que non... c'était juste une boutade. Ca me semble tout à fait correct, comme ça.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Lun 7 Sep 2015 - 20:26

J' avais bien compris. Laughing

La visionneuse fonctionne, elle n' est pas très esthétique mais elle fonctionne...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Lun 28 Sep 2015 - 4:46

J' ai un petit souci avec une fonction de mon appli
et les fonctions ISAM.

J' ai mis le zip sur mon webdav, la fonction est ligne 280 du fichier "FCT_htm.bas"

la fonction est sensé recréer ceci:

Rubrique 1
-article
-article
...
Rubrique 2
-article
...etc

sauf que j' ai bien les rubriques mais 
la rubrique 1 a tous les articles
la rubrique 2 tous les articles sauf ceux de la rubrique 1
et ainsi de suite

Je ne vois pas du tout ce qui ne va pas
je pars sur la recherche du premier article de la rubrique
puis j' utilise la fonction "readnext..." dans une boucle while...end_while avec ISAM_NbRec%>0 comme condition
mais on dirait que la valeur de la clé est changé en cours de route... Suspect

Pour activer la toolbar, il faut sélectionner une base
Puis cliquer sur le bouton 4 pour lancer la création des fichiers
Le fichier résultat est un "Articles.txt" dans le sous dossier "Site".

Il est dépouillé du code html pour l' instant...

Pourrais tu y jeter un coup d' oeil, dès fois que le tien y voit mieux que les deux miens ? 
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ISAM toujours ISAM   Lun 28 Sep 2015 - 12:59

J'ai chargé ton projet et je l'ai fait exécuter. Il n'y a pas de plantage.

J'ai vu dans le source de FCT_htm.bas, 2 points qui m'intriguent:

1. Après une lecture par clé, tu testes bien par GetIsamOk s'il n'y a pas d'erreur. Mais s'il y a une erreur, tu continues en ligne, sans avoir chargée les champs. Ne faudrait-il pas arrêter en cas d'erreur ?

2. à partir de la ligne 335, tu cherches les articles suivants de la rubrique. Pourquoi effaces-tu l'enregistrement, avant de faire la lecture du suivant ? La routnie CreateIsamKey ne prendra que des espaces pour faire la clé...

Difficile, en l'état, d'en dire plus sans passer beaucoup plus de temps sur ce grand projet...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Lun 28 Sep 2015 - 13:48

Je ne comprends pas ta deuxième remarque.
La variable effacée est L$ qui est le variable de concaténation et d' affichage.
Si je ne l' initialise pas, je vais avoir ceci

art1
art1 art2
art1 art2 art3
etc...

Ce que je ne comprends pas c' est que la valeur de la clé change

Art_ISAM_NbRec% = dll_call4("ReadNextIsamRecord",Art_Isam_ID%,adr(Art_ISAM_rec$),3,adr(key2$))

Art_ISAM_NbRec% devrait être =0 en fin de lecture de la liste des articles correspondant à la rubrique.


Ma demarche est celle ci:

recherche des rubriques de la base article dans la liste des rubriques
par une boucle for...next

si la rubrique est une rubrique de la base article
recherche des articles de la rubrique 
recherche du premier par : Art_ISAM_NbRec% = dll_call4("ReadIsamRecordByKey",Art_Isam_ID%,adr(Art_ISAM_rec$),3,adr(key2$))
recherche des suivant par : Art_ISAM_NbRec% = dll_call4("ReadNextIsamRecord",Art_Isam_ID%,adr(Art_ISAM_rec$),3,adr(key2$))
dans une boucle while...end_while sur Art_ISAM_NbRec%>0
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ISAM toujours ISAM   Lun 28 Sep 2015 - 14:10

Citation :
La variable effacée est L$ qui est le variable de concaténation et d' affichage.
Pas exactement:
Code:
'        recherche des articles suivant ayant l' ID de la rubrique en champ n°3
        while Art_ISAM_NbRec%>0
            Art_ISAM_rec$ = string$(Art_ISAM_reclen%," ") : ' <======== c'est le record, pas une variable d'affichage
            res% = dll_call4("CreateIsamKey",Art_Isam_ID%,adr(Art_ISAM_rec$),3,adr(key2$))
            Art_ISAM_NbRec% = dll_call4("ReadNextIsamRecord",Art_Isam_ID%,adr(Art_ISAM_rec$),3,adr(key2$))
            res% = dll_call0("GetIsamOk")
            if res%=0

Citation :
Ce que je ne comprends pas c' est que la valeur de la clé change

Art_ISAM_NbRec% = dll_call4("ReadNextIsamRecord",Art_Isam_ID%,adr(Art_ISAM_rec$),3,adr(key2$))

Art_ISAM_NbRec% devrait être =0 en fin de lecture de la liste des articles correspondant à la rubrique.
A priori, la logique semble bonne. Il faut que je plonge plus avant dans la structure des clés pour comprendre. Je te tiendrai informé.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: ISAM toujours ISAM   Lun 28 Sep 2015 - 14:18

Bonjour,
Une parenthèse, mais ça concerne isam:
J'étais intervenu sur isam, en pensant que cela ne servirait qu'à un nombre réduit de personne de ce forum, et moi en premier. A la lecture de toutes les questions, et aux vues des réponses qui sont faites, cela semble bien intéressant!.

Mais voila, avec les fréquentes interventions de Ygeronimi cela semble bien compliqué. Je ne peux tester cet apport pour le moment. Je trouve difficilement le temps de coder, et je suis sur un programme complexe (pour mes propres cellules grises), et je me dis que le jour que je voudrais m'y coller, je vais me retrouver avec les mêmes problèmes. Et il faudra de nouveau poser des questions similaires à Ygeronimi pour s'en sortir.

Alors ne serait-il pas possible, peut-être par l'intermédiaire du Mag, d'avoir une approche, et des exercices, pour que chacun d'entre-nous, le jour qu'il veut utiliser cet outils, puisse s'en sortir sans avoir à intervenir, et occuper ton temps là dessus, même si cela ne semble pas te déranger.

Je sais que si je veux m'y coller à utiliser isam, j'aurai les mêmes problèmes. Pour moi, il me semble évident qu'un vrai cours avec peut-être des exercices serait le bien venu. On ne peut pas suivre chaque poste, ou alors il faut n'avoir rien à faire.
Revenir en haut Aller en bas
Yannick

avatar

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

MessageSujet: re   Lun 28 Sep 2015 - 14:29

J' ai mis la ligne en REM

affraid
Je n' ai plus que le résultat de la recherche du premier article de la rubrique
et la seule fois ou la boucle "while...end_while" est prise en compte, 
le résultat est un article de la rubrique 5 placé dans la rubrique 4  Suspect

Code:
Langage
         ART0003000100010002definition_des_termes_employes.pdf
Temoignages
         ART0001000100020001le_basic_et_panoramic.pdf
Tutoriels
         ART0012000300030003calculatrice.pdf
2D
22/0005/0005/0005         ART0017000400050011camera_3d.pdf
3D
         ART00100002000500113d_chain.pdf
Colorisation
         ART0015000300060010un_peu_de_couleur.pdf
Graphisme
         ART0018000400070003fractales_I.pdf
Binaire
         ART0053001400080005arithmetique_binaire.pdf
Ligne de commande
         ART0020000400090005la_ligne_de_commande.pdf
Outils
         ART0002000100100005premier_contact_avec_panoramic.pdf
Conseils
         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
Jeux
         ART0013000300120002tuto_pacman_I.pdf
Robotique
         ART0021000500130007vous_avez_dit_arduino.pdf

résultat sans la ligne en rem :

Code:
Langage
         ART0003000100010002definition_des_termes_employes.pdf
12/0001/0001/0001         ART0007000200010005structures_de_programmation.pdf
13/0001/0001/0001         ART0008000200010003les_directives.pdf
14/0001/0001/0001         ART0009000200010004comprehension_des_routines_evenement_en_panoramic.pdf
44/0001/0001/0001         ART0039000900010005astuces.pdf
47/0001/0001/0001         ART0042001000010005panoramic_et_les_api_windows.pdf
49/0001/0001/0001         ART0044001000010005recursivite.pdf
52/0001/0001/0001         ART0047001100010002algorithmique.pdf
55/0001/0001/0001         ART0050001200010008la_liaison_serie_avec_domoticom.pdf
57/0001/0001/0001         ART0052001300010010panoramic_au_secours_du_pedagogue.pdf
61/0001/0001/0001         ART0056001400010008panoramic_pour_android.pdf
66/0001/0001/0001         ART0061001600010003compilateur_I.pdf
67/0001/0001/0001         ART0062001600010008pour_ne_pas_perdre_le_nord.pdf
69/0001/0001/0001         ART0064001700010003compilateur_II.pdf
70/0001/0001/0001         ART0065001700010003compilateur_III.pdf
71/0001/0001/0001         ART0066001800010003compilateur_IV.pdf
73/0001/0001/0001         ART0068001900010003compilateur_V.pdf
74/0001/0001/0001         ART0069001900010008les_systemes_a_onglets.pdf
77/0001/0001/0001         ART0072002000010003compilateur_VI.pdf
78/0001/0001/0001         ART0073002000010003compilateur_VII.pdf
80/0001/0001/0001         ART0075002100010003compilateur_VIII.pdf
82/0001/0001/0001         ART0077002200010003compilateur_IX.pdf
6/0002/0002/0002         ART0001000100020001le_basic_et_panoramic.pdf
10/0002/0002/0002         ART0005000100020010tribulations_d_un_touriste_panoramicien.pdf
17/0003/0003/0003         ART0012000300030003calculatrice.pdf
37/0003/0003/0003         ART0032000700030004comment_creer_une_toolbar.pdf
38/0003/0003/0003         ART0033000700030004dynamicallyloaddll.pdf
40/0003/0003/0003         ART0035000800030003panoramic_et_c.pdf
41/0003/0003/0003         ART0036000800030004utilisation_des_fonctions_impression.pdf
50/0003/0003/0003         ART0045001000030006creer_un_site_en_html_avec_panoramic.pdf
51/0003/0003/0003         ART0046001100030003nombres_complexes.pdf
60/0003/0003/0003         ART0055001400030010panopeda_1.pdf
62/0003/0003/0003         ART0057001500030004menu_dynamique_vertical.pdf
63/0003/0003/0003         ART0058001500030010panopedeux.pdf
75/0003/0003/0003         ART0070001900030002theorie_des_collisions.pdf
76/0003/0003/0003         ART0071002000030002theorie_des_collisions_II.pdf
81/0003/0003/0003         ART0076002100030004utilisation_des_fichiers_isam.pdf
83/0003/0003/0003         ART0078002200030002theorie_des_collisions_III.pdf
15/0005/0005/0005         ART00100002000500113d_chain.pdf
22/0005/0005/0005         ART0017000400050011camera_3d.pdf
46/0005/0005/0005         ART0041001000050002creons_de_la_3d.pdf
20/0006/0006/0006         ART0015000300060010un_peu_de_couleur.pdf
32/0006/0006/0006         ART0027000600060003hsv.pdf
23/0007/0007/0007         ART0018000400070003fractales_I.pdf
29/0007/0007/0007         ART0024000500070003fractales_II.pdf
31/0007/0007/0007         ART0026000600070003fractales_III.pdf
35/0007/0007/0007         ART0030000700070003fractales_IV.pdf
39/0007/0007/0007         ART0034000800070003fractales_V.pdf
43/0007/0007/0007         ART0038000900070003fractales_VI.pdf
48/0007/0007/0007         ART0043001000070003fractales_VII.pdf
53/0007/0007/0007         ART0048001100070005math_pour_graphisme_2d_3d.pdf
54/0007/0007/0007         ART0049001200070003fractales_VIII.pdf
56/0007/0007/0007         ART0051001300070003fractales_IX.pdf
59/0007/0007/0007         ART0054001400070003fractales_X.pdf
79/0007/0007/0007         ART0074002000070005coordonnees_polaires.pdf
58/0008/0008/0008         ART0053001400080005arithmetique_binaire.pdf
25/0009/0009/0009         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Temoignages
         ART0001000100020001le_basic_et_panoramic.pdf
10/0002/0002/0002         ART0005000100020010tribulations_d_un_touriste_panoramicien.pdf
17/0003/0003/0003         ART0012000300030003calculatrice.pdf
37/0003/0003/0003         ART0032000700030004comment_creer_une_toolbar.pdf
38/0003/0003/0003         ART0033000700030004dynamicallyloaddll.pdf
40/0003/0003/0003         ART0035000800030003panoramic_et_c.pdf
41/0003/0003/0003         ART0036000800030004utilisation_des_fonctions_impression.pdf
50/0003/0003/0003         ART0045001000030006creer_un_site_en_html_avec_panoramic.pdf
51/0003/0003/0003         ART0046001100030003nombres_complexes.pdf
60/0003/0003/0003         ART0055001400030010panopeda_1.pdf
62/0003/0003/0003         ART0057001500030004menu_dynamique_vertical.pdf
63/0003/0003/0003         ART0058001500030010panopedeux.pdf
75/0003/0003/0003         ART0070001900030002theorie_des_collisions.pdf
76/0003/0003/0003         ART0071002000030002theorie_des_collisions_II.pdf
81/0003/0003/0003         ART0076002100030004utilisation_des_fichiers_isam.pdf
83/0003/0003/0003         ART0078002200030002theorie_des_collisions_III.pdf
15/0005/0005/0005         ART00100002000500113d_chain.pdf
22/0005/0005/0005         ART0017000400050011camera_3d.pdf
46/0005/0005/0005         ART0041001000050002creons_de_la_3d.pdf
20/0006/0006/0006         ART0015000300060010un_peu_de_couleur.pdf
32/0006/0006/0006         ART0027000600060003hsv.pdf
23/0007/0007/0007         ART0018000400070003fractales_I.pdf
29/0007/0007/0007         ART0024000500070003fractales_II.pdf
31/0007/0007/0007         ART0026000600070003fractales_III.pdf
35/0007/0007/0007         ART0030000700070003fractales_IV.pdf
39/0007/0007/0007         ART0034000800070003fractales_V.pdf
43/0007/0007/0007         ART0038000900070003fractales_VI.pdf
48/0007/0007/0007         ART0043001000070003fractales_VII.pdf
53/0007/0007/0007         ART0048001100070005math_pour_graphisme_2d_3d.pdf
54/0007/0007/0007         ART0049001200070003fractales_VIII.pdf
56/0007/0007/0007         ART0051001300070003fractales_IX.pdf
59/0007/0007/0007         ART0054001400070003fractales_X.pdf
79/0007/0007/0007         ART0074002000070005coordonnees_polaires.pdf
58/0008/0008/0008         ART0053001400080005arithmetique_binaire.pdf
25/0009/0009/0009         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Tutoriels
         ART0012000300030003calculatrice.pdf
37/0003/0003/0003         ART0032000700030004comment_creer_une_toolbar.pdf
38/0003/0003/0003         ART0033000700030004dynamicallyloaddll.pdf
40/0003/0003/0003         ART0035000800030003panoramic_et_c.pdf
41/0003/0003/0003         ART0036000800030004utilisation_des_fonctions_impression.pdf
50/0003/0003/0003         ART0045001000030006creer_un_site_en_html_avec_panoramic.pdf
51/0003/0003/0003         ART0046001100030003nombres_complexes.pdf
60/0003/0003/0003         ART0055001400030010panopeda_1.pdf
62/0003/0003/0003         ART0057001500030004menu_dynamique_vertical.pdf
63/0003/0003/0003         ART0058001500030010panopedeux.pdf
75/0003/0003/0003         ART0070001900030002theorie_des_collisions.pdf
76/0003/0003/0003         ART0071002000030002theorie_des_collisions_II.pdf
81/0003/0003/0003         ART0076002100030004utilisation_des_fichiers_isam.pdf
83/0003/0003/0003         ART0078002200030002theorie_des_collisions_III.pdf
15/0005/0005/0005         ART00100002000500113d_chain.pdf
22/0005/0005/0005         ART0017000400050011camera_3d.pdf
46/0005/0005/0005         ART0041001000050002creons_de_la_3d.pdf
20/0006/0006/0006         ART0015000300060010un_peu_de_couleur.pdf
32/0006/0006/0006         ART0027000600060003hsv.pdf
23/0007/0007/0007         ART0018000400070003fractales_I.pdf
29/0007/0007/0007         ART0024000500070003fractales_II.pdf
31/0007/0007/0007         ART0026000600070003fractales_III.pdf
35/0007/0007/0007         ART0030000700070003fractales_IV.pdf
39/0007/0007/0007         ART0034000800070003fractales_V.pdf
43/0007/0007/0007         ART0038000900070003fractales_VI.pdf
48/0007/0007/0007         ART0043001000070003fractales_VII.pdf
53/0007/0007/0007         ART0048001100070005math_pour_graphisme_2d_3d.pdf
54/0007/0007/0007         ART0049001200070003fractales_VIII.pdf
56/0007/0007/0007         ART0051001300070003fractales_IX.pdf
59/0007/0007/0007         ART0054001400070003fractales_X.pdf
79/0007/0007/0007         ART0074002000070005coordonnees_polaires.pdf
58/0008/0008/0008         ART0053001400080005arithmetique_binaire.pdf
25/0009/0009/0009         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
2D
22/0005/0005/0005         ART0017000400050011camera_3d.pdf
46/0005/0005/0005         ART0041001000050002creons_de_la_3d.pdf
20/0006/0006/0006         ART0015000300060010un_peu_de_couleur.pdf
32/0006/0006/0006         ART0027000600060003hsv.pdf
23/0007/0007/0007         ART0018000400070003fractales_I.pdf
29/0007/0007/0007         ART0024000500070003fractales_II.pdf
31/0007/0007/0007         ART0026000600070003fractales_III.pdf
35/0007/0007/0007         ART0030000700070003fractales_IV.pdf
39/0007/0007/0007         ART0034000800070003fractales_V.pdf
43/0007/0007/0007         ART0038000900070003fractales_VI.pdf
48/0007/0007/0007         ART0043001000070003fractales_VII.pdf
53/0007/0007/0007         ART0048001100070005math_pour_graphisme_2d_3d.pdf
54/0007/0007/0007         ART0049001200070003fractales_VIII.pdf
56/0007/0007/0007         ART0051001300070003fractales_IX.pdf
59/0007/0007/0007         ART0054001400070003fractales_X.pdf
79/0007/0007/0007         ART0074002000070005coordonnees_polaires.pdf
58/0008/0008/0008         ART0053001400080005arithmetique_binaire.pdf
25/0009/0009/0009         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
3D
         ART00100002000500113d_chain.pdf
22/0005/0005/0005         ART0017000400050011camera_3d.pdf
46/0005/0005/0005         ART0041001000050002creons_de_la_3d.pdf
20/0006/0006/0006         ART0015000300060010un_peu_de_couleur.pdf
32/0006/0006/0006         ART0027000600060003hsv.pdf
23/0007/0007/0007         ART0018000400070003fractales_I.pdf
29/0007/0007/0007         ART0024000500070003fractales_II.pdf
31/0007/0007/0007         ART0026000600070003fractales_III.pdf
35/0007/0007/0007         ART0030000700070003fractales_IV.pdf
39/0007/0007/0007         ART0034000800070003fractales_V.pdf
43/0007/0007/0007         ART0038000900070003fractales_VI.pdf
48/0007/0007/0007         ART0043001000070003fractales_VII.pdf
53/0007/0007/0007         ART0048001100070005math_pour_graphisme_2d_3d.pdf
54/0007/0007/0007         ART0049001200070003fractales_VIII.pdf
56/0007/0007/0007         ART0051001300070003fractales_IX.pdf
59/0007/0007/0007         ART0054001400070003fractales_X.pdf
79/0007/0007/0007         ART0074002000070005coordonnees_polaires.pdf
58/0008/0008/0008         ART0053001400080005arithmetique_binaire.pdf
25/0009/0009/0009         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Colorisation
         ART0015000300060010un_peu_de_couleur.pdf
32/0006/0006/0006         ART0027000600060003hsv.pdf
23/0007/0007/0007         ART0018000400070003fractales_I.pdf
29/0007/0007/0007         ART0024000500070003fractales_II.pdf
31/0007/0007/0007         ART0026000600070003fractales_III.pdf
35/0007/0007/0007         ART0030000700070003fractales_IV.pdf
39/0007/0007/0007         ART0034000800070003fractales_V.pdf
43/0007/0007/0007         ART0038000900070003fractales_VI.pdf
48/0007/0007/0007         ART0043001000070003fractales_VII.pdf
53/0007/0007/0007         ART0048001100070005math_pour_graphisme_2d_3d.pdf
54/0007/0007/0007         ART0049001200070003fractales_VIII.pdf
56/0007/0007/0007         ART0051001300070003fractales_IX.pdf
59/0007/0007/0007         ART0054001400070003fractales_X.pdf
79/0007/0007/0007         ART0074002000070005coordonnees_polaires.pdf
58/0008/0008/0008         ART0053001400080005arithmetique_binaire.pdf
25/0009/0009/0009         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Graphisme
         ART0018000400070003fractales_I.pdf
29/0007/0007/0007         ART0024000500070003fractales_II.pdf
31/0007/0007/0007         ART0026000600070003fractales_III.pdf
35/0007/0007/0007         ART0030000700070003fractales_IV.pdf
39/0007/0007/0007         ART0034000800070003fractales_V.pdf
43/0007/0007/0007         ART0038000900070003fractales_VI.pdf
48/0007/0007/0007         ART0043001000070003fractales_VII.pdf
53/0007/0007/0007         ART0048001100070005math_pour_graphisme_2d_3d.pdf
54/0007/0007/0007         ART0049001200070003fractales_VIII.pdf
56/0007/0007/0007         ART0051001300070003fractales_IX.pdf
59/0007/0007/0007         ART0054001400070003fractales_X.pdf
79/0007/0007/0007         ART0074002000070005coordonnees_polaires.pdf
58/0008/0008/0008         ART0053001400080005arithmetique_binaire.pdf
25/0009/0009/0009         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Binaire
         ART0053001400080005arithmetique_binaire.pdf
25/0009/0009/0009         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Ligne de commande
         ART0020000400090005la_ligne_de_commande.pdf
72/0009/0009/0009         ART0067001800090005entree_sortie_en_ligne_de_commande.pdf
7/0010/0010/0010         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Outils
         ART0002000100100005premier_contact_avec_panoramic.pdf
11/0010/0010/0010         ART0006000200100002presentation_de_panoramic_editor.pdf
16/0010/0010/0010         ART0011000300100001je_debute_avec_panoramic_I.pdf
21/0010/0010/0010         ART0016000400100001je_debute_avec_panoramic_II.pdf
30/0010/0010/0010         ART0025000500100001je_debute_avec_panoramic_III.pdf
33/0010/0010/0010         ART0028000600100001je_debute_avec_panoramic_IV.pdf
34/0010/0010/0010         ART0029000700100001je_debute_avec_panoramic_V.pdf
36/0010/0010/0010         ART0031000700100003dll.pdf
42/0010/0010/0010         ART0037000900100011cercles.pdf
9/0011/0011/0011         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Conseils
         ART0004000100110005conseil_de_programmation_avec_panoramic.pdf
18/0012/0012/0012         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Jeux
         ART0013000300120002tuto_pacman_I.pdf
19/0012/0012/0012         ART0014000300120002tuto_pacman_II.pdf
24/0012/0012/0012         ART0019000400120002creer_le_document_conceptuel_d_un_jeu.pdf
28/0012/0012/0012         ART0023000500120002creer_un_jeu.pdf
45/0012/0012/0012         ART0040000900120002tuto_pacman_III.pdf
64/0012/0012/0012         ART0059001500120002panorabric_pc_v2.pdf
65/0012/0012/0012         ART0060001600120012le_solitaire.pdf
68/0012/0012/0012         ART0063001700120002tetris.pdf
26/0013/0013/0013         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Robotique
         ART0021000500130007vous_avez_dit_arduino.pdf
27/0013/0013/0013         ART0022000500130002faire_clignoter_une_led.pdf
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ISAM toujours ISAM   Lun 28 Sep 2015 - 15:10

@Cosmos70:
J'avais fait un tuto pour ISAM, mais je ne me rappelle plus où il a été publié. Je n'arrive pas à le trouver sur le Mag (honte à moi...). Alors, sur mon WebDav, j'ai fait un nouveai dossier "Tutos" et je l'ai placé dedans. Cela donne la description générale, et un exemple complet et fonctionnel de réalisation d'une application avec ISAM.

@Ygeronimi:
Comme je l'ai dit: je dois me plonger plus profondément dans ton code. En particulier, comprendre les définitions des clés et leur utilisation. On verra ça ce soir. Là, je dois partir.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Lun 28 Sep 2015 - 15:20

Il n' y a pas de honte.
Il est dans les articles, rubrique "Tutoriels"

Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Lun 28 Sep 2015 - 23:54

J' ai trouvé une parade avec deux boucles for...next imbriquées.
C' est pas beau mais cela fonctionne.
Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Mer 30 Sep 2015 - 12:06

Un petit truc assez cocasse...

j' ai ajouté une base à mon schmilblick def$="3,4,30"
les fichiers se sont bien créés.
Je me suis rendu compte que cela n' était pas adapté à mon usage et
je voulais 3 champs 4,30,255
j' ai donc supprimé les deux fichiers et modifié def$ en def$="4,4,30,255".

or, depuis, il me recré à chaque fois une base en def$="3,4,30"

Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Mer 30 Sep 2015 - 15:02

Bon, encore une fois, le copier/coller a frappé.
Je n' avais pas renommé les variable support$ comme il se devait pour cette base.
Mais voilà que maintenant il ne veut plus me créer les fichiers
bounce

Edit : [Résolu]

Appelez moi Bugman, j' arrive à créer des bugs, faire ch... tout le monde pour les résoudre et finir par trouver la solution une fois que j' ai embrouillé tout le monde...
Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: ISAM toujours ISAM   Mer 30 Sep 2015 - 16:16

Ce don n’est pas donné à tout le monde, Bugman . king
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: ISAM toujours ISAM   Mer 30 Sep 2015 - 16:20

Citation :
Appelez moi Bugman
Ahhh ! Serait ce un concurrent Question Exclamation drunken

lol! lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: ISAM toujours ISAM   Mer 30 Sep 2015 - 16:47

Vite, faites de vos Mini BUG man des marques déposées.
Vous serez tranquilles de la sorte.
lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

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

MessageSujet: re   Jeu 1 Oct 2015 - 17:06

Je crois pouvoir dire qu' il y a un souci avec la fonction "ReadNextIsamRecord" d' ISAM.

Si cette fonction est utilisé dans une boucle simple, tout va bien.
Maintenant, si elle est utilisé dans des boucles imbriqués où elle fait partie des deux boucles,
Il y a un souci. La variable clé / key$ est perturbé à moins que cela vienne d' ailleurs.
en fait le résultat démarre bien avec la valeur de la clé mais passe à la valeur suivante en fin de liste des enregistrements
correspondant à la clé au lieu de s' arrêter et de renvoyer "0".
ce qui donne en gros, visuellement :

a1,a2,a3,a4
a2,a3,a4
a3,a4
a4

au lieu de :

a1
a2
a3
a4

D' où l' importance de bien penser les clés au tout début de la conception du programme
avec des clés contenant plusieurs champs ( ce qui n' a pas été mon cas, malheureusement  Embarassed ).

Pour mon programme actuel, je vais contourner le problème ( Je n' ai pas le courage de tout reprendre, refaire les bases, etc... Embarassed )
Mais pour les prochains, je prendrai un peu plus de temps pour la réflexion, c' est sûr.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ISAM toujours ISAM   Jeu 1 Oct 2015 - 17:40

Si tu as une structure du genre suivant:
Code:
auteur1
  article1
  article2
  ...
  articlen
auteur2
  aricle1
  article2
  ..
Auteur...
...
supposant que tu as tout mis dans un seul fichier, et si tu veux lire l'ensemble, en donnant la liste des articles par auteur, tu as 2 solutions:

1. solution à 2 clée:
tu définis 2 clés: clé1=auteur clé2=auteur+article
tu fais une boucle extérieure sur la clé 1, lisant auteur par auteur
pour chaque auteur, tu fais une boucle intérieure en commençant par une lecture par clé2 composée de auteur+" ", puis lecture séquentielle par clé2, jusqu'à ce que l'auteur soit différent de l'auteur sélectionné, ou fin de fichier

2. solution à 1 clé:
tu définis 1 clé: clé1=auteur+article
tu mets une variable auteur_précédent$=""
tu fais une seule boucle, sur la clé 1, lisant toujours l'enregistrement suivant. chaque fois que auteur<>auteur_précédent$, tu signales l'auteur et tu traites ensuite l'article défini par cet enregistrement, et tu mémorises auteur_précédent$=auteur. Sinon, tu traites simplement l'article, puisqu'il est forcément pour le même auteur.

supposant que tu as un fichier des auteurs et un fichier des articles (solution que je préfèrerais), et si tu veux lire l'ensemble, en donnant la liste des articles par auteur, tu as 1 solution:

solution en deux fichiers:
tu déclares, sur le fichier des auteurs, la clé1=auteur
tu déclares, sur le fichier des articles, la clé1=auteur+article
tu fais une boucle extérieure sur la clé 1 du fichier des auteurs, lisant auteur par auteur
pour chaque auteur, tu fais une boucle intérieure sur le fichier des articles en commençant par une lecture par clé1 composée de auteur+" ", puis lecture séquentielle par clé1, jusqu'à ce que l'auteur soit différent de l'auteur sélectionné, ou fin de fichier

Voilà ce que je peux dire au niveau de la logique de recherche. Le problème réside dans le fait que, en lecture séquentielle selon une clé composée, tu passes sur l'ensemble des enregistrements des fichiers, commençant par l'enregistrement lu initialement par une lecture directe par clé, mais les lectures séquentielles suivantes ne s'arrêtent qu'à la fin du fichier. Il incombe au programmeur (à toi, dans ce cas...), de tester la clé lue (c'est pourquoi la fonction de lecture séquentielle retourne la valeur de la clé lue !) correspond bien au début de clé que tu cherches à lire, ou s'il y a ce qu'on appelle dans le jargon de la programmation de gestion une "rupture", ce qui dans notre cas signifie "auteur diférent".

Tu vois ainsi que pour un accès par deux clés différentes, tu n'as pas d'autre choix que de faire deux boucles imbriquées. C'est la logique. Mais la force d'Isam est justement de pouvoir éviter cela !

Certes, deux clés peuvent être utiles, et même plusieurs clés. Reprenons notre exemple. Si tu mets tout dans un seul fichier, et si tu définis les clés suivantes:
cle1=auteur
cle2=article
cle3=auteur+article
Tu peux alors facilement affichier la liste des auteurs par une seule boucle sur la clé 1.
Tu peux donner une liste des articles, ordonnée selon le titre de l'article (ou sa référence) par une seule boucle selon la clé 2
Tu peux donner la liste des articles, ordonnée selon les auteurs, par une seule boucle sur la clé 2, en testant la "rupture" sur le champ auteur

Bien sûr, tu peux pousser le principe plus loin. Suppose que les articles sont classées par catégorie, et ont tous une date de publication. Alors, on pourrait faire les clés suivantes:
cle1=auteur
cle2=article
cle3=auteur+article
cle4=catégorie
cle5=date
cle6=catégorie+date+article
etc
Et, en plus des traitements décrits ci-dessus, tu pourrais faire:
une liste de tous les articles, classée par catégorie, en lisant par la clé 4 (traiter la rupture sur la catégorie)
une liste chronologique des articles en lisant par la clé 5 (traiter la rupture sur le mois et/ou l'année)
une liste chronologique des articles par catégorie, en lisant par la clé 6 (traiter la rupture sur la catégorie)
etc.

Dans tous les cas, la notion de "rupture" est essentielle pour structurer le résultat. Et cela dépend uniquement de l'usage que tu veux faire des données lues. En aucun cas, Isam ne peut deviner ce que tu veux faire et géer les ruptures à ta place.

Tu vois un peu mieux où je veux en venir ?

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Jeu 1 Oct 2015 - 17:51

Je ferai des essais un peu plus tard, là , faut que je sorte (j' ai vidé une bombe à mouches dans mon appart ).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: ISAM toujours ISAM   

Revenir en haut Aller en bas
 
ISAM toujours ISAM
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» ISAM toujours ISAM
» mon ordi est t'il toujours proteger ?(résolu)
» Comment afficher toujours la bonne heure sans boucle infini?
» Je reviens toujours au point de départ
» Image de fond extensible avec un logo toujours centrer

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: