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 a jour calculatrice
par JL35 Aujourd'hui à 14:14

» [solved] 3D_LINE How to ?
par papydall Aujourd'hui à 6:51

» supprimé
par joeeee2017 Dim 15 Oct 2017 - 20:02

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» Convertisseur de base 10 de 2 à 36
par gigi75 Sam 14 Oct 2017 - 21:54

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» supprimé
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

» Mise à jour PANOMAND
par jean_debord Mar 26 Sep 2017 - 11:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Nouvelle version

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

Nombre de messages : 1764
Date d'inscription : 28/05/2007

MessageSujet: Nouvelle version   Sam 24 Nov 2012 - 14:55

Quelques nouvelles.
Je suis en train de reprendre la structure de Panoramic, pour en faire une architecture à machine virtuelle. Cela produira des exécutables plus concis et beaucoup plus rapides. Et, cela aura une retombée importante: la possibilité de déclarer et utiliser les fonctions.

Cela va prendre du temps, mais je sais que vous êtes patients.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Jean Claude

avatar

Nombre de messages : 5032
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Nouvelle version   Sam 24 Nov 2012 - 15:43

Bien, on va patienter Very Happy

Toutefois, comme tu l'indiques ce sera long, alors je me permet de te suggérer de sortir une version instantanée corrigeant le bug "FILE_FIRST_FIND$. (à moins que ce ne soit tout aussi long)

Je constate avec plaisir que tu reste motivé sur Panoramic et je t'en remercie.

Vive Panoramic cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

Nombre de messages : 1764
Date d'inscription : 28/05/2007

MessageSujet: Re: Nouvelle version   Sam 24 Nov 2012 - 16:02

Un bug avec FILE_FIND_FIRST$ ?

En balayant rapidement les titres de la rubrique "bugs", je ne trouve pas, mais je suis un peu dépassé par les événements en ce moment. Je suis à plusieurs milliers de km de la France et je profite d'un temps de repos pour regarder le forum.

Dans la rubrique "A l'aide", qui demande l'aide des autres panoramiciens, je trouve bien:
http://panoramic.free-boards.net/t2623-probleme-de-repertoire-apres-file_find_xxx
mais Klaus semble dire que le problème vient de son source.

En quoi consiste le bug de FILE_FIND_FIRTS$ ?
Je viens de repasser les tests concernant cette commande et je ne vois pas de problème.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Sam 24 Nov 2012 - 16:19

Tout d'abord, bravo pour cette initiative. Effectivement, on sera patient. Nous savons que le résultat vaudra la peine d'attendre.

Mais, pour le FILE_FIND_xxx, je ne suis pas d'accord. Je dis bien, dans mes posts, que mon source permet de mettre le problème en évidence, et non que le problème provient de mon source. Voici, pour mémoire, mon programme:
Code:
' analyser_sources.bas

labels()
variables()
form0()
GUI()
initialisations()

end

start1:
  clear no_l1%
  clear no_l2%
  s$ = dir_current$
  save$ = s$
'  dir_change ... : ' <======== forcer ici éventuellement un autre dossier de départ
  if s$="_" then return
  indent$ = "  "
  item_add no_l1%,indent$ + s$
  analyser_dossiers()
  lister_fichiers(".bas")
  dir_change save$
  file_save no_l2%,"liste_sources.txt"
  return
 
start2:
  clear no_l3%
  save$ = dir_current$
  file_load no_l2%,"liste_sources.txt"
  traiter_fichiers()
  dir_change save$
  return
 
start3:
' --- code de start1 ----------------------
  clear no_l1%
  clear no_l2%
  s$ = dir_current$
  save$ = s$
'  dir_change ... : ' <======== forcer ici éventuellement un autre dossier de départ
  if s$="_" then return
  indent$ = "  "
  item_add no_l1%,indent$ + s$
  analyser_dossiers()
  lister_fichiers(".bas")
  dir_change save$
  file_save no_l2%,"liste_sources.txt"
' --- code de start2 ----------------------
  clear no_l3%
  save$ = dir_current$
  file_load no_l2%,"liste_sources.txt"
  traiter_fichiers()
  dir_change save$
  return
 
sub labels()
  label start1, start2, start3
end_sub

sub variables()
  dim no%, i%, s$, indent$, save$
  dim no_l1%, no_l2%, no_l3%
end_sub

sub form0()
  caption 0,"Analyser les fichier sources"
  width 0,700
end_sub

sub GUI()
  no% = no% + 1 : button no% : top no%,10 : left no%,10
    caption no%,"Chercher" : on_click no%,start1
  no% = no% + 1 : button no% : top no%,10 : left no%,160
    caption no%,"Analyser" : on_click no%,start2
  no% = no% + 1 : button no% : top no%,10 : left no%,310 : width no%,200
    caption no%,"Chercher et Analyser" : on_click no%,start3

  no% = no% + 1 : memo no% : no_l1% = no%  :  bar_both no%
    top no%,40 : left no%,10 : width no%,200 : height no%,400
  no% = no% + 1 : memo no% : no_l2% = no%  :  bar_both no%
    top no%,40 : left no%,220 : width no%,200 : height no%,400
  no% = no% + 1 : memo no% : no_l3% = no%  :  bar_both no%
    top no%,40 : left no%,430 : width no%,200 : height no%,400

end_sub

sub initialisations()
  indent$ = ""
end_sub

sub analyser_dossiers()
  dim_local n%, i%, p%, flag%
  indent$ = indent$ + "  "
  flag% = 1
  while flag%=1
    n% = 1
    flag% = 0
    while n%<=count(no_l1%)
      s$ = item_read$(no_l1%,n%)
      if left$(s$,2)="  "
        item_delete no_l1%,n%
        item_insert no_l1%,n%,"--"+mid$(s$,3,len(s$))
        p% = 0
        for i%=1 to len(s$)
          if mid$(s$,i%,1)<>" " then exit_for
          p% = i%
        next i%
        indent$ = string$(p%+2," ")
        s$ = trim$(s$)
        dir_change s$
        s$ = file_find_first$
        while s$<>"_"
          if dir_exists(s$)=1
            n% = n% + 1
            item_insert no_l1%, n%, indent$ + dir_current$+"\"+s$
            flag% = 1
          end_if
          s$ = file_find_next$
        end_while
        file_find_close
      end_if
      n% = n% + 1
    end_while
  end_while
  item_add no_l1%,"*** terminé ***"
end_sub

sub lister_fichiers(ext$)
  dim_local n%, s$
  if count(no_l1%)=0 then exit_sub
  for n%=1 to count(no_l1%)
    s$ = item_read$(no_l1%,n%)
    s$ = trim$(mid$(s$,3,len(s$)))
    dir_change s$
    s$ = file_find_first$
    while s$<>"_"
      if dir_exists(s$)=0
        if ext$<>""
          if right$(s$,len(ext$))=ext$ then item_add no_l2%,dir_current$+"\"+s$
        else
          item_add no_l2%,dir_current$+"\"+s$
        end_if
      end_if
      s$ = file_find_next$
    end_while
    file_find_close
  next n%
end_sub

sub traiter_fichiers()
  dim_local n%, f$, s$, d$
  if count(no_l2%)=0 then exit_sub
  for n%=1 to count(no_l2%)
    f$ = item_read$(no_l2%,n%)
    item_add no_l3%,f$
    file_open_read 1,f$
    while file_eof(1)=0
      file_readln 1,s$
      if lower$(left$(trim$(s$),4))="sub " then item_add no_l3%,s$
    end_while
    file_close 1
    item_add no_l3%,""
  next n%
end_sub

Et, voici ce que je dis dans mon dernier post sur ce sujet du 2 novembre:
Citation :

Donc, malheureusement, ton test ne fait que confirmer ce que je dis: les ouvertures de fichier ne marchent pas s'il y a la boucle de FILE_FIND_xxx auparavent. La preuve: supprime le fichier liste_sources.txt, puis clique directement sur le bouton de droite. Forcément, le mémo du milieu est vide et le traitement ne parche pas.

Je persiste dans mon constat:
1. les boucles de FILE_FIND_xxx marchent bien
2. les ouvertures/lectures/fermetures de fichiers texte marchent bien
3. enchaîner phase (1) puis phase (2) provoque un plantage
Et voici comment procéder (extrait d'un des posts précédents):
Citation :

1er essai:
- cliquer directement de bouton de droite plante ==> file not found

2ème essai:
- cliquer le bouton de gauche -> résultat correct dans la liste du milieu
- cliquer le bouton du milieu -> plantage ==> file not found

3ème essai:
- cliquer le bouton de gauche -> résultat correct dans la liste du milieu
- sortir du programme
- relancer le programme
- cliquer sur le bouton du milieu ==> résultat correct et concluant !

Donc, rien de changé. On ne peut PAS ouvrir un fichier dont le nom est dans la liste, après les boucles FILE_FIND_xxx !

En gros, dès qu'on a parcouru un répertoire avec les commandes FILE_FIND_xxx, on ne peut plus ouvrir un fichier dont le nom a été mémorise. Il faut sortir du programme, relancer le programme, reprendre la liste qui a été enregistrée dans un fichier texte, puis choisir un de ces noms pour l'ouvrir. Là, ça marche. Et même si, après FILE_FLIND_CLOSE, on fait un FILE_FIND_FIRST sur un autre répertoire, cela ne libère rien.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

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

MessageSujet: Re: Nouvelle version   Sam 24 Nov 2012 - 16:29

Salut Jack.
Merci pour l’info.
On sera patient parce qu’on comprend bien l’ardeur de la tâche.

A propos de FILE_FIND_FIRST$ :
Je crois qu’il existe un vrai bug avec FILE_FIND_FIRST$.
Cette source de recherche une fois ouverte, ne peut plus être fermée même pas par FILE_FIND_CLOSE.

Voir ici

C’est à toi de conclure.


Je fais 2 petites remarques :
1) Lorsqu’on ouvre PANORAMIC_EDITOR, il s’ouvre dans une fenêtre réduite en hauteur.
Il serait plus commode s’il s’ouvre dans une fenêtre agrandie ou normale.
Je crois que cette remarque a déjà été signalée.

2) Dans une ligne de remarque par l’apostrophe, si cette ligne contient le caractère accolade fermante ‘} ’, tout ce qui suit n’est plus coloré.
Ça se passe comme si l’accolade fermante joue le rôle de caractère de fin d’instruction !


Code:

' ceci est une remarque } mais le texte après l'accolade fermante n'est plus coloré
' {blablabla} print "salut" : comme si ce n'est pas une ligne REM
' ça n'a aucune incidence sur le déroulement du programme mais c'est qu'en même curieux!


Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Invité
Invité



MessageSujet: Re: Nouvelle version   Sam 24 Nov 2012 - 20:16

Bonjour Jack, bonjour à tous
Citation :
pour en faire une architecture à machine virtuelle
.
De ce que je connais d'une machine virtuelle, ce sont les émulateurs, comme j'ai utilisé pour programmer sur mon Palm.

Mais pour Panoramic, comment comprenez-vous ce terme?
Revenir en haut Aller en bas
Jack
Admin
avatar

Nombre de messages : 1764
Date d'inscription : 28/05/2007

MessageSujet: Re: Nouvelle version   Sam 24 Nov 2012 - 20:47

La machine virtuelle de Panoramic pourrait ressembler à ça:
http://www.google.com/url?sa=t&rct=j&q=mach%20ne%20virtuelle&source=web&cd=1&cad=rja&sqi=2&ved=0CC0QFjAA&url=http%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FMachine_virtuelle_Java&ei=KwexUIeWDsWm4gSPmoH4BA&usg=AFQjCNHMWXxy4EwdGINLv51nZgphBILJ0g

Le source est décomposé en une succession de commandes élémentaires (un peu comme un source est transformé en un langage d'assemblage), puis une autre partie exécute ces ordres élémentaires.
L'avantage est que l'interprétation du source et les erreurs de syntaxe sont vues une fois pour toutes, et l'exécution s'effectue alors plus rapidement.
Mais ce n'est pour l'instant qu'une idée et quelques petits essais de rien du tout.
Je n'abandonne pas non plus l'idée de traduire dans un autre langage puis de compiler avec ce langage, Panoramic se réduisant alors à un traducteur et un "run-time" que l'excutable (compilé dans l'aure langage) appelle.
Pour le moment, ça tourne avec FreeBasic et avec TCC (langage C) qui sont libre et que je pourrait inclure dans mon "package".

Remarque: ce post est juste pour vous tenir au courant de ce que je fais en ce moment, de mes tentatives, de mes erreurs, de mes idées qui n'aboutiront pas ou de celles qui pourraient un jour se concrétiser ...


Dernière édition par Jack le Sam 24 Nov 2012 - 21:05, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Sam 24 Nov 2012 - 20:51

Avec une traduction de Panoramic en un genre de byte code, comme Pascal ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Nouvelle version   Dim 25 Nov 2012 - 0:50

Merci Jack pour ces précisions.
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Dim 25 Nov 2012 - 0:58

Euh... c'était moi, et j'ai émis une hypothèse ... qui n'est pas confirmée pour le moment. Laissons Jack répondre s'il le souhaite !

Désolé, ERREUR !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Nouvelle version   Dim 25 Nov 2012 - 1:52

Pas grave, chacun a ses propres questions.
Je viens de résoudre un gros problème de connections après un redémarrage.
Revenir en haut Aller en bas
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Re: Nouvelle version   Dim 25 Nov 2012 - 16:53

Überlegungen zu Jack's neuer Idee.

Warum entwickeln eine neue Variante ?

Pluspunkte der bisherigen Variante:

Panoramic bsteht aus einer Datei.
Panoramic braucht keine zusätzlichen Installationsprogramme.
Dadurch kann es auf jedem Laufwerk und Stick, gestartet werden.
Ein Vorteil der unbezahlbar ist. So wie es die älteren Panoramic's
von GW-Basic kennen.

Die Befehlstruktur ist eindeutig und "relativ einfach".
Wobei natürlich immer Verbesserungen möglich sind.

Ich persönlich möchte Panoramic so wie es ist, behalten.

Auch ich bin fast das gesamte Jahr beruflich unterwegs und
kann verstehen das Jack's Zeit sehr knapp ist.

Deshalb bitte ich, Jack seine Zeit in die weitere Entwicklung,
auf dem jetzigen Panoramic zu verwenden.

Es gibt noch einiges zu Entwickeln. Dazu gehört nach meiner Meinung
das Drucken.

Daher bitte ich Jack, Panoramic weiter wie bisher zu entwickeln.
Dies ist meine persönliche Meinung.

Alte Programmierer Weisheit:
Verändere nie ein System, das funktioniert.
Danke


Reflections on Jack's new idea.

Why develop a new variant?

Plus points of the previous version:

Panoramic bsteht from a file.
Panoramic requires no additional installation programs.
This can be started on each drive and stick.
One benefit is priceless. Just as the elderly's Panoramic
know of GW-Basic.

The command structure is unique and "relatively simple".
Of course, always room for improvement.

I personally would like to keep Panoramic way it is.

Also, I am most of the year traveling for work and
can understand that Jack's time is very short.

Therefore I ask, Jack, his time in the further development
to use at the present Panoramic.

There are still things to develop. This includes, in my opinion
printing.

Therefore, I ask Jack to develop Panoramic continue as before.
This is my personal opinion.

Old programmer wisdom:
Dere never change a system that works.
Thank you

Réflexions sur la nouvelle idée de Jack.

Pourquoi élaborer une nouvelle variante?

Les points positifs de la version précédente:

Bsteht panoramique à partir d'un fichier.
Panoramique nécessite pas de programme d'installation supplémentaires.
Cela peut être démarré sur chaque disque et le bâton.
L'un des avantages est inestimable. Tout comme les personnes âgées de panoramique
sais de GW-Basic.

La structure de commandement est unique et "relativement simple".
Bien sûr, toujours place à l'amélioration.

Personnellement, je tiens à garder manière panoramique il est.

Aussi, je suis la plupart de l'année à voyager pour le travail et
peut comprendre que le temps de Jack est très court.

C'est pourquoi je demande, Jack, son temps dans la poursuite du développement
à utiliser à la présente panoramique.

Il ya encore des choses à se développer. Cela comprend, à mon avis,
impression.

Par conséquent, je demande à Jack de développer panoramique continuer comme avant.
Ceci est mon opinion personnelle.

Programmeur sagesse ancienne:
Dere jamais changer un système qui fonctionne.
merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

Nombre de messages : 1764
Date d'inscription : 28/05/2007

MessageSujet: Re: Nouvelle version   Dim 25 Nov 2012 - 23:02

Il y avait en effet un bug dans FILE_FIND_CLOSE.
Je l'ai corrigé et j'ai fait une nouvelle version instantanée que vous pourrez télécharger ici:

*** annulé. Voir plus loin pour une nouvelle version ***

Dites moi si cette version corrige bien les problèmes rencontrés avec FILE_FIND_FIRST$, FILE_FIND_NEXT$, FILE_FIND_CLOSE.


Dernière édition par Jack le Jeu 29 Nov 2012 - 11:08, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Severin



Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MessageSujet: Nouvelle version 25.11.12   Lun 26 Nov 2012 - 0:05

Danke Jack
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 0:17

J'ai téléchargé cette version. Elle affiche toujours V0.24i5. Est-ce normal ?

J'ai essayé avec ce programme:
Code:
          ' analyser_sources.bas

labels()
variables()
form0()
GUI()
initialisations()

end

start1:
  clear no_l1%
  clear no_l2%
  s$ = dir_current$
  save$ = s$
'  dir_change ... : ' <======== forcer ici éventuellement un autre dossier de départ
  if s$="_" then return
  indent$ = "  "
  item_add no_l1%,indent$ + s$
  analyser_dossiers()
  lister_fichiers(".bas")
  dir_change save$
  file_save no_l2%,"liste_sources.txt"
  return

start2:
  clear no_l3%
  save$ = dir_current$
  file_load no_l2%,"liste_sources.txt"
  traiter_fichiers()
  dir_change save$
  return

start3:
' --- code de start1 ----------------------
  clear no_l1%
  clear no_l2%
  s$ = dir_current$
  save$ = s$
'  dir_change ... : ' <======== forcer ici éventuellement un autre dossier de départ
  if s$="_" then return
  indent$ = "  "
  item_add no_l1%,indent$ + s$
  analyser_dossiers()
  lister_fichiers(".bas")
  dir_change save$
  file_save no_l2%,"liste_sources.txt"
' --- code de start2 ----------------------
  clear no_l3%
  save$ = dir_current$
  file_load no_l2%,"liste_sources.txt"
  traiter_fichiers()
  dir_change save$
  return

sub labels()
  label start1, start2, start3
end_sub

sub variables()
  dim no%, i%, s$, indent$, save$
  dim no_l1%, no_l2%, no_l3%
end_sub

sub form0()
  caption 0,"Analyser les fichier sources"
  width 0,700
end_sub

sub GUI()
  no% = no% + 1 : button no% : top no%,10 : left no%,10
    caption no%,"Chercher" : on_click no%,start1
  no% = no% + 1 : button no% : top no%,10 : left no%,160
    caption no%,"Analyser" : on_click no%,start2
  no% = no% + 1 : button no% : top no%,10 : left no%,310 : width no%,200
    caption no%,"Chercher et Analyser" : on_click no%,start3

  no% = no% + 1 : memo no% : no_l1% = no%  :  bar_both no%
    top no%,40 : left no%,10 : width no%,200 : height no%,400
  no% = no% + 1 : memo no% : no_l2% = no%  :  bar_both no%
    top no%,40 : left no%,220 : width no%,200 : height no%,400
  no% = no% + 1 : memo no% : no_l3% = no%  :  bar_both no%
    top no%,40 : left no%,430 : width no%,200 : height no%,400

end_sub

sub initialisations()
  indent$ = ""
end_sub

sub analyser_dossiers()
  dim_local n%, i%, p%, flag%
  indent$ = indent$ + "  "
  flag% = 1
  while flag%=1
    n% = 1
    flag% = 0
    while n%<=count(no_l1%)
      s$ = item_read$(no_l1%,n%)
      if left$(s$,2)="  "
        item_delete no_l1%,n%
        item_insert no_l1%,n%,"--"+mid$(s$,3,len(s$))
        p% = 0
        for i%=1 to len(s$)
          if mid$(s$,i%,1)<>" " then exit_for
          p% = i%
        next i%
        indent$ = string$(p%+2," ")
        s$ = trim$(s$)
        dir_change s$
        s$ = file_find_first$
        while s$<>"_"
          if dir_exists(s$)=1
            n% = n% + 1
            item_insert no_l1%, n%, indent$ + dir_current$+"\"+s$
            flag% = 1
          end_if
          s$ = file_find_next$
        end_while
        file_find_close
      end_if
      n% = n% + 1
    end_while
  end_while
  item_add no_l1%,"*** terminé ***"
end_sub

sub lister_fichiers(ext$)
  dim_local n%, s$
  if count(no_l1%)=0 then exit_sub
  for n%=1 to count(no_l1%)
    s$ = item_read$(no_l1%,n%)
    s$ = trim$(mid$(s$,3,len(s$)))
    dir_change s$
    s$ = file_find_first$
    while s$<>"_"
      if dir_exists(s$)=0
        if ext$<>""
          if right$(s$,len(ext$))=ext$ then item_add no_l2%,dir_current$+"\"+s$
        else
          item_add no_l2%,dir_current$+"\"+s$
        end_if
      end_if
      s$ = file_find_next$
    end_while
    file_find_close
  next n%
end_sub

sub traiter_fichiers()
  dim_local n%, f$, s$, d$
  if count(no_l2%)=0 then exit_sub
  for n%=1 to count(no_l2%)
    f$ = item_read$(no_l2%,n%)
    item_add no_l3%,f$
    file_open_read 1,f$
    while file_eof(1)=0
      file_readln 1,s$
      if lower$(left$(trim$(s$),4))="sub " then item_add no_l3%,s$
    end_while
    file_close 1
    item_add no_l3%,""
  next n%
end_sub
et je ne constate aucun changement.
1er essai:
Utilisation du bouton de droite ==> "file not found" sur le premier fichier qu'on tente d'ouvrir

2ème essai:
1. Utilisation du bouton de gauche ==> OK, la liste des fichiers se remplit bien, sauvegarde dans fichier texte.
2. Arrêt du programme, puis redémarrage
3. Utilisation du bouton du milieu ==> rechargement de la liste, ouverture de tous les fichiers ==> OK

Le bouton de droite conduit à une séquence qui est la "concaténation" des traitements du bouton de gauche suivi de celui du bouton de droite. Et cela ne marche pas sans le même passage de programme. Et pour avoir vraiment le même contexte, j'y ai mis les file_save et file_load, alors que cela devrait être inutile dans ce cas.

Est-ce vraiment la version modifiée qui a été mise en ligne ?

EDIT

Arborescence des dossiers utilisés:
Citation :

C:\Documents and Settings\Klaus\Mes documents\Mes projets Panoramic\ebay_ventes\
divers fichiers *.bas, dont analyser_sources.bas
C:\Documents and Settings\Klaus\Mes documents\Mes projets Panoramic\ebay_ventes\essai1\
1 seul fichier grid1.bas
C:\Documents and Settings\Klaus\Mes documents\Mes projets Panoramic\ebay_ventes\essai1\
1 seul fichier log_activity.bas
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jack
Admin
avatar

Nombre de messages : 1764
Date d'inscription : 28/05/2007

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 10:06

C'est bien la version corrigée que j'ai mis au téléchargement (datée du 25/11/2012 dans la fenêtre "A propos").
Elle corrige le problème signalé par Nardo26:
Code:

dim a$
label cree_dossier, efface_fichier, supprime_dossier

gosub cree_dossier
gosub efface_fichier
gosub supprime_dossier
message "terminé"
terminate
end

cree_dossier:
  if dir_exists("d:\test") = 0 then dir_make "d:\test"
return

efface_fichier:
  dir_change "d:\test"
' si la ligne suivante (ligne 20) est en REM tout va bien : le dossier sera supprimé
' sinon, rien ne vas plus : le fichier reste "prisonnier" de la source de recherche
' et ne peut plus être supprimé!
  a$ = file_find_first$ : ' cette source de recherche une fois ouverte, ne peut
                          ' plus être fermée même pas par FILE_FIND_CLOSE
                          ' Conséquence : il n'est plus possible de supprimer
                          ' le dossier bien qu'il soit vide, parce qu'il est
                          ' utilisé par cette source.
'  while a$ <> "_"
'  file_delete a$
'  a$ = file_find_next$
'  end_while
  file_find_close
return

supprime_dossier:
  dir_change ".."
  rmdir "d:\test"
return

Je ne cherche pas d'excuse, mais je suis en train de travailler dans des conditions difficiles, avec une liaison internet limitée, sur un équipement qui n'est pas mon équipement habituel de développement, ce qui explique l'erreur avec 0.9.25i5. Il s'agit de la V 0.9.24i6 malgré l'affichage erroné de 0.9.24i5.

Je viens de corriger ce numéro de version:

*** annulé. Voir plus loin pour une nouvelle version ***

Dès que j'ai le temps, Klaus, je regarde ton problème en détail.


Dernière édition par Jack le Jeu 29 Nov 2012 - 11:09, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 10:56

Merci pour ton attention, Jack. Prends ton temps - je peux attendre. Je sais ce que c'est...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

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

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 11:52

Salut Jack.

Je viens d’essayer la nouvelle version avec le code que j’ai publié :

LE BUG DE FILE_FOUND_FIRST$ EST CORRIGE .

Merci jack pour tout ce que tu fais.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 12:05

Sniff.... D'abord le cas de Nardo, maintenant Papydall...... Je commence à penser que j'ai la poisse ! Est-ce c'est mon programme qui contient un bug ?

Papydall, voudrais-tu essayer mon programme pour voir si cela marche chez toi ? Place mon source dans n'importe quel répertoire, dans lequel tu vas créer des répertoires bisons essai1 et essai2, et tu copies un fichier source dans chacun de ces répertoires. Puis, tu lances mon programme en utilisant le bouton de droite,n et les 3 listes doivent se remplir. Chez moi, les deux listes de gauche se remplissent, puis le programme essaie d'ouvrir le premier fichier indiqué dans la liste du milieu ce aui provoque une erreur "file not fond". Si par contre, tu utilises ,e bouton de gauche, puis tu arrêtes le programme, tu le relance et tu utilises le bouton du milieu, tu marche bien. Je ne comprends pas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

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

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 12:55

Salut Klaus.

Je viens d’essayer ton programme.
1) Bouton Chercher --- > OK (les 2 listes gauche et milieu se remplissent); puis Analyser ou Chercher et Analyser --- > File does not exist(not created). Line 156
2) Bouton Analyser --- > ok les 2 listes (milieu et droite se remplissent)
3) Bouton Chercher et Analyser --- > les 2 listes (gauche et milieu se remplissent) puis Erreur Files does not exist… Bien que MESSAGE f$ placé avant FILE_OPEN_READ, affiche bien le nom du fichier.

Il y a certainement quelque chose qui nous échappe.
J’essaierais plus tard de voir ce qui ne va pas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 13:08

Merci, Papydall ! Je commençais à douter de mes propres yeux ! Alors, on va attendre...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5032
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 14:24

@Jack,

Merci pour la correction du bug, chez moi çà marche
j'ai revu l'exemple de Nardo et je crois qu'il n'y a plus de bug (il était, je pense dans le code)


@Klaus
Tu dis on va attendre..... Mais attendre quoi ?


Voilà le code de Nardo (revu et corrigé)
Code:
dim a$
label cree_dossier, efface_fichier, supprime_dossier
dir_change dir_current$:' pour rester sur le bureau
caption 0,dir_current$
gosub cree_dossier
hide 0:wait 2000:' pour permettre de voir le dossier crée
gosub efface_fichier
gosub supprime_dossier
message "terminé"
terminate
end

cree_dossier:
  if dir_exists("test") = 0 then dir_make dir_current$+"\test"
return

efface_fichier:
  dir_change "\test"
' si la ligne suivante (ligne 20) est en REM tout va bien : le dossier sera supprimé
' sinon, rien ne vas plus : le fichier reste "prisonnier" de la source de recherche
' et ne peut plus être supprimé!
  a$ = file_find_first$ : ' cette source de recherche une fois ouverte, ne peut
                          ' plus être fermée même pas par FILE_FIND_CLOSE
                          ' Conséquence : il n'est plus possible de supprimer
                          ' le dossier bien qu'il soit vide, parce qu'il est
                          ' utilisé par cette source.
'  while a$ <> "_"
'  file_delete a$
'  a$ = file_find_next$
'  end_while
  file_find_close
return

supprime_dossier:
  dir_change dir_current$
  rmdir dir_current$+"\test":' "d:\test"
' dir_remove dir_current$+"\test"
return

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 14:35

Bonjour,
Je pense qu'il doit y avoir 2 bug, vu que celui de Nardo semble résolu (je n'ai pas vérifié).
Mais je viens de faire le teste de celui de Klaus, et j'ai le même rapport que Klaus et Papydall.
J'ai déjà eu ce problème, mais à l'époque j'ai du laissé tomber.


Dernière édition par cosmos70 le Lun 26 Nov 2012 - 14:37, édité 1 fois
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 14:36

Eh bien, Jean-Claude, as-tu vu mon programme ? Cela ne marche toujours pas chez moi, et Papydall a confirmé le bug. Je pense qu'il reste toujours un problème. La correction apportée par Jack semble résoudre certains cas, mais pas tout.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Nouvelle version   Lun 26 Nov 2012 - 14:38

Ah, merci, Cosmos70 ! On s'est croisé sur ce message, mais je suis rassuré de voir que je ne suis pas seul à constater le problème.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: Nouvelle version   

Revenir en haut Aller en bas
 
Nouvelle version
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant
 Sujets similaires
-
» [résolu]Nouvelle version: fichier .bat
» Roboform, Nouvelle version
» Problème: pourquoi Base C. crée t-il une nouvelle version à chaque chargement de fichier .gpx
» Nouvelle version de Garmin Express (3.6.2 pour Mac)-Resolu
» Basecamp - nouvelle version [Résolu]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Ce qui est en cours ...-
Sauter vers: