Forum Liberty Basic France
• Index
Reprise du message précédent
Citation:
Pour ça je ne vois que deux solutions:
- Mettre un indice dans le nom du fichier "Matrice", et le même pour le nom du fichier "Palette".
- Intégrer la palette au fichier "Matrice".
Citation:
Pour "Geler" la palette, on peut mettre un flag (drapeau) dans le fichier de la palette qui mettra un: "!disable" sur le bouton d'enregistrement. (mais c'est sans retour).
Citation:
Il sera aussi facile de faire un système de lecture/reproduction des couleur présentes dans la matrice. (il y a plusieurs façons d'écorcher un chat [USA imported])
Citation:
En général on fait ça quand on est retiré des "affaires".
Citation:
On a confiance.
EDIT: J'ai testé la nouvelle mouture : --> "Primitive failed" chez moi aussi
Je vais essayer de trouver l'os qui coince la machine à saucisse.
re-EDIT: En mettant un wait avant la création de la fenêtre on peut présumer que le "primitive failed" se situe dans le mic-mac préalable que tu fais avec les dossiers (existe, n'existe pas, existe peut-être, dossier fantôme, dossier fantasmagorique, autre dossier...)
re-re-edit: Confirmation; j'ai viré tout ton mic-mac et ça marche.
Faut pas déconner, les dossiers ils y sont ou ils n'y sont pas; tu imagine un soft dans lequel il manquerait la moitié des dossiers ?
re-re-re édit: Ta procédure de chargement des palettes est pour le moins "originale"; un "filedialog" dans le dossier serait tellement plus simple; mais bon, si c'est pour le plaisir d'ouvrir des fenêtres, on peut comprendre.
Mais y mettre un bouton de fermeture !? pourquoi faire simple quand on peut faire compliqué..
Toi tu aime trop les complications, tu ne serais pas horloger ?
Citation:
quand on charge une matrice, on a aucune garantie d'afficher la palette qu'on utilisait la dernière fois
Pour ça je ne vois que deux solutions:
- Mettre un indice dans le nom du fichier "Matrice", et le même pour le nom du fichier "Palette".
- Intégrer la palette au fichier "Matrice".
Citation:
palette modifiée entre temps
Pour "Geler" la palette, on peut mettre un flag (drapeau) dans le fichier de la palette qui mettra un: "!disable" sur le bouton d'enregistrement. (mais c'est sans retour).
Citation:
on créée une nouvelle palette reprenant les couleurs de la matrice
Il sera aussi facile de faire un système de lecture/reproduction des couleur présentes dans la matrice. (il y a plusieurs façons d'écorcher un chat [USA imported])
Citation:
on m'a suggéré d'écrire un bouquin
En général on fait ça quand on est retiré des "affaires".
Citation:
je ne sais pas comment
On a confiance.
EDIT: J'ai testé la nouvelle mouture : --> "Primitive failed" chez moi aussi
Je vais essayer de trouver l'os qui coince la machine à saucisse.
re-EDIT: En mettant un wait avant la création de la fenêtre on peut présumer que le "primitive failed" se situe dans le mic-mac préalable que tu fais avec les dossiers (existe, n'existe pas, existe peut-être, dossier fantôme, dossier fantasmagorique, autre dossier...)
re-re-edit: Confirmation; j'ai viré tout ton mic-mac et ça marche.
Faut pas déconner, les dossiers ils y sont ou ils n'y sont pas; tu imagine un soft dans lequel il manquerait la moitié des dossiers ?
re-re-re édit: Ta procédure de chargement des palettes est pour le moins "originale"; un "filedialog" dans le dossier serait tellement plus simple; mais bon, si c'est pour le plaisir d'ouvrir des fenêtres, on peut comprendre.
Mais y mettre un bouton de fermeture !? pourquoi faire simple quand on peut faire compliqué..
Toi tu aime trop les complications, tu ne serais pas horloger ?
____________________
Roro
Roro
Dossier fantôme, mais pas fantasmagorique 
Citation:
et même sans être bricoleur, distrait ou maladroit, tout le monde fait des gaffes. Donc l'être humain étant intimement lié au concept de l'erreur, prévoir en amont une partie de ses éventuelles bourdes ne mange pas de pain. Forcément, le code devient plus compliqué.
Mais comme il semble pleinement fonctionnel sur ma machine habituelle, et qu'il n'y a pas eu d'utilisation aux limites, ou détournées, des instructions basic, il n'est pas normal qu'il plante quand il tourne sur un autre ordi. Trois possibilités : 1. j'ai mal posé le contexte dans lequel s'exécute telle ou telle instruction, et de temps en temps, ça coince. 2. le problème est matériel et concerne la clef USB et son lecteur. 3. on a levé un bug dans JB/LB.
(Il existe aussi une possibilité 1-bis : contrairement au 1., ça ne coince pas, parce que wine remet de lui-même les choses en place et rend ainsi l'exécution des logiciels plus sûre que dans un vrai windows - je taquine, j'ai pas été voir comment wine fonctionnait
)
Citation:
Dans mon code, FILEDIALOG ne convient pas à tous les accès disque, et plutôt que d'avoir tantôt une fenêtre filedialog, tantôt une fenêtre perso, j'harmonise tout en utilisant des fenêtres perso. il y a effectivement des cas où FILEDIALOG serait tout à fait indiqué et suffisant.
Je vais regarder l'error log, et sur internet, ce que je peux trouver au sujet de ce "primitive failed" qui m'intrigue.

Citation:
les dossiers ils y sont ou ils n'y sont pas; tu imagine un soft dans lequel il manquerait la moitié des dossiers ?
On voit bien que tu n'as jamais été confronté à des bricoleurs 
Mais comme il semble pleinement fonctionnel sur ma machine habituelle, et qu'il n'y a pas eu d'utilisation aux limites, ou détournées, des instructions basic, il n'est pas normal qu'il plante quand il tourne sur un autre ordi. Trois possibilités : 1. j'ai mal posé le contexte dans lequel s'exécute telle ou telle instruction, et de temps en temps, ça coince. 2. le problème est matériel et concerne la clef USB et son lecteur. 3. on a levé un bug dans JB/LB.
(Il existe aussi une possibilité 1-bis : contrairement au 1., ça ne coince pas, parce que wine remet de lui-même les choses en place et rend ainsi l'exécution des logiciels plus sûre que dans un vrai windows - je taquine, j'ai pas été voir comment wine fonctionnait

Citation:
Mais y mettre un bouton de fermeture !? pourquoi faire simple quand on peut faire compliqué..
Toi tu aime trop les complications, tu ne serais pas horloger ?
J'aime bien les horloges et les mécanismes, mais le choix de la palette est on-ne-peut-plus-simple, je pense que tu voulais parler des fenêtres de sauvegarde : le bouton de fermeture peut sembler superflu, et je ne sais plus pourquoi il y est. Je dirais qu'on est en phase de conception, et que si à l'usage on s'aperçoit qu'un bouton ne sert à rien et complique la vie, on l'enlève. Je voulais sans doutes que dans la liste, on voit s'afficher le fichier que je venais de sauvegarder, un peu comme une sorte de confirmation "de visu", après laquelle on ferme la fenêtre.Toi tu aime trop les complications, tu ne serais pas horloger ?
Dans mon code, FILEDIALOG ne convient pas à tous les accès disque, et plutôt que d'avoir tantôt une fenêtre filedialog, tantôt une fenêtre perso, j'harmonise tout en utilisant des fenêtres perso. il y a effectivement des cas où FILEDIALOG serait tout à fait indiqué et suffisant.
Je vais regarder l'error log, et sur internet, ce que je peux trouver au sujet de ce "primitive failed" qui m'intrigue.
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Rien trouvé de bien folichon sur le net, ce qui se rapproche le plus mais qui n'est pas mon problème, et que je cite pour curiosité, sont un gros bitmap lisible par LibertyBasic et pas par JustBasic et des DLL non standard utilisées dans un programme LibertyBasic exécuté par linux/wine, et que le programme ne trouve pas.
Je n'arrive plus à reproduire le plantage. Il est peut-être simplement latent, et serait intervenu à la cent vingt et unième tentative si j'en avais fait cent vingt. Peut-être que mon windows a eu du mal à redémarrer après des mois d'inactivité : il a laissé hier un bootlog.txt sur la clef m'annonçant qu'il avait vérifié la clef, et en général il le fait seulement après un problème...
A partir de maintenant, je programme sur le petit eeePC, accessoirement en attente du futur plantage.
L'autre problème est sur l'image :
La couleur gris clair dans le graphicbox est la trace laissée par la fenêtre de chargement de matrices. Des fois elle est jaune, des fois verte, je ne serais pas surpris que ce soit une des couleurs de la palette. J'entrevois la solution dans la maitrise d'un processus que je n'ai pas encore assimilé : les segments.
Pour le moment, le programme fais régulièrement des captures graphiques qu'il réaffiche au besoin, ce qui explique qu'il peut y avoir des pans entiers de l'image qui soient devant la trace grise quand d'autres sont restés derrière, mais j'ai pas l'impression que c'est la bonne méthode. Segments ! Segments ! Segments
Comme je n'ai pas ce soucis avec Wine, on vient de trouver une différence entre le programme exécuté dans son environnement natif, et le même lancé avec wine. C'est assez rare pour être noté.
Je n'arrive plus à reproduire le plantage. Il est peut-être simplement latent, et serait intervenu à la cent vingt et unième tentative si j'en avais fait cent vingt. Peut-être que mon windows a eu du mal à redémarrer après des mois d'inactivité : il a laissé hier un bootlog.txt sur la clef m'annonçant qu'il avait vérifié la clef, et en général il le fait seulement après un problème...
A partir de maintenant, je programme sur le petit eeePC, accessoirement en attente du futur plantage.
L'autre problème est sur l'image :

La couleur gris clair dans le graphicbox est la trace laissée par la fenêtre de chargement de matrices. Des fois elle est jaune, des fois verte, je ne serais pas surpris que ce soit une des couleurs de la palette. J'entrevois la solution dans la maitrise d'un processus que je n'ai pas encore assimilé : les segments.
Pour le moment, le programme fais régulièrement des captures graphiques qu'il réaffiche au besoin, ce qui explique qu'il peut y avoir des pans entiers de l'image qui soient devant la trace grise quand d'autres sont restés derrière, mais j'ai pas l'impression que c'est la bonne méthode. Segments ! Segments ! Segments

Comme je n'ai pas ce soucis avec Wine, on vient de trouver une différence entre le programme exécuté dans son environnement natif, et le même lancé avec wine. C'est assez rare pour être noté.
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Non je parle de la fenêtre de chargement. Le filedialog dans un autre dossier n'est gênant que pendant le développement.
Citation:
Avec un filedialog il n'y a plus cette trace (testé)
Chez moi (XP pro) ça "primitive failed" à tous les lancements, jusqu'à ce que je vire le pré mic-mac des fichiers.
Note: Le forum ne m'a pas signalé ton dernier msg dans la fenêtre d'accueil mais seulement quand j'ai été dans "Jeux" (pour y poster mon dernier délire "mot mystère").
Et j'en conclus que tu n'a pas vu "Autre mémoire" dans "Général".
je pense que tu voulais parler des fenêtres de sauvegarde
Non je parle de la fenêtre de chargement. Le filedialog dans un autre dossier n'est gênant que pendant le développement.
Citation:
La couleur gris clair dans le graphicbox
Avec un filedialog il n'y a plus cette trace (testé)
Chez moi (XP pro) ça "primitive failed" à tous les lancements, jusqu'à ce que je vire le pré mic-mac des fichiers.
Note: Le forum ne m'a pas signalé ton dernier msg dans la fenêtre d'accueil mais seulement quand j'ai été dans "Jeux" (pour y poster mon dernier délire "mot mystère").
Et j'en conclus que tu n'a pas vu "Autre mémoire" dans "Général".
____________________
Roro
Roro
Donc si on résume, on a deux problèmes : les opérations sur les fichiers qui se soldent par un primitive failed, et certaines fenêtres (mais pas toutes) qui oublient, quand elles se ferment, de remettre le décor qu'elles ont recouvert en s'ouvrant. Je ne vois pas en quoi ouvrir un fichier empêcherait une fenêtre de remettre le décor qu'elle a recouvert, ça me semble bien être deux problèmes distincts. La trève des fêtes de fin d'années va reporter le débogage à l'année prochaine, et ça permettra de revenir avec un regard neuf.
Citation:
Possible qu'il y en ait que je n'ai pas vu, mais globalement j'étais trop pris par ma propre programmation pour me pencher sérieusement sur d'autres programmes
Citation:
Le forum ne m'a pas signalé ton dernier msg dans la fenêtre d'accueil mais seulement quand j'ai été dans "Jeux" (pour y poster mon dernier délire "mot mystère").
Et j'en conclus que tu n'a pas vu "Autre mémoire" dans "Général".
Et j'en conclus que tu n'a pas vu "Autre mémoire" dans "Général".
Possible qu'il y en ait que je n'ai pas vu, mais globalement j'étais trop pris par ma propre programmation pour me pencher sérieusement sur d'autres programmes
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Possible qu'il y ait eu un em"lage de pinceaux dans ton mic-mac.
Citation:
Il doit manquer un flush quelque part.
les opérations sur les fichiers qui se soldent par un primitive failed
Possible qu'il y ait eu un em"lage de pinceaux dans ton mic-mac.
Citation:
Je ne vois pas en quoi ouvrir un fichier empêcherait une fenêtre de remettre le décor qu'elle a recouvert
Il doit manquer un flush quelque part.
____________________
Roro
Roro
je sais pas s'il y a un rapport, mais perso j'ai du corrigé une fct "exist" qui buggait dans certains cas.
Ci aprés Ma version corrigé:
Code VB :
Edité par joan74 Le 24/12/2020 à 16h54
Ci aprés Ma version corrigé:
Code VB :
function exist(cheminDuFichier$) '-------------------------------------------------- 'correction d'un bug pouvant survenir lorsque l'on 'execute la fonction à partir d'une racine (c:\, E:\,...) if (mid$(cheminDuFichier$, 3, 1) = "\") and (mid$(cheminDuFichier$, 4, 1) = "\") then Part1$ = mid$(cheminDuFichier$, 1, 3) Part2$ = mid$(cheminDuFichier$, 5) cheminDuFichier$ = Part1$ + Part2$ end if '-------------------------------------------------- Fichier$=Fichier$(cheminDuFichier$) Path$=Path$(cheminDuFichier$) dim info$(10,10) files Path$, Fichier$, info$( if val(info$(0, 0)) > 0 then exist = 1 else exist = 0 MsgErreur$ = "ERREUR !";chr$(13) MsgErreur$ = MsgErreur$;"Le fichier :";chr$(13);cheminDuFichier$;chr$(13);"n'a pu être trouvé.";chr$(13) 'MsgErreur$ = MsgErreur$;"Le programme va se terminer." 'notice MsgErreur$ 'end '/!\ permet de stopper le programme en cas d'abscence du fichier. end if end function function Fichier$(Path$) while instr(Path$,"\") Path$=right$(Path$,len(Path$)-1) wend Fichier$=Path$ end function function Path$(Fichier$) Fichierindex=len(Fichier$) 'separe le dossier et le nom du Fichier Fichierlength=len(Fichier$) while mid$(Fichier$, Fichierindex,1)<>"\" Fichierindex=Fichierindex-1 if Fichierindex<0 then exit while end if wend Path$=left$(Fichier$,Fichierindex) end function
Edité par joan74 Le 24/12/2020 à 16h54
____________________
"L'urgent c'est fait ! L'impossible est en cours... pour les miracles, merci de prévoir un délai supplémentaire !"
"L'urgent c'est fait ! L'impossible est en cours... pour les miracles, merci de prévoir un délai supplémentaire !"
Merci pour cette petite contrib', et c'est le "certains cas" qui m'intéresse. Pour le moment, l'important est de régler le problème des fenêtres qui laissent une trace fantôme, en réécrivant le programme avec des segments, car, après tout, si le staff LibertyBasic s'est donné la peine de mettre en place un tel système, c'est sûrement qu'il doit avoir une utilité. je me pencherai sur le "mic-mac" en son temps.
A bientôt pour de nouvelles aventures !
A bientôt pour de nouvelles aventures !
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Citation:
Il faudra que je teste un GETBMP bien ajusté juste avant l'ouverture de la fenêtre, et un DRAWBMP juste après sa fermeture. Comme les données essentielles sont en tableaux et que l'affichage ne fait qu'afficher, ça ne devrait pas perturber grand chose.
Je ne vois pas en quoi ouvrir un fichier empêcherait une fenêtre de remettre le décor qu'elle a recouvert
Il doit manquer un flush quelque part.
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Il y a plusieurs façons d'écorcher un chat (proverbe US/UK)
Il faudra que je teste un GETBMP bien ajusté
Il y a plusieurs façons d'écorcher un chat (proverbe US/UK)
____________________
Roro
Roro
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Rectifié le problème du "system primitive failed", c'est expliqué dans ce lien
Je n'ai pas avancé beaucoup sur les traces laissées par certaines fenêtres. J'ai triché rapidement en redessinant le fond juste après la fermeture de la fenêtre, mais on voit furtivement cette foutue trace colorée, c'est pas la bonne méthode.
Je n'ai pas avancé beaucoup sur les traces laissées par certaines fenêtres. J'ai triché rapidement en redessinant le fond juste après la fermeture de la fenêtre, mais on voit furtivement cette foutue trace colorée, c'est pas la bonne méthode.
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
"filedialog" dans le dossier--> plus simple et pas de trace.
Je n'ai pas avancé beaucoup sur les traces laissées par certaines fenêtres
"filedialog" dans le dossier--> plus simple et pas de trace.
____________________
Roro
Roro
J'ai démonté le programme instructions par instruction, il y en avait partout dans la maison de la cave au grenier et dans tous les tiroirs, mais j'ai réussi à tout remonter avec les sous-programmes qui vont bien, et ça semble fonctionner avec les bugs en moins. Pour le moment le programme ne fait rien de plus que dans la dernière version, je publierai le listing lorsque les dernières fonctionnalités seront implémentées, ou alors, au premier bug trop retors que je rencontrerai.
A priori, pas de filedialog prévu pour le moment, le système en place répondant au cahier des charges. Travailler en amateur non tenu à résultat permet de réinventer la roue, et donc d'y mettre le nombre de rayons qu'on veut et de la couleur qu'on veut, du moment qu'on en sait assez pour ne pas équiper un vélo d'une roue de locomotive, ou une locomotive, de roues de vélo. Parmi les garde-fous à installer, il faudra que j'avertisse l'utilisateur qu'il va sauvegarder en écrasant un fichier déjà présent s'il continue avec le même nom de fichier.
La trace fortuite ne se reproduit plus sur un ordi Windows plus puissant que mon eee-PC d'il y a dix ans. Du coup je ne sais pas si c'est la différence de performance ou la correction de mon code qui a supprimé le problème.
Mais quelle que soit la réponse, la base est saine, et on va pouvoir reprendre le chemin
A priori, pas de filedialog prévu pour le moment, le système en place répondant au cahier des charges. Travailler en amateur non tenu à résultat permet de réinventer la roue, et donc d'y mettre le nombre de rayons qu'on veut et de la couleur qu'on veut, du moment qu'on en sait assez pour ne pas équiper un vélo d'une roue de locomotive, ou une locomotive, de roues de vélo. Parmi les garde-fous à installer, il faudra que j'avertisse l'utilisateur qu'il va sauvegarder en écrasant un fichier déjà présent s'il continue avec le même nom de fichier.
La trace fortuite ne se reproduit plus sur un ordi Windows plus puissant que mon eee-PC d'il y a dix ans. Du coup je ne sais pas si c'est la différence de performance ou la correction de mon code qui a supprimé le problème.
Mais quelle que soit la réponse, la base est saine, et on va pouvoir reprendre le chemin

____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Oui, mais si au final la roue est voilée et laisse des traces, ce n'est pas avantageux.
Mais bon, tu peux toujours intégrer au système un correcteur de dérive à base de surcompensateurs auto-régulés à double effet contradicteur.
Et retomber sur tes pattes comme le chat de mère Michel.
Il n'en reste pas moins que c'est plus compliqué en étant moins simple.
roues de vélo
Oui, mais si au final la roue est voilée et laisse des traces, ce n'est pas avantageux.
Mais bon, tu peux toujours intégrer au système un correcteur de dérive à base de surcompensateurs auto-régulés à double effet contradicteur.
Et retomber sur tes pattes comme le chat de mère Michel.
Il n'en reste pas moins que c'est plus compliqué en étant moins simple.
____________________
Roro
Roro
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie