| J'ai copié sur Bignono | |
|
+5bignono Minibug Yannick Jicehel papydall 9 participants |
|
Auteur | Message |
---|
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 8:42 | |
| Bonjour... Une autre façon de faire: - Code:
-
Efface_File: dir_change D_efface$ a$ = file_find_first$ if a$="_" then return repeat if dir_exists(a$)=0 then file_delete a$ a$=file_find_next$ until a$="_" return Comme quoi... tu n'as que l'embarras du choix... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 6 Sep 2012 - 10:26 | |
| @ Nardo,
Oui, effectivement il y a plusieurs façon de faire. Le problème c'est le 'Init_Prog' qui, si il est exécuté là, me provoque un bug alors que si je ferme l'appli et relance il fonctionne.
un autre mystère, je suis obligé de mettre 'if Version2$<>"" 'car si j' efface et reecré le 'param.inf'
la fonction est lu avant que le fichier soit finit et donc erreur après sur 'if val(Version$)>val(Version2$)' qui me donne
par exemple 'if 2> ' | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 11:44 | |
| Il faut mettre une petit pause pour qu'il ait le temps de finir d'écrire. L'écriture est un phénomène physique qui peut être différé par le buffer de ton disque. Un petit wait 1000 devrait suffire. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| |
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 13:12 | |
| Dans ce cas tu peux faire une boucle en testant l'existence du fichier, peut-être ? | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 6 Sep 2012 - 13:32 | |
| J'essaierai çà ce soir.
mais c'est là que je regrette un peu qu'une instruction type gosub mais avec l'attente de la fin de la fonction précédente ne soit pas là.
une sorte de "wait and go" | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 13:40 | |
| Je suis d'accord, ou un paramètre sur la fonction type WAIT /e ou NOWAIT qui attende ou non la fin du traitement de l'instruction | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 14:36 | |
| Merci ygeronimi pour le zip... Erreur lors du chargement d"un 3DS : "Abstract error" Une correction à apporter à Dialog_open. Dialog_open est lancé sur un évènement ON_CLICK de l'objet 503 qui lui appartient au FORM 500... Donc si tu essayes de détruire le PARENT (500) de l'objet en cours de traitement, fatalement tu vas avoir une erreur. Je te propose ceci : - Code:
-
Ouvrir: ' Placement de l'appli dans le dossier où sont les fichiers 3d dir_change D3D$ ' Récupération des adresses des fichiers 3DS et 3ds F$=file_find_first$ REPEAT if Upper$(file_extract_extension$(F$))=".3DS" then item_add 99,F$ F$=file_find_next$ UNTIL F$="_" file_find_close
IF OBJECT_EXISTS(500)=0 form 500:top 500,top_f%+54:left 500,left_f%+8:width 500,200:height 500,340 font_name 500,"Times new roman":font_size 500,10 command_target_is 500 list 501:width 501,184:height 501,240:cursor_point 501:on_double_click 501,Valid_Selection alpha 502:top 502,240:left 502,5 font_color 502,0,0,255 button 503:width 503,30:height 503,30:top 503,260:left 503,77:font_name 503,"Wingdings":caption 503,"1":font_bold 503 on_click 503,Dialog_open:cursor_point 503 gosub Init_Caption command_target_is 0 END_IF SHOW 500 if count(99)>0 ' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ ' Affichage des fichiers récupérés dans le list 99 CLEAR 501 for x%=1 to count(99) F$=item_read$(99,x%) item_add 501,left$(file_extract_name$(F$),len(file_extract_name$(F$))-4) next x% ' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ else if Message_information_yes_no(def$(25)+chr$(13)+def$(26))=1 gosub Dialog_open if file$<>"_" then gosub Create_Objet end_if end_if return ' ------------------------------------------------------------------------------ Dialog_open: HIDE 500 open_dialog 1000 dir_dialog 1000,left$(D$,2) filter 1000,"Fichiers *.3DS,*.3ds|*.3DS;*.3ds" file$=file_name$(1000) delete 1000 if file$<>"_" active 3 gosub Create_Objet end_if return ' ------------------------------------------------------------------------------ Valid_Selection: if o3d_object_exists(1)=1 then 3d_delete 1 File$=D3D$+"\"+item_read$(99,item_index(501)) gosub Create_Objet return ' ------------------------------------------------------------------------------ Create_Objet: caption 0,"3DS Viewer"+chr$(32)+"("+chr$(32)+file_extract_name$(File$)+chr$(32)+")" nom$=file_extract_name$(file$) nom$=left$(nom$,len(nom$)-4) 3d_mesh 1 3d_load_object 1,File$ gosub Init_Scene clear 99 HIDE 500 if file$<>"_" then active 3 return J'ai modifié : Ouvrir : Remplissage de la liste 99 et déclaration du formulaire 500 Dialog_Open : HIDE 500 au lieu d'un DELETE Create_Objet : HIDE 500 au lieu d'un DELETE
Dernière édition par Nardo26 le Jeu 6 Sep 2012 - 16:22, édité 1 fois (Raison : Simplification + Correction du code) | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 15:39 | |
| Nardo, le message Abstract error est lié à priori au fichier 3DS lu sur Panoramic Cela n’émpèche pas le programme de fonctionner et je crois que ygeronimi ne pas rien y fair à par mettre un on_error avant de lire le fichier pour ne pas en tenir compte ...
| |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 15:59 | |
| Si tu regardes attentivement le code (procédures 'Ouvrir', 'Dialog_Open', 'Create_Objet'), voilà ce que l'on a : - Code:
-
LABEL Test FORM 500 BUTTON 503:PARENT 503,500 ON_CLICK 503, Test
END
Test: IF OBJECT_EXISTS(500)=1 THEN DELETE 500 MESSAGE "Ok" RETURN Je doute que ceci fonctionne correctement.... EDIT : J'ai modifié le code de mon message précédent... Je faisais des HIDE 500 mais aucun SHOW 500... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 17:17 | |
| Non la dessus Nardo, on est d'accord pour l'open dialog. Ma réponse concernait l'ouverture des fichier 3DS qui affiche le message "abstract error" J'ai le même message d'erreur même dans un programme simple sur certains fichier 3DS. Je pense qu'il doit y avoir eu une évolution sur les fichiers 3DS que Panoramic ne sait pas forcément bien gérer, mais cela vient peut-être d'autres choses en tout cas avec d'autres fichiers 3DS tu n'as pas le message.
Pour les 3 procédures, je suis d'accord avec les correctifs, mais c'est un autre problème. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 6 Sep 2012 - 22:14 | |
| @ Nardo, Je n' ai pas de bug à ce niveau là...et dieu merci ...j'ai ma dose plus en avant ! J'ouvre un objet système, pas un form panoramic... et je fais un "delete" après le traitement de l'ouverture. J'aurai placé le "delete"avant le traitement de l'open_dialog là....,je ne sais même pas si il aurait apparu... @ tous ceux qui liront Autre chose, je laisse tomber la bidouille pour l'histoire des versions, çà me file trop mal au crâne ce truc... Je reprendrai quand j'aurai évacué mes idées préconçues de mon disque gris ... Pour l' adresse initiale de D$, je réfléchis encore, l'idée de demander à l'utilisateur de sélectionner le dossier où il vient d'installer l'appli...çà fait pas très sérieux..... Comme si vous alliez chez quelqu'un et que vous lui demandiez, en arrivant, "Où suis je ?"... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 22:29 | |
| Je pense que c'est une vrai demande à faire à jack. Une variable qui indique où se trouve le fichier enregistré et un message d'erreur 'Aucun emplacement défini' quand on n'a pas encore enregistré une fois le programme. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 6 Sep 2012 - 22:58 | |
| @ Jicehel,
1 il faut que je trouve un chemin de fichier qui ne passe pas par "...\User\Name\..." 2 il faut que je fasse des archives auto extractibles avec pour destination le dossier
après D$, qui est le dossier de départ, pourra être initialisé par un chemin au lieu de "dir_current$"
je pense à : D$="C:\Users\Public\Desktop\Panoramic\Mon_dossier" | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 23:25 | |
| | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 6 Sep 2012 - 23:30 | |
| @ Klaus, on peut se servir de ta dll pour récupérer le bon windows ou autre... et placer D$ sous "If" ... cela correspond à quoi sur XP ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 23:39 | |
| Si tu veux le placer directement sous C:\ alors c'est "C:\Panoramic\Mon_Dossier".
Si tu veux le placer sur le bureau, tu as le choix:
- pour l'utilisateur actuel seulement: "C:\Documents and Settings\xxx\Bureau\Panoramic\Mon_Dossier" avec xxx = nom de l'utilisateur
- pour tous les utilisateurs: "C:\Documents and Settings\All users\Bureau\Panoramic\Mon_Dossier"
| |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 6 Sep 2012 - 23:47 | |
| @ Klaus, Pour que çà corresponde aux plus grand nombre,il vaut mieux, le chemin public... ...je me vois mal faire une archive pour chaque panoramicien... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: J'ai copié sur Bignono Jeu 6 Sep 2012 - 23:47 | |
| Complément: J'ai une suggestion à faire. Tu pourrais créer deux variables (dans ma structure de programme, ce serait dans le sous-programme "constantes", de la manière suivante: - Code:
-
dim racine$ : racine$ = "C:\Panoramic\" dim DLL$ : DLL$ = racine$ + "DLL\" dim KGF$ : KGF$ = DLL$ + "KGF.dll"
Dans le code d'initialisation, tu testes l'existence de ces deux dossiers. S'ils n'existent pas, du propose à l'utilisateur de les créer. S'il accepte, tu les crées et le tout est joué. S'il n'accepte pas, tu lui dis de changer les deux lignes ci-dessus pour avoir d'autres répertoires par défaut... Et dans ton programme, tu places tout sour l'arborescence racine$ en créant des sous-répertoires par programme application. Ainsi, on aura tous un lieu central, on saura trouver les DLL, ... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 7 Sep 2012 - 0:57 | |
| @ Klaus,
C'est une idée à creuser...
J'ai du mal à trouver un freeware pour W7 qui créer des archives sfx, aurais tu une bonne adresse dans tes tablettes ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: J'ai copié sur Bignono Ven 7 Sep 2012 - 1:05 | |
| Essaie 7-Zip - excellent. Et gratuit. Fait une multitude de formats, dont celui que tu veux. Je te donne un lien, mais il y en a plein sur le net. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 7 Sep 2012 - 1:22 | |
| Merci Klaus, mais "7-Zip" en est à la version 9.20 et il n' y a de patch sfx pour lui ou alors il est bien caché... Je suis entrain de tester "Izarc", il a l'air pas mal non plus... Bon...ben avec tout çà j'aurais pas écrit beaucoup de lignes Panoramic ce soir... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: J'ai copié sur Bignono Ven 7 Sep 2012 - 1:25 | |
| 7 zip marche très très bien sous W7 ... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 7 Sep 2012 - 1:29 | |
| @ Jicehel, Et comment tu crées un sfx avec 7-Zip 9.20 ? Bon, maintenant j' ai les deux... | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: J'ai copié sur Bignono Ven 7 Sep 2012 - 4:19 | |
| - ygeronimi a écrit:
- @ Nardo,
Je n' ai pas de bug à ce niveau là...et dieu merci ...j'ai ma dose plus en avant !
J'ouvre un objet système, pas un form panoramic... et je fais un "delete" après le traitement de l'ouverture. J'aurai placé le "delete"avant le traitement de l'open_dialog là....,je ne sais même pas si il aurait apparu... [color=blue] Et pourtant... ton programme plante chez moi à cause de cela. Je n'arrivai pas à ouvrir le moindre fichier 3DS... Je m'explique : Dans la procédure "ouvrir":- tu crées le formulaire 500. - Code:
-
if count(99)>0 form 500:top 500,top_f%+54:left 500,left_f%+8:width 500,200:height 500,340 - Dedans, tu crées un bouton 503 sur lequel tu définis un évènement ON_CLICK qui va exécuter la procédure "Dialog_Open" - Code:
-
button 503:width 503,30:height 503,30:top 503,260:left 503,77:font_name 503,"Wingdings":caption 503,"1":font_bold 503 on_click 503,Dialog_open : ' <--- ICI ! :) cursor_point 503 Dans la procédure "Dialog_open": (qui est exécuté par le bouton 503 du form 500) La première ligne est: - Code:
-
if object_exists(500)=1 then delete 500 Donc : Sur un évènement ON_CLICK du bouton 503 appartenant au formulaire 500, tu demandes à supprimer le dis formulaire... Mon avis (sans vouloir t'imposer une façon de programmer) :Tu testes l'existence du FORM 500: tu le crées si besoin et le reste du temps tu fais un HIDE ou un SHOW suivant tes besoins.... C'est largement suffisant. C'est d'ailleurs cette méthode que j'utilise avec ma boite "Sauvegarder sous..." dans mon utilitaire de conversion en base64 Sinon, pourquoi absolument une archive en sfx ? (7z marche très bien et son format est un zip optimisé qui fonctionne à la perfection) | |
|
| |
Contenu sponsorisé
| Sujet: Re: J'ai copié sur Bignono | |
| |
|
| |
| J'ai copié sur Bignono | |
|