aide sur les listview
);
' Gambas class file PUBLIC SUB _new() END PUBLIC SUB Form_Open() ME.Center END PUBLIC SUB Form_Resize() DrawingArea1.Width = ME.Width DrawingArea1.Height = ME.Height END PUBLIC SUB Timer1_Timer() DIM w AS Integer DIM x AS Integer DIM y AS Integer DIM z AS Integer DIM col AS Integer RANDOMIZE w = Int(Rnd * 600) x = Int(Rnd * 600) y = Int(Rnd * 600) z = Int(Rnd * 600) col = Int(Rnd * 10) Draw.Begin(DrawingArea1) Draw.Line(w, x, y, z) Draw.End END
LE PENDU 8 LETTRES
);
draw.begin(drawingarea1) |
draw.LINE(0,0,10,10) |
draw.circle(0,0,10,10) |
draw.elypse(0,0,10,10) |
draw.text("bonjour",10,10) |
draw.picture(picture["monfichier.png"],10,10) |
draw.END |
PUBLIC SUB menuenregistre_click() DIM monfichier AS File DIM monimage AS new picture monimage = drawingarea1.grab() dialog.path = $spath IF dialog.saveFile() THEN return $spath = dialog.path monfichier = OPEN $spath FOR create monimage.save($spath) END |
' Gambas class file PUBLIC SUB _new() END PUBLIC SUB Form_Open() ME.Width = 455 ME.Height = 367 ME.Center END PUBLIC SUB Label1_MouseDown() Message.Info("you click on the head !!") END
Ce tutoriel présente GAMBAS et les possiblités offertes par ce langage de programmation TELECHARGER LE PDF | Ce Tutoriel présente GAMBAS 2 avec une multitude d 'exemple de code. N 'oubliez pas d 'envoyer un petit mail à l 'auteur pour le remercier TELECHARGER LE PDF |
A) INTRODUCTION
Dans ce cours nous allons voir la différence entre la
programmation structuré et la programmation orientée objet. Ce
cours a été improvisé par un amateur alors soyez indulgent
quant à la rédaction et au tournures de phrases.
B)
LA PROGRAMMATION STRUCTURÉE
Pour
expliquer rapidement ce qu'est la programmation structuré,
prenons un petit exemple de la vie courante.
Posons un
problème simple:
je vais de la gare à chez moi, plusieurs chemin s 'offrent a moi, pourtant un seul but, c 'est un raisonnement structuré.
Je pourrais écrire un simple programme
qui dirait:
-Va tout droit
-Tourne a gauche deux
fois
-Si rue barrée fais demi tour.
-Va deux fois a gauche
et voila tu es arrivé !
cette méthode là était
valable à l’époque. on partait d 'un point a un autre en suivant
bêtement la structure du programme.
Aujourd'hui avec l 'apparition des interfaces et de la programmation orientée objet (poo) le langage a évolué.
Un programme ne va plus d 'un point a un autre mais réagit a des évènements. Reprenons notre exemple en poo cette fois ci, nous pourrions écrire:
-je marche, je marche
Quelqu'un
m 'interpelle et me dit à gauche
je vais a gauche et... je
marche, je marche
un avion passe, je m'arrête et le
regarde..
je marche..je marche
quelqu'un me pousse et... je
suis arrivé !
Cette philosophie de programmation
est géniale ! pourquoi ? car elle permet une souplesse de
programmation exceptionnelle. Autrefois le programme était une
fonction figée du début a la fin. Aujourd'hui le programme est
constitué d 'une multitude de fonctions(petits bouts de codes).
Dans
notre exemple :
je marche, je marche peut être comparé à
la fonction principale
on la nomme MAIN (qui veut dire
'principale' en Anglais)
Quelqu'un m 'interpelle et me dit
'à gauche' est la fonction vaagauche
a la fin de vaagauche il y
a je marche, je marche curieux c 'est la fonction MAIN
et
oui ! on a sauté d 'une fonction a l 'autre
Nous pouvons donc
décomposer un programme en une multitude de petites fonctions appelé
:OBJETS !!!!!
Petit
rappel historique à titre d 'information :
Un
microprocesseur, partie centrale de notre matériel, traite des
informations qui rentrent et qui sortent
par exemple, je rentre
000001010111011 j 'effectue une addition et je sors 11101110
a l
'époque des informaticiens ont inventé le langage assembleur ,
langage assez difficile a maîtriser qui traduit ces 000111 en code
du style :
MOV 3H,CS
CALL INT3
ce qui est un peu plus
compréhensible par l 'homme mais qui reste difficile à assimiler
pour le commun des mortels.
le langage assembleur étant trop
compliqué et les ordinateurs devenant de plus en plus performant il
a fallut changer de langage
Notre bon vieux bilou gatsou
nous a sorti son BASIC (qu’il a pompé je ne sais où bien
entendu)
qui est en fait une surcouche de l 'assembleur.
c
'est a dire, par exemple,
PRINT ‘’bonjour’’
équivaudra en assembleur a :
MOV 32,CH
DS 23 , CALL INT45
le basic interprétait les écritures
de code compréhensibles par tous les programmeurs contenues dans un
fichier .BAS.
Seulement , le code était exécuté du début
jusqu'à la fin , on dit qu'il est STRUCTURE.
Avec la puissante
de calcul toujours grandissante de nos machine, et la gestion
multitâches, Il a fallut améliorer cela.
La notion de POO
arrivait a grand pas avec le langage C.
LA
PROGRAMMATION
ORIENTEE OBJET OU POO
Nous ne pouvons pas parler de poo
sans parler du langage précurseur, à savoir le langage C, de ce
nouveau mode de programmation.
En C on utilise ce principe
de bout de fonction(appelé objet) qui sont stocké dans des
bibliothèques
ainsi pour prendre un exemple, je veux écrire
bonjour a l 'écran avec le basic:
PRINT « bonjour »
En C , j 'importe la bibliothèque stdio.c (entree
sortie affichage ecran)
puis j 'ai maintenant accès à l
'affichage écran et un printf bonjour et ca marche
Pourquoi
faire plein de petites bibliotheques pour le c me direz-vous?
tu
n’inclus à ton programme que ce que tu as besoin.
mais
ATTENTION !
la différence fondamentale entre le c et le basic
est énorme.
avec le c tu inclus tes librairies (petits bouts de
code) puis tu COMPILES !
La compilation est le fait de
transformer ton code pour créer un fichier exécutable autonome.
C
'est a dire qu'il marche sous toute plateforme du même type.
en
basic c 'est different !
c 'est du code Interprété !
c
'est a dire que ta machine lit ton prog au debut et raisonne comme
ceci
Je lis PRINT alors je dois ecrire une chose a l
ecran. ensuite bonjour donc positionne le curseur pour ecrire
bonjour, ensuite...
pas de compilation en basic alors ?
non
pas de compilation !
mais gambas alors ? Que fait-il
exactement?
c 'est plutôt l 'interprétation de ton code a
travers un petit exécutable codé en c++ !
(Sans rentrer dans le détail, ce n’est
plus trop vrai avec la compilation à la volée, mais nous resterons
simple pour ce tuto)
pour vérifier mes dires ouvrez cette page
et lisez le début ..http://gambasbasic.fr
Gambas est un
environnement de développem....
C 'est pour cette raison qu'un
logiciel en gambas ne pourra tourner que sur une machine qui possède
ce fameux petit executable appeléé RUNTIMES !
y a t 'il
un runtime independant de l 'ide de gambas?
Oui pas obliger d
'installer gambas mais les runtimes uniquement !A ne pas confondre
les runtimes de win$ qui sont tout autre chose.
La difference entre runtime win$ / gambas ?
les runtimes windaube sont plutot
des librairies graphiques en plus . Pourquoi ne peut pas inclure ces
Runtimes dans les éxécutables des prog en Gambas ? parce que... ce
n 'est pas un exécutable tout simplement. c 'est un langage
interprété qui demande a être lu par l 'exécutable gambas nommé
gbr3 que vous trouverez dans usrbin/gbr3
Concept
de creation de programme
gambas est composé d 'une IDE
(elle même codée en gambas) qui permet de définir l 'interface
graphique.
Pour programmer il faut DEFINIR le besoin..
Prenons un exemple : la gestion d
'entretien d 'une voiture,
il faut clairement expliquer le
projet
et décomposer en plein de petits bouts notre
problème
sous forme d 'arborescence
exemple :
tout
en haut la voiture
ensuite en dessous les pneus
dessous les
pneu, changement tous les
a coté passage en pneus neige
le...
ensuite on remonte
huile
en dessous vidange le
a
coté contrôle le...
J 'oubliais la vidange le
en
dessous
je rentre dans la FONCTION vidange et commence a décrire
la FONCTION :
ouvrir bouchon
vider huile
remettre
bouchon
remplir huile
Remarque : mais dans la fonction
VIDANGE cela ressemble a de la programmation structurée
et oui
!
on part du début et on va a la fin de la fonction en suivant
une structure
la METHODOLOGIE pour definir notre besoin
en
général j 'écris les grandes lignes sur un papier en réfléchissant
un peu au contenu des fonctions
ce qui fait que mon prog pourra
etre repris jour après jour en ajoutant une fonction
et puis
une autre
etc...
en résumé, on DEFINI
le besoin
on recense les fonctions dans une
arborescence
2 eme partie l 'interface graphique
Là
on s 'amuse
exemple ma fonction vidange dans l 'exemple :
une
textbox pour saisir la quantite d 'huile
un bouton pour faire la
vidange
un timer pour décompter les gouttes d 'huiles
etc...
l
'inspiration quoi !
3eme partie : LE CODE
l
'ide gambas est tres bien faite
et il m 'est impossible de me
rappeler toutes les instructions du gambas basic
alors je bosse
en multi écran
a gauche l 'ide
et a droite l 'aide
gambas
voila je débute le programme par la fonction que j 'ai
envie
je commence par la fonction vidange
elle me plaît
celle là.
par définition et si vous lisez comment écrire le
code gambas dans la doc il est dit
une fonction commence par
PUBLIC SUB nomdelafonction_evenement()
et fini
par
END
donc j 'ai tous les outils pour
réaliser ma fonction :
PUBLIC SUB vidange()
END
une
autre fonction allez !
la fonction
attentionmanquedhuile
PUBLIC SUB
attentionmanquedhuile()
END
voila pour le concept
POO.
Merci de votre attention.
A bientôt