Gambas France BETA


Pas de compte ? Incription

Enregister Sous

1
AuteurMessages
Foromus#1 Posté le 8/1/2010 à 21:36:00
Bonjour,

Voilà, j'étudie Gambas, ce n'est pas si simple, mais j'insiste !
Mon projet de travail s'appelle "Travail001" A sa création, il a aussi créé le sous-répertoire qui porte exactement le même nom.
Mon apprentissage a évolué, grâce à l'aide généreuse que j'ai pu trouver sur ce forum, et aussi à la documentation que je découvre en même temps.

Je voudrais figer le travail précédent avant de continuer, donc, je voudrais enregistrer mon travail sous le nom de "Travail002".
J'utilise donc la commande "Enregistrer sous" de Gambas, et là, je me faire refouler !
J'ai bien tenté un répertoire "Travail002". et en collant dedans tout ce qu'il y avait en 1, mais ça n'a pas marché.

Ah, au passage : quand je vais dans mon navigateur de fichiers et que je regarde le répertoire "Travail001",je remarque une chose curieuse :
"Travail001", qui est un sous-répertoire, possède un sous-répertoire nommé "Travail001", lequel possède lui aussi un sous-répertoire "Travail001" qui a un sous-répertoire "Travail001", et cela ... 111 fois de suite... A ce rythme là, je ne vais pas mettre de temps à remplir mon disque dur...
Je viens de jeter un oeil sur les propriétés du premier, il comporte 756 éléments, pour un volume de 47.7 Mio...
Est-ce bien raisonnable ?....

Enfin, je comprends mieux maintenant le message d'alerte lors de mes essais d'enregistrement : Stack is full....
manu#2 Posté le 8/1/2010 à 23:14:00
Avec Gambas ca roule !Hum bizarre...

Si tu utilises enregistrer sous, tu créer ton repertoire avant et tu fait ta sauvegarde de ton projet actuelle dans ce noveau repertoire.

Autrement, dans ton navigateur de fichiers, tu fait un copier coller du dossier de ton projet puis tu le renome et ca marche tres bien.

Quand au 111 sous repertoire, faut que tu fasse le menage là.... :affraid:
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
spheris#3 Posté le 8/1/2010 à 23:36:00
Foromus,
Es tu sur que nous a pas fait une boucle sans fin dans la creation de tes sous sous sous ... dossiers?
Peux tu poster ton code afin qu'on te dise si il a quelques petites modif apporter ?
Si tu veux bien bien entendu.
;)
Foromus#4 Posté le 9/1/2010 à 09:12:00
Bonjour,

Pour ce qui est d'envoyer mon code, il n'y a rien de secret dedans. Cela dit, j'aimerais bien chercher un peu avant, c'est en cherchant qu'on apprend !
Pour le ménage, oui, c'est fait !
C'est vrai que je suis un peu dérouté !
Bon, si j'examine mon code, je n'ai rien qui crée un quelconque sous-répertoire, pour l'instant, je n'ai que des labels, txtbox et boutons radio. J'ai aussi créé un fichier pour mémoriser les valeurs des deux boutons radio à True, et les valeurs des dernières saisies de deux textbox : rien de particulier là-dedans...
Ce que j'ai trouvé curieux, c'est l'appel de la commande Enregistrer sous. Je me trouve avec une fenêtre, je dirais "normale", avec l'arborescence, et une saisie en haut. Je peux effectivement me déplacer dans l'arborescence, mais il ne m'est pas permis de changer le nom qui est dans la case de saisie en haut. Mais ça, je ne m'en suis pas aperçu tout de suite, j'ai probablement cru avoir changé, et quand j'ai validé, j'ai bien entendu eu un message d'erreur de "pile pleine", car en fait - dans ce cas, ça ne fait que recopier ce qui est fait, et on rentre en boucle, boucle qui ne s'arrête en fait que par la saturation de la pile.
Bon, j'ai bien peur que mon discours ne soit pas très clair !

Autrement, j'ai bien essayé de créer un nouveau répertoire et de tout coller dedans, ça n'a pas marché !
Même chose avec Enregistrer sous, le nouveau répertoire apparaît bien dans l'arborescence, mais la copie ne marche pas...

Ps : j'ai essayé de mettre la copie d'écran de la boîte de saisie mais ça n'a pas marché ! Donc, et pour le code, si j'envoie, je serai aussi coincé... Bon, un truc de plus à voir...
pinky#5 Posté le 9/1/2010 à 09:56:00
Bonjour Foromus

J'avais aussi eu il y a longtemps ce souci de créations de sous-répertoires multiples. Je ne me souviens plus comment j'avais réglé ce souci, mais c'était un truc simple il me semble. Peut être un problème de fichiers temporaires qui ne se supprimaient pas automatiquement ou un projet mal créé. Regardes dans tous les répertoires de Gambas si tu ne trouves pas quelque chose.

Si ça me revient, je pense à toi.
Dolmen (table pierre) : Caillou préféré des Bretons (un dolmen de prédilection).
Foromus#6 Posté le 9/1/2010 à 14:06:00
Je suis arrivé à un certain résultat, mais ça me semble un peu boiteux....
J'ai donc créé un autre répertoire destiné à recevoir l'application, disons, "Travail002" pour le cas présent, et j'ai fait un copier coller des fichers et sous-répertoires de "Travail001".
Quand j'ai voulu ouvrir avec Gambas, je me suis aperçu que je n'avais pas l'onglet FMain.class, seulement l'onglet FMain.form. Et puis le lancement ne semblait pas se faire, il ne se passait rien.
Ensuite, je me suis décidé à faire un double-click sur un contrôle quelconque, et là, ô miracle, le FMain est apparue, et avec tout le code (Enfin, comme j'avais transféré le fichier, je me demandais bien où elle était passée...). Donc, je viens d'apprendre que, au premier lancement, la FMain reste cachée, tant qu'on n'a pas double cliqué sur un contrôle.
Ensuite, je me suis aperçu que mon programme se lançait bien, contrairement à ce que je pensais, mais qu'il restait en arrière-plan (j'avais d'ailleurs ouvert une discussion à ce sujet - je viens de la compléter). En fait, ce problème venait de la mauvaise utilisation des composants de Gambas, j'ai remis ceux qui conviennent et ça fonctionne.
Néanmoins, je trouve la processus assurément possible, mais tout de même un peu tortueux...
gambix#7 Posté le 9/1/2010 à 23:44:00
Faire simple !Je dirais juste fait bien attention a ce phénomène .

Un projet gambas est en fait un dossier. n'enregiste pas le dossier dans le dossier. tu a du utiliser la commande enregistrer sous pas inadvertance.

De même quand vous générez des executable veillez a bien ne pas le mettre dans le dossier projet. Sinon il sera contenu a son tour dans l'archive exécutable.
Moins de texte dans une signature c'est agrandir son espace.
Foromus#8 Posté le 10/1/2010 à 09:16:00
Je dirais juste fait bien attention a ce phénomène .

Un projet gambas est en fait un dossier. n'enregiste pas le dossier dans le dossier. tu a du utiliser la commande enregistrer sous pas inadvertance.

De même quand vous générez des executable veillez a bien ne pas le mettre dans le dossier projet. Sinon il sera contenu a son tour dans l'archive exécutable.


Bonjour,

Ah non, je n'ai pas utilisé la commande "Enregistrer sous" par inadvertance, mais le plus sciemment du monde !
Mon premier et élémentaire réflexe a été de penser que, puisqu'il y avait une commande de prévue, c'est que, normalement, on devait pouvoir l'utiliser, quitte à apprendre le mode d'emploi. Donc, et si je comprends bien, la commande existe, mais il ne faudrait pas l'utiliser ?
Pur l'exécutable, j'en ai fait un une fois, pour voir, j'avais effectivement trouvé un fichier du même nom avec l'extension .gambas, et dans le même répertoire. Il fonctionnait "normalement", et comme c'était à titre d'essais, je l'ai tout simplement supprimé. Dans ce cas précis, je souhaiterais un peu plus d'explications, car, si le fichier exécutable arrive dans le dossier, mais qu'il ne faut pas l'y mettre je ne vois pas trop comment faire. Ou alors, dès que l'exécutable est créé, je le mets ailleurs. Un peu compliqué pour moi tout ça....
Je vais essayer de voir ça dans la matinée, après le café...
gambix#9 Posté le 10/1/2010 à 10:55:00
Faire simple !Mouais en faite ça n'a jamais été fait mais il faudrait un truc pour interdire cela ! idem pour enregistrer sous, il faudrait un avertissement .
Moins de texte dans une signature c'est agrandir son espace.
Foromus#10 Posté le 11/1/2010 à 20:13:00
Bonjour,

En y repensant, il me semble que la commande "Enregistrer sous" crée bien un dossier, et avec toutes ses branches. En réalité, le souci, c'est que ce dossier est mal placé car il est créé en tant que sous-répertoire de l'application que l'on veut renommer ! Il me semble que le souci est là et pas ailleurs. Je suppose que si la commande d'enregistrement laissait la main à l'utilisateur pour entrer les nom et chemin du nouveau nom, le problème ne se poserait plus. Et puis, quel intérêt de montrer une fenêtre qui présente une arborescence, mais dans laquelle on ne peut pas circuler ?...
Cela me ramène à un propos que j'ai lu je ne sais plus où, et l'auteur mettait en garde quant à la création d'un exe, qu'il ne fallait surtout pas mettre dans le même répertoire. J'ai comme l'impression que cette remarque s'applique surtout à la commande enregistrer, plus qu'à la création de l'exe. J'ai fait un exe avec mon appli, pour voir, il fonctionne, même dans le même répertoire. Je l'ai déplacé, il fonctionne toujours.
A ce propos, je voudrais faire part d'une remarque. Pour ce qui est des fichiers (là où j'ai eu un peu de mal à comprendre - alors que c'était si simple), les conseils attirent l'attention sur le chemin du fichier, celui qui est écrit sur le disque. Jai donc vu le chemin relatif, et le chemin complet. Je dois dire que je n'ai pas pu obtenir un résultat avec un chemin relatif, j'ai du utiliser des chemins complets, (partant de la racine : /home/toto/gambasse, etc). Je crois aussi me souvenir que l'on pouvait utiliser la tilde (~) pour renseigner un chemin, j'ai essayé un peu dans tous les sens, ça n'a jamais marché. Dans tous les cas de figure, j'ai du utiliser un chemin complet. Enfin, l'avantage, c'est qu'on peu balader l'exé n'importe où... Par contre, le fichier de destination à tout intérêt à rester à la même place, ce qui est un gros inconvénient. La solution du sous-répertoire direct pour garder les fichiers d'une application me semble quand même la moins mauvaise solution !

Bien je crois qu'il n'y a rien d'autre à ajouter pour l'instant.
gambix#11 Posté le 11/1/2010 à 21:06:00
Faire simple !Tu as décidément encore beaucoup a apprendre sur linux et sur gambas..


Il faut bien que tu te mette dans la tête que le dossier du projet est le projet et que tout les fichier contenus dans ce dossier serons compilé dans l'éxécutable comme le fichier ressource de vb l'était.

vb utilisait un fichier vbp qui contenait le chemin relatif de tout les fichiers de son projet ... gambas lui considère que tout les fichier contenu dans le dossier et ne commençant pas par un '.' font parti du projet.

C'est la philosophie java. Donc oui le nom Enregistré sous devrait être changer en 'faire une copie'.

Ton exécutable si tu le met dans le dossier ... ben il marchera c'est sur ... mais il sera contenu en lui même ... ce qui n'est pas très utile.

Ne mettez jamais de base sqlite dans votre dossier projet ... elle ne restera accessible que tant que les sources seront visibles ! et ne changeront pas de place.

Pour les chemin relatif, il ne sont valable que pour les fichier contenu dans l'archive executable, c'est a dire dans le dossier du projet.

Pour appeler une image contenu dans le dossier du projet : Picture["monimage.png"] suffit

Fabien
Moins de texte dans une signature c'est agrandir son espace.
Foromus#12 Posté le 12/1/2010 à 08:53:00
Tu as décidément encore beaucoup a apprendre sur linux et sur gambas..

Fabien


Hélas, si il n'y avait que Linux et Gambas..... :D :D :D :D :D :D :D :D :D
1