Gambas France BETA


Pas de compte ? Incription

Coder plus Clair avec WITH.

1
AuteurMessages
Reivillo#1 Posté le 3/8/2012 à 15:59:26
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour à Tous.

Un exemple de création de Bouttons dans le code,
avec emploi du mot clé WITH.
Le Code parait plus Clair.

Reivillo.

Une remarque?

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
' Gambas class file

PUBLIC hButton[8] AS Button
PUBLIC hLabel AS NEW Label(ME) AS "_hLabel"
PUBLIC iNhButton AS INTEGER = 0

PUBLIC SUB _new()

END

PUBLIC SUB Form_Open()

WITH ME 'les lignes de Propriétés, ou Expressions començant par un ".",
.H = 20 'entre (WITH et END WITH), se réfère à l'OBJET
.W = 128 'suivant immédiatement WITH. ( Ici "ME" ). Imbrication possible.
END WITH 'Code moins Chargé, donc plus Clair. (Avis Personnel).

WITH hLabel
.H = 20
.W = 128
.Border = TRUE
.Background = Color.Cyan
.Text = "Click Here"
.Alignment = Align.Center
END WITH

END

PUBLIC SUB _hLabel_MouseUp() 'Déclenché au relachement d'un bouton de la souris,
'lorsque le curseur se situe sur le Contrôle.
IF iNhButton >= 8 THEN
hLabel.Text = "hButton Completed"
RETURN
ENDIF

WITH hButton[iNhButton] = NEW Button(ME) AS "_EventhButton"
INC iNhButton
ME.H = ME.H + 20
.X = 0
.Y = 20 * iNhButton
.H = 20
.W = 128
.Background = Color.Pink
.Font = Font["-2"]
.Text = "Button[Tag = " & iNhButton & "]"
.Tag = iNhButton
.Show
END WITH

END

PUBLIC SUB _EventhButton_Enter() 'Levé lorsque la souris entre dans le Contrôle.

LAST.Text = LAST.Text & " Hello!"

END

PUBLIC SUB _EventhButton_Leave() 'Relevé quand la souris quitte le Contrôle.

LAST.Text = "Button[Tag = " & LAST.Tag & "]"

END

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Foromus#2 Posté le 3/8/2012 à 21:55:27
Bonsoir,

Je ne savais pas que ça marchait aussi avec Gambas !
(je connaissais With avec VB)
Cela dit, il est quand même assez rare de modifier maintes fois les propriétés d'un contrôle au cours d'un projet. Pour un label par exemple, une fois que l'on a fixé les taille, aspect, font, etc, en général, ça reste dans l'état. Mais c'est vrai que des fois, le besoin est là, et surtout aussi pour une remise à zéro dans le cas de modifications nombreuses, pour ramener tout à l'origine.
Par contre, ce qui manque en Gambas, c'est un peu de "superflu"... Par exemple, une frame reste un rectangle un peu inerte, si on pouvait mettre un peu de relief ou autre entourage, ce serait pas mal.Tant qu'à plagier VB, autant prendre aussi les bons côtés... Pour l'instant, j'attends toujours de pouvoir retrouver de la couleur sur mes boutons ! (impossible avec qt, possible avec gtk, mais là, c'est le processus qui se bloque)
Mais bon, ce dont on dispose, c'est déjà super, je suis loin de tout utiliser...
manu#3 Posté le 4/8/2012 à 10:08:57
Avec Gambas ca roule !With est effectivement très pratique et tres propre aussi :) Ça fonctionne pour tous les objets, pas que pour les contrôles ! Par exemple pour définir une connexion à une Base de données, un formulaire, un graphique etc...C'est très utile effectivement pour les contrôles créés à la volée.

Foromus, Concernant les Frames, tous de dépends des réglages de Qt. Ce sujet a déjà été abordé dans le Forum (Voir la fin de ce Topic : http://www.gambasforge.org/sujet-195-resolucadre-d-1-frame-page-1.html#m1) ... Concernant Gambas, je ne crois pas que ce soit un Plagia de VB mais plutôt un Basic comme VB. C'est normale qu'il y ais des points communs car c'est le même type de language.

Merci aussi de ne pas changer de sujet dans les réponses à un Topic...
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)
Reivillo#4 Posté le 4/8/2012 à 15:29:39
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour Foromus, manu.

Penser-vous que ce bout de Code,
peut avoir ça place dans:
Exemples & Tutos de la Forge de Gambas ?
(Je ne voudrais pas gâcher de l'espace sur la Forge).

Merci.
Reivillo.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
GarulfoUnix#5 Posté le 4/8/2012 à 23:44:19
By the wayGâcher de l'espace tu n'en gâcheras pas.
La question à se poser plutôt dans ce cas présent c'est: est-ce que ça va apporter son utilité?

En effet, c'est un code qui montre l'utilisation de WITH. Or, dans la doc officielle ( http://www.gambasdoc.org/help/lang/with?fr&v3 ) bien souvent on a SYNOPSIS de l'instruction du langage, une description, et un ou des exemples fournit faisant référence à son utilisation.
Donc pour moi ça n'a pas sa place sur la forge, non pas par manque d'espace, mais par manque d'intérêt d'apprentissage.
Reivillo#6 Posté le 5/8/2012 à 13:33:36
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour,et Merci GarulfoUnix,
pour ta réponse.

Reivillo.

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
gambix#7 Posté le 8/8/2012 à 18:55:48
Faire simple !si ça a sa place ici mais plutot sur un sujet dédié aux tuto... il faudrait qu'on se penche sur une section "Truc et Bidules"
Moins de texte dans une signature c'est agrandir son espace.
1