Forum Liberty Basic France

Débutant » Ah, les fenêtres ... Problème de retour.
Le 10/12/2012 à 17h43

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Bonsoir à tous,
Toujours dans les questions bêtes ...
Voici quelques lignes de code. But de l'opération, en test :
Passer de la fenêtre1 à la fenêtre 2 (ça marche)
Et revenir à la fenêtre 1 (ça ne marche pas !)
Qui peut compléter ou modifier mon code pour que tout rentre dans l'ordre ?
Merci d'avance
Cordialement
Horace

' Test Fenêtres - 1.1 - 0 -

[CONSTRUIRE] 'CONSTRUCTION DE LA FENETRE 1

NOMAINWIN

BUTTON #FENETRE1.FENETRE2, "Aller à la fenêtre 2", [FEN2], UL, 10, 20, 150, 20

WINDOWWIDTH = 300
WINDOWHEIGHT = 210
UPPERLEFTX = 200
UPPERLEFTY = 150
OPEN "Fenêtre 1" FOR WINDOW AS #FENETRE1
PRINT #FENETRE1, "TRAPCLOSE [QUIT]"

WAIT

[FEN2]
' CLOSE #FENETRE1
GOSUB [FEN2F]
' OPEN "Fenêtre 1" FOR WINDOW AS #FENETRE1
GOTO [CONSTRUIRE]


[FEN2F] 'CONSTRUCTION DE LA FENETRE 2
BUTTON #FENETRE2.BOUTON "Retour à la fenêtre 1", [FEN2FF], UL, 10, 170, 150, 20
WINDOWWIDTH = 300
WINDOWHEIGHT = 210
UPPERLEFTX = 200
UPPERLEFTY = 150
OPEN "Fenêtre 2" FOR WINDOW AS #FENETRE2
PRINT #FENETRE2, "TRAPCLOSE [FEN2FF]"

WAIT

[FEN2FF]
CLOSE #FENETRE2

[QUIT]
CLOSE #FENETRE1
END
____________________
The Basic and I

Mail Web    
Le 10/12/2012 à 18h31

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
C'est pas du tout une question bête Horace ;)

Par contre il te faut utiliser les balises prévues à cet effet quand tu veux insérer du code (l'icône entre le haut-parleur et la calculette sur la deuxième ligne d'icône, puis tu choisis l'option 'Vb' quand tu cliques dessus. Puis tu colles ton code entre les balises, ça donne ce que tu vois plus bas ;)

Sinon tu y étais presque : juste un WAIT à la fin du label [FEN2FF] car là tu n'arrêtes pas l'exécution du programme qui continue tout simplement avec la suite, c'est à dire [QUIT]...!

Le label [CONSTRUIRE] et ensuite son GOTO ne sont pas du tout utiles, et même, pas du tout recommandé. Avec NOMAINWIN en plus c'est un peu s'occuper de la branche sur laquelle tu es assis :siffle ou remplir voire saturer la mémoire du PC inutilement.

Code VB :
 
' Test Fenêtres - 1.1 - 0 -

'[CONSTRUIRE] 'CONSTRUCTION DE LA FENETRE 1

NOMAINWIN
 
BUTTON #FENETRE1.FENETRE2, "Aller à la fenêtre 2", [FEN2], UL, 10, 20, 150, 20
 
WINDOWWIDTH = 300
WINDOWHEIGHT = 210
UPPERLEFTX = 200
UPPERLEFTY = 150
OPEN "Fenêtre 1" FOR WINDOW AS #FENETRE1
PRINT #FENETRE1, "TRAPCLOSE [QUIT]"
 
WAIT
 
[FEN2]
' CLOSE #FENETRE1
GOSUB [FEN2F]
' OPEN "Fenêtre 1" FOR WINDOW AS #FENETRE1
'GOTO [CONSTRUIRE]

 
[FEN2F] 'CONSTRUCTION DE LA FENETRE 2
BUTTON #FENETRE2.BOUTON "Retour à la fenêtre 1", [FEN2FF], UL, 10, 170, 150, 20
WINDOWWIDTH = 300
WINDOWHEIGHT = 210
UPPERLEFTX = 200
UPPERLEFTY = 150
OPEN "Fenêtre 2" FOR WINDOW AS #FENETRE2
PRINT #FENETRE2, "TRAPCLOSE [FEN2FF]"
 
WAIT
 
[FEN2FF]
CLOSE #FENETRE2
WAIT    '<------------------------ c'est ici que ça se passe ;)

[QUIT]
CLOSE #FENETRE1
END


Peut-être voudrais-tu éventuellement nous en dire plus sur ton projet ?

@+



Edité par cassiope01 Le 10/12/2012 à 19h02
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 10/12/2012 à 21h21

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Ben voyons ...
Je suis désolé d'avoir jeté un pavé dans la mare, alors que j'ai résolu le problème tout seul ... Évidement, les bonnes instructions au bon endroit et tout le programme obéit comme un enfant sage !
Plus sur mon projet ? Bien sûr. Je viens donc des gros système, en COBOL, et je rêve d'une petite application de gestion des comptes. J'ai déjà écrit le code en QB45, puis avec un produit à "fenêtres" WBB BasicBasic, mais ce n'était pas suffisant.
Et puis, à terme, la possibilité d'attaquer une base de données Oracle ! Rien que ça ! En Basic, LB et une DLL en assembleur ou en C++, je n'a pas encore décidé, j'ai essayé deux trois trucs dans les deux langages avec succès, mais attacher cette librairie à LB ... Quid ? Donc pour moi, le langage ne pose aucun problème, je me fais à l'usage de fenêtres, simplement ! Bien entendu, je vous tiens au courant.

Pour Oracle, je dispose de la version Oracle 7 Client-serveur et Oracle7 for Windows. Très vieux, mais amplement suffisant pour faire de développement ! J'ai utilisé cette version avec COBOL Merant sour Win 98 et ça crache des étincelles !

Cordialement à tous
Horace.
____________________
The Basic and I

Mail Web    
Le 11/12/2012 à 18h27

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Outch !!
ça c'est du projet :top

Si tu maitrises autant de langage différents et puissants comme le C++ ou même le COBOL (l'assembleur j'en parle même pas) je me demande un peu pourquoi tu as choisi LB qui reste tout de même un simple Basic ?
ça me donne un peu l'impression de choisir d'utiliser une petite hache pour couper un grand chêne alors qu'on dispose d'une tronçoneuse dernier cri !?

Ceci dit je n'utilise pas LB et son intégration de DLL. Je reste avec le petit frère : JustBasic, donc je ne suis pas forcément le mieux placé pour l'évaluer par rapport à ton projet ;)

Perso j'ai commençé en 92 avec DBASE III+ pour traiter des Bases de Données mais c'était pas du loisir ;)

Bon courage Horace.

@+



Edité par cassiope01 Le 12/12/2012 à 11h43
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Débutant » Ah, les fenêtres ... Problème de retour.  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie