Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Gestion des fichiers textes | |
| | Auteur | Message |
---|
flowerkinzy
Nombre de messages : 100 Date d'inscription : 23/09/2009
| Sujet: Gestion des fichiers textes Jeu 25 Fév 2010 - 14:31 | |
| Je ne sais si c'est un problème dans mes codes ou tout simplement un bug qui est dû à la nouvelle version (je n'avais pas ce problème avant)... En fait, il s'agit d'un prog tout simple qui permet d'accéder directement à ses applications préférées (5 max). En gros, mon form, contient 5 options ( il y a autant d'options actifs que d'applications choisies) J'ai un fichier "adresses.txt" qui permet de mémoriser le chemin de l'application ( "C:\.....applic.exe") J'ai un fichier "noms.txt" qui permet de garder le nom choisi (-"Mon appli n°1") Il ya autant de lignes dans ces deux fichiers que d'applications choisiesVoici un extrait simplifié du code: - Code:
-
rem list 25 charge le fichier "noms.txt" rem list 26 charge le fichier "adresses.txt"
rem options 11 à 15
rem button 21, "ajouter une applic" rem button 22, "supprimer 1 applic"
rebuild: dir_change current$ file_load 25,"noms.txt" id=count(25) file_load 26,"adresses.txt"
...
if id>0 for i=1 to id active 10+i: caption 10+i,item_read$(25,i) next i end_if active 21: active 22
if id=5 then inactive 21 if id=0 then inactive 22 on_click 16, go on_click 22, del on_click 21, add end on_click 21, add
on_click 22, del on_click 16, go ...
add: show 25 filter 27, "Applications (*.exe)|*.exe" a2$=file_name$(27) if a2$="_" then goto rebuild item_add 26, a2$ Message "Choisir un nom pour l'application sélectionnée" ... rem l'utilistaeur rentre un nom dans a$...
item_add 25, a$ dir_change current$ file_save 25, "noms.txt" file_save 26, "adresses.txt" hide 25 goto rebuild del:
Message "Sélectionner l'application à supprimer. (Elle n'est pas supprimée de l'ordinateur)" show 25 : item_add 25, "Ne pas supprimer" rem ligne 'ne pas supprimer' est ajoutée: cliquer dessus annule tout Repeat wait 5 until clicked(25)=1
i= item_index(25) if i= count(25) then item_delete 25,i: hide 25: goto rebuild item_delete 25,i: item_delete 26,i item_delete 25, count(25) hide 25 dir_change current$
file_save 25, "noms.txt": file_save 26, "adresses.txt" goto rebuild Lorsque j'éxécute le fichier bas dans panoramic, tout va bien. Les ajouts et suppressions sont pris en compte. Par contre, lorsque j'éxécute l'application, il y a bien modification dans les fichiers textes mais elle n'est pas prise en compte dans le programme. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Gestion des fichiers textes Jeu 25 Fév 2010 - 16:00 | |
| Je n'ai pas étudié ton code (partiel...) en détail, mais je comprends que tu veux dire que, après que l'utilisateur ait modifié tu sauvegardes dans le fichier (opération correcte), et tu recharges le fichier (étiquette rebuild), sans modification apparente. J'ai lu quelque part qu'il était conseillé de faire un CLEAR avant de recharger le fichier, sinon ça va peut-être s'ajouter à l'existant ? Pardonne-moi si c'est un peu confus... | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Ven 26 Fév 2010 - 1:28 | |
| D'abord des questions : - Citation :
- on_click 16, go
on_click 22, del on_click 21, add end on_click 21, add
on_click 22, del on_click 16, go - pourquoi y a t-il les mêmes appels de routines au dessus et en dessous du end ? - pourquoi les routines (del: add:) ne se terminent-elles pas tout simplement par return - pourquoi la routine rebuild: se trouve-t-elle au dessus du end alors qu'il ne semble pas y avoir de raison particulière à cela ? Peut-être que c'est moi qui ai une habitude de programmer trop méthodique ? Je vais peut-être avoir l'air de radoter, mais je dirais que quand je bloque devant un truc apparemment insoluble comme ça, je laisse tomber, j'attend que surgisse dans ma tête un logigramme plus simple du même programme, et je recommence tout ensuite sur des bases entièrement nouvelles. Peut-être que ça pourra te servir (à moins que je n'ai rien compris...) Bye | |
| | | Invité Invité
| Sujet: Re: Gestion des fichiers textes Ven 26 Fév 2010 - 8:34 | |
| Effectivement il y a un problème de structure. Il est tout à fait possible de faire des branchements avec goto lorsque la procédure est terminé. Jack l'a fait pour son horloge 3D. Mais si tu optes pour faire un programme avec des appels avec des événements comme on_click, c'est pas la bonne méthode.Le END d'un programme arrête celui-ci et c'est le clic d'un événement qui t'envois vers le sous-programme désigné par on_click. Un sous programme se termine par RETURN. Lorsqu'il rencontre cette instruction, de nouveau le programme s'arrête, si rien n'intervient.Si tu veux choisir l'autre méthode avec des goto, choisi plutôt ON_CLICKED(), mais je doute fort que c'est ce que tu veux faire. Pour un programme en construction de ma part, et qui va durer très longtemps puisque c'est un programme en constante évolution, je peux te dire que Panoramic est moins docile, alors reste dans la logique de Panoramic qui excelle en ce sens. A noter: avec la remarque de jjn4, toutes les instructions que tu peux mettre entre le END du programme, et ta première étiquette, ne servent à rien. Elle ne seront pas lues par le programme. Celui-ci s'arrête au END, et reprends quant tu cliques sur un objet, et te branche à une étiquette, donc après le END, il n'y a pas d'étiquette, et ne sera pas visité dans les enchainements du programme. |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Gestion des fichiers textes Ven 26 Fév 2010 - 8:45 | |
| - Citation :
- Je ne sais si c'est un problème dans mes codes ou tout simplement un bug qui est dû à la nouvelle version (je n'avais pas ce problème avant)...
Je pense qu'éffectivement c'est dû à la nouvelle version, mais ce n'est pas un bug. Maintenant PANORAMIC traite tout les événements Jack a dit: - Citation :
- Les événements sont maintenant traités avec une file d'attente: si un événement arrive pendant le traitement d'un autre événement, il est placé dans une file d'attente des événements, et il sera traité quand tous les événements plus anciens auront été traités.
C'est peut-être çà ton problème... A+ | |
| | | Invité Invité
| Sujet: Re: Gestion des fichiers textes Ven 26 Fév 2010 - 11:22 | |
| Je reviens et vois la réponse de Jean Claude. Comme le code est partiel, il est difficile de se faire une opinion complète et objective, en bref, on ne sait rien. Cependant, la file d'attente???. Admettons qu'il clic sur un bouton, puis sur un deuxième, et alors?. Le deuxième bouton restera maintenant dans la file d'attente, vu qu'il n'y a pas de RETURN. Auparavant, le clic d'un objet détournait immédiatement vers le nouvel évennement, mais comme aujourd'hui il faut attendre la fin de l'évènement précédent, il ne se passe rien. Il y a un goto à rebuild. Il boucle sans cesse, il fait dir_change, if fait on_click et on_click, et puis c'est tout. Il peut appuyer n'importe où, ja procédure ne se terminant pas, il reste bloqué. A mon avis, pour arrêter le programme, il doit passer par le gestionnaire de tâche. |
| | | flowerkinzy
Nombre de messages : 100 Date d'inscription : 23/09/2009
| Sujet: Re: Gestion des fichiers textes Ven 26 Fév 2010 - 17:59 | |
| J'ai lu (et relu) toutes vos réponses
à JL35 et jjn4 'rebuild:' se trouve vers le début du prog (après la mise en place des objets système du form). Il permet de charger les fichiers textes dans les list et d'adapter les options en conséquence Après modification des fichiers textes dans add et del, il y a retour dans rebuild pour recharger les fichiers textes.
à tous: C'est vrai que l'utilisation des on_clicks n'est pas très judicieuse... Par contre, je n'ai pas de problème pour quitter.
Mais la question reste entière: Pourquoi, ça marche sous forme de *.bas et pas une fois converti en application? (ce qui n'arrivait pas avant). | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Gestion des fichiers textes Ven 26 Fév 2010 - 18:07 | |
| Jack, je te passe le balon. A+ | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Ven 26 Fév 2010 - 18:18 | |
| Pour répondre à ta question, le travail fait par l'interpréteur n'est peut-être pas (plus) exactement identique en bas et en exe. Il est difficile d'en dire plus puisqu'on a qu'un fragment du programme. Ceci dit, ce que j'ai conseillé reste vrai : tu fais comme quand on écrit une lettre, tu considères que ce que tu as fait est un brouillon qui a eu son utilité, et tu recommences ton programme sur de nouvelles bases. Il y a bien des chances que ça ne le fasse plus. Amicalement. | |
| | | Contenu sponsorisé
| Sujet: Re: Gestion des fichiers textes | |
| |
| | | | Gestion des fichiers textes | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |