DIAL - Les propriétés

Rédigé par spheris Aucun commentaire
Classé dans : Dial, gambas 2, Tutoriel, Widget Mots clés : aucun
LE DIAL (OU AFFICHEUR A AIGUILLE)


demodial.png


Bonjour,
aujourd'hui nous allons nous interesser au DIAL.
C'est un compteur à aiguille pas très esthétique mais bien pratique pour fixer assez rapidement une valeur ou pour avoir une visualisation rapide d'une valeur.

A) les propriétés

NAME : change le nom du dial
Dial1.name = "toto"

BACKGROUND : Change la couleur d'arriere plan du Dial
Dial1.Background = &H9FFF9F&

DROP : recoit l'évènement Glisser/déplacer. 2 états possibles TRUE ou FALSE
Dial1.Drop = TRUE

ENABLED : Active ou desactive le widget.2 etats possibles TRUE ou FALSE
Dial1.Enabled = TRUE

EXPAND : Agrandi à la taille du conteneur le Dial
Dial1.Expand = FALSE

FONT : Ne fonctionne pas car pas d'écriture.

FOREGROUND : ne Fonctionne pas non plus

HEIGHT : Fixe la hauteur en pixel du Dial
Dial1.Height  = 234

IGNORE : ignore l'agrandissement du conteneur dnas le contenu
Dial1.Ignore = FALSE

MARK :Affiche les graduations sur le Dial
Dial1.Mark = TRUE

MAXVALUE : Fixe la valeur maximale du Dial
Dial1.MaxValue = 1000

MINVALUE : fixe la valeur minimale du Dial
Dial1.MinValue = 0

MOUSE : Choisi le curseur lors du passage de la souris à l'interieur du Dial.
Dial1.Mouse = 2

PAGESTEP : fixe l'echelle des grandfes graduations.
Dial1.PageStep = 10
informations :Comprendre "Par pas de 10"

STEP : Fixe l'echelle des petites graduations et le pas unitaire du Dial.
Dial1.Step = 1

TAG : Etiquette qui permet la manipulation d'un Dial en Tableau.
Dial1.Tag = "ert"

TOOLTIP : Fixe une chaine de caractere sous forme de bulle d'aide qui s'affiche lors d'un passage de souris sur le Dial.
Dial1.Tooltip = "C'est le Dial"

VISIBLE : Rend ou non visible le Dial dans votre interface.
Dial1.Visible = TRUE

WIDTH = Fixe la taille horizontale en pixels de votre Dial.
Dial1.Width = 345

WRAP : Avec cette propriété activée, le Dial tournera sur 360 degrés.
Dial1.Wrap = TRUE

X : Fixe les coordonnées Horizontale (l'origine étant en haut à gauche) du Dial sur l'écran.
Dial1.X = 23

Y : Fixe les coordonnées Verticales (l'origine étant en haut à gauche) du Dial sur l'écran.
Dial1.Y = 27

B)LES EVENEMENTS
L'évènement le plus utile à mon avis est l'évènement CHANGE qui vous permet comme dans l'exemple téléchargeable ci dessous de fixer rapidement une valeur.

A bientôt.

TELECHARGER L'EXEMPLE ICI

Voici le code source de l'application exemple :


PUBLIC SUB form_OPEN()
me.center
button1.setfocus()
END
PUBLIC SUB button1_click() 'CLOSE button
me.CLOSE
END
PUBLIC SUB dial1_change()'change event FOR dial
lcdnumber1.value = dial1.value / 10
END
PUBLIC SUB lcdnumber1_dblclick() 'set focus TO button TO remove cube inside dial
button1.setfocus()
END


LCDNUMBER - Les propriétés

Rédigé par spheris Aucun commentaire
Classé dans : gambas 2, LCDNumber, Tutoriel, Widget Mots clés : aucun


LE LCDNUMBER




Le LCDNumber est bien pratique pour afficher des valeurs ayant l 'apparence d 'un afficheur 7 segments.
Voici comment utiliser ce widget :

A) Propriétés

NAME : Défini le nom du widget
LCDNumber1.name = toto 


BACKGROUND : defini l 'arriere plan du widget. Personnellement, j 'utilise le noir qui est bien plus visuel.
LCDNumber1.Background = &H000000&


BORDER : Permet de définir une bordure au lcdnumber.5 états possibles:
etched : creusé, plain : A plat, none : aucune bordure, raised :avant plan, Sunken : arriere plan.
LCDNumber1.Border = 1


DIGIT : défini le nombre de chiffre sur le lcd. Par défaut il y a 1
LCDNumber1.Digit = 2


DROP : défini si le lcd recoit un evenement drop (glisser deplacer). 2 etats possibles : TRUE et FALSE
LCDNumber1.Drop = FALSE

ENABLED : active ou desactive le lcd. 2 etats possibles : TRUE et FALSE
LCDNumber1.Enabled = TRUE


EXPAND : Agrandi le LCD  à la taille du conteneur.
LCDNumber1.Expand = TRUE

 
FONT : Cette option ne semble pas marcher sur Gambas 2. Elle n 'a aussi aucun intérêt.

FOREGROUND : Ne marche pas non plus.

HEIGHT : défini la hauteur du LCDnumber. il faut saisir un nombre.
LCDNumber1.Height = 123
IGNORE : définit si le LCDNumber doit être ignoré quand son conteneur réorganise ses contenus.
LCDNumber1.Ignore = FALSE


MODE : peut afficher les valeurs sur le LCD sous trois bases : Hexadécimal, décimal ou binaire. 3 états possibles : Binary, Decimal, Hexadecimal.
LCDNumber1.Mode = 1


MOUSE : défini le type de curseur.
LCDNumber1.Mouse = 2


SMALLDECIMALPOINT : permet de definir la taille de l 'emplacement du séparateur décimal. 2 etats possibles TRUE ou FALSE. Si FALSE, le point prend la place d '1 digit.
LCDNumber1.Smalldecimalpoint = TRUE


STYLE : Défini le type de police de caractère du DIGIT : Outline : en 3D, Filled : simple, Flat : à plat.
LCDNumber1.Style = 0


TAG : Défini un TAG (étiquette) utile pour les groupes ou tableaux.
LCDNumber1.Tag = mytag

TOOLTIP : defini le contenu de la bulle lors d 'un passage de la souris dessus. vous devez saisir une chaine de caractère du style voila la bulle!
LCDNumber1.Tooltip = " Here my tooltip" 


VALUE : defini la valeur à afficher par défaut. Cela doit être un nombre
LCDNumber1.Value = 354


VISIBLE : défini si le LCD doit être visible ou non .2 etats TRUE et FALSE
LCDNumber1.Visible = FALSE


WIDTH : Largeur du LCDnumber. C 'est un nombre correspondant aux pixels.
LCDNumber1.Width = 45


X : position horizontale du widget. Nombre
LCDNumber1.X = 12


Y : position verticale du windget. Nombre.
LCDNumber1.Y = 567

Voilà pour aujourd 'hui.


Installer Gambas3

Rédigé par spheris Aucun commentaire
Classé dans : gambas 3, Installation Mots clés : aucun
GAMBAS 3 DANS LES DEPOTS NON OFFICIELS

Pour ceux qui désirent tester Gambas 3, il vous est possible via synaptic de le télécharger et l 'installer.
Voici comment procéder :

1) Ajouter ce dépot ci : ppa:ihaywood3/gambas3


gb31.png

2) cliquer sur Recharger


gb32.png
3) Sélectionnez tous les paquets gambas3

4) Cliquez sur Appliquez

pour lancer Gambas 3, il vous suffit maintenant d 'ouvrir un terminal et taper:

gambas3

Merci à riri pour son aide

Icone de notification

Rédigé par spheris Aucun commentaire
Classé dans : gambas 2, Menu Mots clés : aucun
Icone de notification dans la barre des taches

trayicon.png
Dans votre barre des tâches gnome ou KDE, (si on peut la surnommer comme cela sous linux), nous allons ajouter un icone au moyen de Gambas. Il suffit d 'écrire le code suivant :


PUBLIC MyTray AS NEW TrayIcon AS ( MyTray ) 'declare un trayicon
PUBLIC MyIconPicture AS Picture = Picture[ myicon.png ] 'fixe l 'image du trayicon

PUBLIC SUB Form_Open()
MyTray.Icon = MyIconPicture
MyTray.Show
MyTray.Tooltip = "Ceci est un Icon Tray realise avec Gambas"
END






TABSTRIP - Notions essentielles

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, gambas 3, Tabstrip, Tutoriel Mots clés : aucun
QUELQUES ASTUCES POUR L 'UTILISATION D 'UN TABSTRIP

mytabstrip.png

Bonsoir,
Dans cette petite application à titre d 'exemple je vous propose de découvrir comment :

1)AJOUTER UN ONGLET

Il suffit d 'utiliser d 'ajouter un onglet de plus au nombre existant en saisissant ceci :

Tabstrip1.Count = Tabstrip1.count + 1


2) RENOMMER L 'ONGLET COURANT

par la commande :

Tabstrip[index de l 'onglet courant].text = nouveau texte

Dans l 'exemple , payons-nous le luxe de le modifier au travers d 'une INPUTBOX comme ceci :

DIM mybox AS String
mybox = InputBox( Entrez le nom de l 'onglet. )
TabStrip1[TabStrip1.Index].Text = mybox

3) CHOISIR L 'EMPLACEMENT DE VOS ONGLETS

par la propriété Orientation

2 radioboutons ont été mis pour l 'application.

Je vous laisse découvrir l 'exemple  :

TELECHARGER L 'EXEMPLE ICI

Pour finir, voici le code source de l 'application :

PUBLIC SUB _new()
END

PUBLIC SUB Form_Open()
ME.Center
END

PUBLIC SUB bquit_Click()
ME.Close
END

PUBLIC SUB radiotop_Click()
TabStrip1.Orientation = 0
END

PUBLIC SUB radiobottom_Click()
TabStrip1.Orientation = 1
END

PUBLIC SUB rentab_Click()
DIM mybox AS String
mybox = InputBox( Entrez le nom de l 'onglet. )
TabStrip1[TabStrip1.Index].Text = mybox
END

PUBLIC SUB addtab_Click()
TabStrip1.Count = TabStrip1.Count + 1
END

HSPLIT - Deplacer le centreur

Rédigé par spheris 1 commentaire
Classé dans : apprentisssage, gambas 3, Hsplit, Tutoriel Mots clés : aucun
DEPLACER LE CENTREUR D'UNE HSPLIT/VSPLIT

myhsplit.png

Bonjour,
Aujourd 'hui nous allons voir comment déplacer la barre centrale d 'un HSPLIT ou VSPLIT.
Par defaut la barre se situe au milieu.

Pour deplacer la barre, soit vous utilisez la souris avec un clic gauche et bouger la souris, soit vous pouvez utiliser la commande

Hsplit.Layout = 123,12
 

il faut fournir à la commande Layout une chaine de caractère de 2 nombres séparé par une virgule correspondant à la premiere moitié à gauche et la deuxieme moitié à droite.




Dans ce petit exemple, vous pourrez faire varier le centreur par un Slider.
Voici le code source de l 'application :

PUBLIC SUB _new()
END

PUBLIC SUB Form_Open()
ME.Center
END

PUBLIC SUB bquit_Click()
ME.Close
END

PUBLIC SUB Slider1_Change()
HSplit1.Layout = 100, & Slider1.Value
END



TIMER - Le Trigger

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, gambas 3, Timer, Tutoriel, Widget Mots clés : aucun
UTILISATION D'UN TRIGGER


mytimer.png
Bonjour,
aujourd'hui nous allons nous intéresser aux différentes actions du timer

Pour démarrer un timer vous avez deux possibilités :

Soit vous utilisez la commande :

Timer1.start()


soit vous modifiez la propriété du timer comme ceci :

 Timer1.enabled = TRUE

Pour Arrêter un timer faite de même avec la commande :

Timer1.Stop()

ou utilisez la propriété

Timer1.Enabled = FALSE

Lors d'un démarrage d'un Timer, le programme exécutera en boucle tout ce qui se trouve dans la fonction :
 
PUBLIC SUB Timer1_Timer()
'contenu de ma fonction
END


Ainsi si vous ajoutez :

mavariable = mavariable + 1
print mavariable


Dans la boucle, où verrez votre variable s'incrémenter d'un toutes les x temps.

Ce temps x peut être configuré à l'aide de la propriété DELAY avec comme exemple :

Timer1.Delay = 1000

soit 1000 millisecondes soit 1 seconde.

Une autre fonction intéressante est le TRIGGER, qui vous permet de déclencher la boucle manuellement.
Vous pourrez apprécier le fonctionnement d'un trigger avec ce petit exemple en GB2.
Bonne semaine à tous

TELECHARGER L'EXEMPLE ICI


Code source de l'exemple :

' Gambas class file
PRIVATE numberloop AS Integer = 0

PUBLIC SUB _new()

END

PUBLIC SUB Form_Open()
ME.Center
END

PUBLIC SUB Timer1_Timer()
LCDNumber1.Value = LCDNumber1.Value + 1
numberloop = numberloop + 1
Label1.Text = numberloop
END

PUBLIC SUB Button3_Click()
ME.Close
END


PUBLIC SUB bstart_Click()
Timer1.Start()
END

PUBLIC SUB bstop_Click()
Timer1.Stop()
numberloop = 0
END

PUBLIC SUB Button1_Click() ' bouton trigger
Timer1.Trigger()
END

LOGICIELS GAMBAS 2 - Lecteur musical

Rédigé par spheris Aucun commentaire
Classé dans : audio, gambas 2, Logiciels, multimedia Mots clés : aucun
LECTEUR MUSICAL AVEC SKIN

lecteur.png
Taooteblue nous livre ici un petit lecteur multimédia.
Il semble qu'il y avait un problème lors des déplacements. Depuis mon passage a ubuntu10.10, je n'ai plus le problème. L'application fonctionnant bien, vous pourrez apprécier ce lecteur de qualité.
Merci Taotebluewink

TELECHARGER LE FICHIER

Voici le code de l'application gambas 2 :

' Gambas class file
PUBLIC X1 AS Integer
PUBLIC Y1 AS Integer
PUBLIC action AS Boolean
PUBLIC action3 AS Boolean
PUBLIC position AS Integer = 0
PUBLIC XR1 AS Integer 
PUBLIC XR2 AS Integer 
PUBLIC YR1 AS Integer 
PUBLIC YR2 AS Integer 
PUBLIC TRX1 AS Integer
PUBLIC TRY1 AS Integer
PUBLIC DifX1 AS Integer
PUBLIC DifY1 AS Integer

PUBLIC SUB Form_open()
  DIM mypic AS Picture
mypic = picture["lecteur.png"]
ME.Width = mypic.Width
ME.Height = mypic.Height
ME.Mask = mypic
ME.Center
ToolButton2.Move(388, 13)
ToolButton4.Move(323, 13)
ToolButton5.Move(257, 13)
ToolButton1.Move(193, 13)
'ComboBox1.Move(216, 70)
'ToolButton3.Move(192, 70)
Label2.Move(40, 225, 400, 12)
Label1.Move(200, 100, 200, 60)
ToolButton3.Move(20, 223)
DrawingArea1.Move(140, 65)
XR1 = 0
XR2 = 39
YR1 = 10
YR2 = 26
Music.Volume = 1 - 10 / 145
Dessiner()
END

PUBLIC SUB Form_MouseDown()
  X1 = Mouse.X
  Y1 = Mouse.Y
  action = TRUE
END

PUBLIC SUB Form_MouseUp()
action = FALSE
END

PUBLIC SUB Form_MouseMove()
  IF action = TRUE THEN 
  ME.Move(ME.X - (X1 - Mouse.X), ME.Y - (Y1 - Mouse.Y))
  ENDIF 
END

 PUBLIC SUB Form_DblClick()
Music.Stop
  ME.Close
END

PUBLIC SUB ToolButton2_Click()
 Music.Stop
  ME.Close
END

PUBLIC SUB ToolButton5_Click()
IF position = 0 THEN
  IF Label2.Text = "" THEN RETURN 
    Music.Load(label2.Text)
    ENDIF 
  Music.Play      
CATCH 
Message.Error("Une erreur est survenue", "Ok")
END

PUBLIC SUB ToolButton3_Click()
 Dialog.Title = "Choisir un fichier musique"
  Dialog.Filter = ["*.*", "Tous les fichiers", "*.mp3", "Fichiers mp3", "*.wav", "Fichiers wave"]
     IF Dialog.OpenFile() THEN RETURN
     Label2.Text = Dialog.Path
     Label1.Text = File.Name(Dialog.Path)
 Position = 0
END

PUBLIC SUB ToolButton4_Click()
      Music.Stop
             Position = 0
               ToolButton5.Enabled = TRUE
Label1.Text = ""
END

PUBLIC SUB ToolButton1_Click()
  ToolButton5.Enabled = TRUE
 position = Music.Pos
  Music.Pause
END

PUBLIC SUB DrawingArea1_MouseMove()
  IF action3 = TRUE THEN 
IF Mouse.X > 0 AND Mouse.X < 39 AND Mouse.Y > 10 AND Mouse.Y < 145 THEN
Draw.Begin(DrawingArea1)
Draw.Tile(picture["barrelecteur.PNG"], 0, 0, 41, 156)
Draw.Tile(picture["curseurlecteur.PNG"], 0, Mouse.Y - DifY1, 39, 16)
Draw.End
XR1 = Mouse.X - DifX1
YR1 = Mouse.Y - DifY1
 Music.Volume = 1 - Mouse.Y / 145
XR2 = XR1 + 39
YR2 = YR1 + 16
ELSE 
action3 = FALSE
ENDIF 
ENDIF
END

PUBLIC SUB DrawingArea1_MouseDown()
  IF Mouse.X > XR1 AND Mouse.X < XR2 AND Mouse.Y > YR1 AND Mouse.Y < YR2 THEN 
TRX1 = Mouse.X
TRY1 = Mouse.Y
DifX1 = TRX1 - XR1
DifY1 = TRY1 - YR1
action3 = TRUE
ENDIF 
END


PUBLIC SUB DrawingArea1_MouseUp()
 action3 = FALSE
END

PUBLIC SUB Dessiner()
    DIM mypic1 AS Picture
mypic1 = picture["barrelecteur.PNG"]
DrawingArea1.Width = mypic1.Width
DrawingArea1.Height = mypic1.Height
Draw.Begin(DrawingArea1)
Draw.Tile(picture["barrelecteur.PNG"], 0, 0, mypic1.Width, mypic1.Height)
Draw.Tile(picture["curseurlecteur.PNG"], 0, 10, 39, 16)
Draw.End
END

Booleen - Les manipulation de bits

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, gambas 3, mathematique, Tutoriel Mots clés : aucun
Manipulation de Bits

bits.png

La manipulation de bits sous gambas est une chose aisée car il existe beaucoup de fonctions dont voici la liste :
BClr     Efface un bit dans un nombre entier.
BSet     Positionne un bit dans un nombre entier.
BTst     Teste un bit dans un nombre entier.
BChg     Inverse un bit dans un nombre entier.
Lsl     Décale un nombre entier vers la gauche.
Lsr     Décale un nombre entier vers la droite.
Shl / Asl     Décale un nombre entier vers la gauche et conserve son signe.
Shr / Asr     Décale un nombre entier vers la gauche et conserve son signe.
Rol     Rotation d’un entier vers la gauche.
Ror     Rotation d’un entier vers la droite.

Par l'intermédiaire de ce petit exemple, vous pourrez suivre l'evolution de votre nombre binaire.


TELECHARGER L'EXEMPLE ICI

Voici le code sourcec de cet exemple :

' Gambas class file

PUBLIC SUB Form_Open()
ME.Center
END

PUBLIC SUB Button2_Click()
ME.Close
END

PUBLIC SUB Button1_Click()
TextArea1.Clear
TextArea1.Insert("conversion en binaire de votre nombre : " & Bin$(ValueBox1.Value) & Chr$(10))
TextArea1.Insert("Effacement du bit 2 avec Bclr : " & Bin$(BClr(ValueBox1.Value, 1)) & Chr$(10))
TextArea1.Insert("Positionne le bit grace à Bset : " & Bin$(BSet(ValueBox1.Value, 1)) & Chr$(10))
TextArea1.Insert("Test du bit 2 avec Btst : " & Bin$(BTst(ValueBox1.Value, 2)) & Chr$(10))
TextArea1.Insert("Change le bit 2 avec BChg : " & Bin$(BChg(ValueBox1.Value, 2)) & Chr$(10))
TextArea1.Insert("Decale le nombre entier vers la gauche avec Lsl : " & Bin$(Lsl(ValueBox1.Value, 1)) & Chr$(10))
TextArea1.Insert("Decale le nombre entier vers la droite avec Lsr : " & Bin$(Lsr(ValueBox1.Value, 1)) & Chr$(10))
TextArea1.Insert("Décale un nombre entier vers la gauche et conserve son signe avec Asl : " & Bin$(Asl(ValueBox1.Value, 1)) & Chr$(10))
TextArea1.Insert("Décale un nombre entier vers la gauche et conserve son signe avec Asr : " & Bin$(Asr(ValueBox1.Value, 1)) & Chr$(10))
TextArea1.Insert("Rotation d’un entier vers la gauche avec Rol : " & Bin$(Rol(ValueBox1.Value, 1)) & Chr$(10))
TextArea1.Insert("Rotation d’un entier vers la droite avec Ror : " & Bin$(Ror(ValueBox1.Value, 1)) & Chr$(10))
END

Divers - Maniadrive

Rédigé par spheris Aucun commentaire
Classé dans : accessoire, divers, jeux, photos Mots clés : aucun
SKIN POUR VOITURE MANIADRIVE


maniadrive.png

Pour les joueurs du jeu manadrive, il existe maintenant un skin pour votre voiture qui permet de transformer la clio basique en Gambas Car ! et devinez qui est au volant ?

Benoit, le concepteur de gambas.wink

Pour installer le skin, copiez le fichier car00.tga dans le repertoire game de votre application maniadrive et amusez vous bien !

TELECHARGER LE SKIN

Couleur dans gb.chart

Rédigé par spheris Aucun commentaire
Classé dans : Composants, Drawarea, gambas 2, Tutoriel, Widget Mots clés : aucun
LES TYPES ET COULEURS DE GB.CHART


Aujourd'hui, nous allons nous intéresser au composant Gb.chart.

1) Les couleurs.
Gb.chart dispose de plusieurs couleurs pour tracer vos courbes. Les voici dans l'ordre.
La premiere courbe commence par 0
couleurcourbe1.png

Si vous voulez définir la couleur de votre choix ,l'astuce est de choisir la courbe que vous voulez par la commande :

chart[macourbe]

si par exemple vous voulez la couleur orange il faut ecrire :

chart[0]




2) Les types de courbes
On peut classer en 4 grandes familles les courbes de gb.chart :

-les Aires (Area)

couleurcourbe2.png

-Les colonnes (Columns)

couleurcourbe3.png

-Les Lignes(Lines)

couleurcourbe4.png



-Les camemberts (Pies)


couleurcourbe5.png


pour définir le type de courbes, il vous suffit par exemple de taper cette commande :
Chart.Type = ChartType.Lines

vous pouvez choisir dans cette liste :

couleurcourbe0.png

Pour terminer voici un petit exemple pour vous entrainer à modifier les courbes.

TELECHARGER L'EXEMPLE ICI
A bientôt


Divers - Zoom gambasbasic.fr

Rédigé par spheris Aucun commentaire
Classé dans : divers, internet, Tutoriel Mots clés : aucun
Bonjour,

Pour ceux qui ont du mal parfois à lire des articles sur certains sites internet écrit trop petit voici une astuce bien pratique.

Maintenez la touche CTRL enfoncé puis faite rouler la molette centrale de votre souris. (disponible sous Firefox) et observez le résultat :

Avant :
divers1.png
Après :

divers2.png
Vous pouvez Zoomer pour grossir ou diminuer votre page.
Bonne journée
wink

FENETRE FORM - curseur personnalisé

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, picturebox, Tutoriel, Widget Mots clés : aucun
PERSONNALISER VOTRE CURSEUR



 
cursor1.png
Dans votre application Gambas, vous souhaitez personnaliser un curseur par une image de votre choix ?
Il suffit donc d'écrire les lignes suivantes que nous allons commenter :

PUBLIC SUB picturebox1_dblclick()
DIM myimg AS cursor
myimg = new cursor(picture["main.png"])
fmain.mouse = mouse.custom
fmain.cursor = myimg
END

PUBLIC SUB PictureBox1_DblClick()

Je déclenche cet evenement lors d'un double click sur une pictureBox.


DIM myimg AS Cursor
définition d'une variable locale nommé myimg comme curseur

myimg = NEW Cursor(Picture["main.png"])
Creation du nouveau curseur et indication de l'image

FMain.Mouse = Mouse.Custom
Dire à Gambas que la fenetre form va recevoir un curseur personnalisé

FMain.Cursor = myimg
Le curseur de Fmain sera l'image contenue dans myimg

End
fin de la procédure Dblclick

Nous remarquons deux choses importantes :
1) L'image apparait en noir et blanc. Est-ce mon ordinateur ou est-ce pareil chez vous ?

2) lorsque vous saisissez le code, la constante CUSTOM apparait comme un petit rond rouge.

cursor2.png

Il s'agit d'une sous-sous-procedure.C'est à dire dans la procédure FMAIN, j'ai la procédure MOUSE dans laquelle j'ai la procédure CUSTOM.
J'ecris donc le code comme ci dessous :


FMain.Mouse = Mouse.Custom
et non Fmain.Mouse.custom = TRUE car ce n'est pas une propriété.(Ce n'est pas un Grand rond Bleu)
A bientot

Voici le code complet de l'exemple
PUBLIC SUB _new()
END
PUBLIC SUB form_OPEN()
me.center
END
PUBLIC SUB picturebox1_dblclick()'double click sur l'image main
DIM myimg AS cursor
myimg = new cursor(picture["main.png"])
fmain.mouse = mouse.custom
fmain.cursor = myimg
END
PUBLIC SUB picturebox2_dblclick()'double click sur l'image fleche
DIM myimg AS cursor
myimg = new cursor(picture["fleche.png"])
fmain.mouse = mouse.custom
fmain.cursor = myimg
END
PUBLIC SUB button1_click()'bouton fermer
me.CLOSE
END
Telecharger l'exemple ICI

Aide sur l 'IDE - Fenetre Selection projet

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, IDE, Tutoriel Mots clés : aucun
FENETRE DE SELECTION DE PROJETS

composants.jpg

Lorsque vous créez un nouveau projet Gambas, une fenêtre de ce type s'ouvre et vous permet de choisir le type de projet. Nous allons détailler chacun de ces types :

APPLICATION GRAPHIQUE
Vous allez créer un projet graphique. La bibliotheque graphique ser automatiquement sélectionnée. GTK ou QT

APPLICATION GRAPHIQUE QT
Vous allez créer un projet graphique. La bibliotheque graphique ser automatiquement QT

APPLICATION GRAPHIQUE
Vous allez créer un projet graphique. La bibliotheque graphique ser automatiquement GTK

APPLICATION EN LIGNE DE COMMANDE
Vous allez créer un projet sans interface graphique dont le résultat sera un fichier exécutable en ligne de commande.

APPLICATION SDL
Vous allez créer une application se servant des bibliothèques SDL prévues en général pour les jeux et le multimédias.

APPLICATION WEB CGI
Vous allez créer une application WEB/CGI pour internet sous forme de scripts.

APPLICATION STOCK2E DANS UN REFERENTIEL SUBVERSION
Permet de creer une application gambas et de la maintenir a jour sur un serveur SVN. (exemple de l'IDE Gambas)

LES OPTIONS
Il faut savoir que les cases que vous cocherez ne feront qu'ajouter des liaisons avec les composant gambas.

la case internationalisation
Permet de rendre le projet traduisible en plusieurs langues

La case accès aux bases de données
Donne l'accès aux base de donnée par le composant gb.db

La case Programmation réseau
Donne l'accès aux routines reseaux a travers gb.net et gb.net.smtp

La case gestion de fichiers de configuration
Permet la gestion des fichiers de config à la manière des .ini sous l'autre OS au travers du composant gb.setting

La case Expressions rationnelles
permet la gestion d'expressions rationnelles au travers du composant gb.pcre

La case programmation XML/XSLT
Permet la programmation XML/XSLT au travers de gb.xml et gb.xml.xslt

La case OPENGL
permet d'utiliser les fonctions 3D de Gambas au travers du composant gb.qt.opengl

La case traitement d'images
Permet d'appliquer tous les filtres possibles pour effectuer du traitement d'image dans votre application au travers du composant gb.image

La case Conversion avec Visual Basic
Cette fonctionnalité permet d'utiliser des fonctions visual Basic sous gambas au travers du composant gb.vb . En aucun cas c'est un importateur de projet vb.

LA case programmation d'un composant
Cette case vous permet de définir une structure vierge d'un composant pour ensuite le modifier à votre guise pour créer un nouveau composant.

Merci de votre patience.
A Bientôt

wink

BOUTON - Les évènements

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, Bouton, gambas 2, Tutoriel Mots clés : aucun
LES EVENEMENTS DU BOUTON



Pour chaque élément de l'interface, il vous est possible de déclencher certains évènements.
Nous allons aujourd'hui détailler leur fonction.

Le code de l'évènement est toujours écrit de cette façon.

PUBLIC SUB nomducontrole_evenement()
END

par exemple si je veux créer l'évènement clic de mon bouton Button1, j'écrirai donc ce code ci :

PUBLIC SUB button1_click()
END

voyons maintenant à quoi servent ces évènements :

L'évènement ARRANGE
Très peu utilisé il sert à renvoyer une info comme quoi votre interface s'est auto-arrangé(mise en page auto).

L'évènement CHANGE
Permet dans une boite de dialogue choix des couleurs de récupérer la couleur choisie

L'évènement DblClick
Celui là est beaucoup utilisé. Il permet de faire réagir votre élément de l'interface au double click de l'utilisateur.

L'évènement DRAG
Permet l'utilisation du Drag and drop (glisser déplacer). cet évènement démarre au clic et début du déplacement de votre widget.

L'évènement DRAGMOVE
cet évènement est actif tout au long du déplacement de vos données TEXT, data,icon

L'évènement Drop
cet évènement sera actif lorsque le widget destinataire aura reçu vos données au relâchement du bouton de votre souris.

L'évènement Enter
cet évènement démarrera quand vous passerez la souris sur votre widget

L'évènement GOTFOCUS
cet évènement permet de récupérer ce qu'on appelle le focus.pour préciser ce qu'est le focus, prenons un exemple.
le focus sera le widget qui réagira a l'appuie de la touche entrer.
Si vous avez 2 boutons OK et Annuler, vous pouvez régler le focus pour qu'en appuyant sur entrée vous déclenchiez OK ou Annuler.
Gotfocus (veut dire on obtient le focus, A contrario de Lostfocus(perdu le focus))

L'évènement INSERT
cet évènement permet d'insérer un élément dans un container.
Par exemple un bouton dans un tabstrip

L'évènement KEYPRESS
cet évènement réagit a l'appuie d'une touche sur le clavier

L'evenement KEYRELEASE
cet évènement réagit au lâché de la touche clavier appuyé

L'évènement LEAVE
cet évènement réagit lorsque vous quitter l'aire de l'élément de l'interface affiché.si le curseur de souris sort de votre widget, alors vous déclenchez cet évènement

L'évènement LOSTFOCUS
inverse de gotfocus, vous faite perdre le focus a votre widget

L'évènement MENU
cet évènement réagit au clic d'un menu (ordinaire ou popup). Le menu popup est traduit en français par "menu contextuel"

L'évènement MOUSEDOWN
cet évènement réagit a l'appui du clic de souris sur votre widget

L'évènement MOUSEDRAG
cet évènement réagit au déplacement de la souris lors d'un DRAG de vos données

L'évènement MOUSEMOUVE
cet évènement réagit au déplacement de votre souris, même s'il n'y a aucun clic

L'évènement MOUSEUP
cet évènement réagît au relâchement du bouton de votre souris

L'évènement MOUSEWHEEL
cet évènement réagit à la roulette de votre souris si il est détecté bien entendu.

Voila pour aujourd'hui.
A Bientôt

BOUTON - le ColorButton

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, Bouton, Colorchooser, gambas 2, Tutoriel, Widget Mots clés : aucun
LE COLORBUTTON

colorbutton1.png
Le ColorButton est un bouton bien pratique qui vous permet de choisir une couleur prédéterminée dans une palette de couleurs Basiques. L'évènement utile pour récuperer le code de la couleur renvoyé est l'évènement CHANGE.

Ainsi en cliquant sur ce bouton rose j'ai accès à cette fenêtre ci :

colorbutton2.png

voici la source de cet exemple :

PUBLIC SUB _new()
END
PUBLIC SUB form_OPEN()
END
PUBLIC SUB colorbutton1_change()
textbox1.clear
textbox1.text = colorbutton1.value
END

Voila pour aujourd'hui
wink

GRIDVIEW - recuperer le contenu de la cellule

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, Gridview, Tutoriel Mots clés : aucun
RECUPERER LE CONTENU D'UNE CELLULE D'UNE GRIDVIEW

gridviewhelp.png
Bonjour,
Aujourd'hui nous allons nous occuper de savoir comment on récupere une donnée dans une cellule d'une Gridview.

Hypothese :

Ma gridview est remplie et je double clique sur une cellule. Je veux récuperer :

A) Le contenu de la cellule que j'ai cliqué par la commande :

Gridview.current.text



B) La cellule de la colonne 3 par exemple sur la ligne que j'ai double cliqué :

gridview1[gridview.Row,3].text


C) La cellule de la ligne 2 par exemple sur la colonne où j'ai double cliqué :

gridview1[2, gridview1.column].text


il en est de même pour les images en remplaçant Text par picture.

voilà pour aujourd'hui.

Débuter en Gambas - Exécutable Gambas

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, gambas 3, IDE, Tutoriel Mots clés : aucun
LANCER UN EXECUTABLE GAMBAS

Vous avez compilé votre projet à l'aide de l'interface de développement (IDE) et vous voulez voir votre programme exécuté de façon autonome ?

ouvrir sur GNOME :
Si vous êtes sur gnome, il vous suffit de double cliquer sur votre programme gambas nommé toto.gambas (pour peu que la liaison type mime soit faite) sinon vous faite un clic droit et choisissez le menu OUVRIR AVEC et sélectionnez /usr/bin/xterm

ouvrir sur KDE :
Si vous êtes sou KDE, un double clic sur votre programme gambas nommé toto.gambas (pour peu que la liaison type mime soit faite)sinon vous faite un clic droit et choisissez le menu OUVRIR AVEC et sélectionnez /usr/bin/xterm

ouvrir avec le TERMINAL :
Lancez un terminal, allez dans le dossier de votre exécutable par la commande :

cd /home/endroitdemonexecutable

et saisissez l'une ou l'autre de ces commande à l'invite de commande:

toto.gambas

ou

./toto.gambas

en vérifiant au préalable que votre exécutable a bien..... le drapeau exécutable.
voilà pour aujourd'hui

LABEL - Difference entre label et Textlabel

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 3, Label, Tutoriel, Widget, TextLabel Mots clés : aucun
Difference entre label et Texlabel

differencelabel1.png

Dans la boite à outils, vous avez pu constater qu'il existe deux widgets qui se ressemblent beaucoup : le LABEL et le TEXLABEL. Quel est la difference entre les deux ?

Tout simplement, le LABEL est une etiquette texte simple alors que le TEXTLABEL permet d'ecrire du texte enrichi à l'aide de balises HTML.
Pour vous donnez un exemple, voici une petite application.
Dans la propriété TEXT du TEXTLABEL , j'ai marqué ceci :



differencelabel2.png

Voila pour aujourd'hui.
TELECHARGEZ L'EXEMPLE ICI

Lancement unique d'un programme

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, divers, gambas 3, terminal, Tutoriel Mots clés : aucun
Bonsoir,
Taoteblue nous livre aujourd'hui une astuce fort interessante.
En effet cette petite routine sert à tester l'existence de votre application dans les taches lancées.
Ainsi, vous ne pourrez pas lancer deux fois votre application.
Voici le code :

PUBLIC SUB Form_Open()
DIM Sortie AS String

EXEC ["pgrep", "-f", "-l", "le_nom_de_mon_programme.gambas"] WAIT TO Sortie

IF Split(Trim$­(Sortie), gb.NewLine).Count > 1 THEN
Message.Info("Programme déjà ouvert", "Fermer")
ME.Close
ELSE

'la suite du programme

ENDIF
END


A bientôt

GB2-convertisseur BIN/CUE en ISO

Rédigé par spheris Aucun commentaire
Classé dans : accessoire, gambas 2, Logiciels, multimedia Mots clés : aucun
gbbincuetoiso.png
Ce front end de bchunk va vous permettre de convertir des fichier Bin cue en Iso directement gravable sur votre ordinateur. vous devez pour cela installer le fichier bchunck depuis vos depots

TELECHARGER LE FICHIER

Code source de l'application:

' Gambas class file
PUBLIC mybinfile AS String
PUBLIC mycuefile AS String
PUBLIC myisofile AS String

PUBLIC SUB _new()
END

PUBLIC SUB Form_Open()
ME.Center
END

PUBLIC SUB Menu2_Click()
ME.Close
END

PUBLIC SUB Menu4_Click()
fabout.Show
END

PUBLIC SUB Button2_Click()
ME.Close
END

PUBLIC SUB Button3_Click()
Dialog.Path = System.User.Home
Dialog.Filter = ["*.bin", "Fichiers image"]
Dialog.Title = "Selectionner un fichier image BIN"
IF Dialog.OpenFile() THEN RETURN 
mybinfile = Dialog.Path
TextBox1.Text = mybinfile
END

PUBLIC SUB Button4_Click()
Dialog.Path = System.User.Home
Dialog.Filter = ["*.cue", "Fichiers entete"]
Dialog.Title = "Selectionner un fichier d'entete d'image CUE"
IF Dialog.OpenFile() THEN RETURN 
mycuefile = Dialog.Path
TextBox2.Text = mycuefile
END

PUBLIC SUB Button1_Click()
TextArea1.Text = ""
EXEC ["bchunk", TextBox1.Text, TextBox2.Text, TextBox3.Text] TO TextArea1.Text
END

PUBLIC SUB CheckBox1_Click()
SELECT CASE CheckBox1.Value
CASE FALSE
ME.Height = 511
CASE TRUE
ME.Height = 315
END SELECT 
END

PUBLIC SUB Button5_Click()
Dialog.Path = System.User.Home
Dialog.Filter = ["*.iso", "Fichiers image ISO"]
Dialog.Title = "Donner un nom a votre fichier Image"
IF Dialog.SaveFile() THEN RETURN 
myisofile = Dialog.Path
TextBox3.Text = myisofile & ".iso"
END

LOGICIELS GAMBAS 2 - Bureau GBdesk

Rédigé par spheris Aucun commentaire
Classé dans : Bureau, gambas 2, Logiciels, systeme Mots clés : aucun
GBDESK, UN BUREAU POUR LINUX (version alpha)

gbdesk.png
Voici un projet que j'avais commencé à l'époque. il est réalisé en gambas v2. il remplacera Gnome ou KDE. il reste énormément de travail à faire. Il utilise comme base de registre une base de données Sqlite. Il faut donc que vous ayez Gb.sqlite d'installé.

Télécharger LE FICHIER

nouvelle version au 16 aout 2010 ici
nouvelle version au  21.12.2010 ici

Aide sur l 'IDE - Aide locale

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, IDE, Tutoriel Mots clés : aucun
ACCEDER A L'AIDE LOCALE

ideretrouvform3.png

Il est possible d'accéder à l'aide d'un élément de l'interface (widgets) (photo ci dessus) tout simplement en cliquant droit sur l'élément de l'interface qui vous interesse. L'aide sera lancé dans votre navigateur par défaut.


Aide sur l 'IDE - retrouver le form associé au code

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, IDE, Tutoriel Mots clés : aucun
CODE ASSOCIE AU FORM

Bonjour,
aujourd'hui une astuce bien pratique pour retrouver le code de votre Form.

Vous avez réalisé un projet qui a plusieurs FORM ouvertes dans votre IDE et vous vous perdez dans les fenetres de code et vos Form ? vous voulez retrouver rapidement le code associé à votre Form ? Cliquez sur le Troisième icône dans la barre d'outil comme ceci :

ideretrouvform.png

Cette astuce vous fera gagner un temps précieux comme moi.

Au passage, une autre astuce qui vous permettra de fermer tous les onglets FORM et CODE d'un seul coup.

ideretrouvform2.png

Cliquez sur les onglets avec le bouton droit de la souris, et un menu  popup s'affiche. Cliquez ensuite sur tout fermer.

GB2-Encodeur de texte

Rédigé par spheris Aucun commentaire
Classé dans : accessoire, gambas 2, Textarea, Widget Mots clés : aucun
rot13.png
Cette petite application était développée en Gambas 1 en 2004 par Miha Ambroz,un collaborateur slovène actif du projet Gambas dans sa langue.
la voici portée en GB2 et traduite en Français par Sphéris.
Elle vous permet d 'encoder/ décoder du texte à la volée.
L 'exemple du concepteur est : (copiez ce texte et découvrez la phrase en anglais)

Jryy, hagvy gurl qrpvqr gb oevat gur srngher onpx, lbh pna uryc lbhefrys jvgu guvf.


site su concepteur :

http://home.amis.net/mambroz/mstrwrks.htm

TELECHARGER LE FICHIER
);

Aide sur l 'IDE - acces rapide aux propriétés

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, gambas 3, IDE, Tutoriel Mots clés : aucun
ACCES RAPIDES AUX PROPRIETES

proprietes.png
En utilisant l'IDE au quotidien, j'ai découvert un truc très sympa concernant les propriétés.
Lorsque je voulais par exemple changer la propriété EXPAND à la valeur TRUE, vous faisiez peut être comme moi à savoir cliquer dans la colonne B puis sélectionner la valeur TRUE au lieu de FALSE
Et bien un simple double click sur la colonne A va bien plus vite et produit le même résultat.

pour résumer :

AVANT
APRES
voir la video
voir la video

Tout simplement.
A bientôt.
wink

GB2-Rechercher-Remplacer

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, IDE, Logiciels, Tutoriel, video Mots clés : aucun
ASTUCE SUR LA COMMANDE DE L'IDE RECHERCHER/REMPLACER


remplacer.png
Bonsoir,

Il arrive en écrivant votre programme ,que vous vouliez remplacer un élément de votre interface par un autre. Il vous faut faire appel à la commande de l'IDE "Rechercher/remplacer" plutôt que de réécrire ligne par ligne.

Dans cette petite démonstration vidéo, je vais simplement vous montrer qu'il est possible de Pré charger le texte dans Rechercher/remplacer en le sélectionnant par avance.

pour le petit exemple, nous allons remplacer la chaine de caractères "Gridview1" par "columnview1".
voici comment procéder :

VOIR LA VIDEO ICI

Aide sur l 'IDE - Hierarchie de vos elements d 'interface

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, IDE, Tutoriel Mots clés : aucun
Hierarchie des éléments de votre interface

hierarchie.png

Problematique :
Vous avez créé une belle inteface pour votre application .
vous deplacez vos Widgets(bouton,textedit, etc...) et vous vous apercevez que le widget du dessus passe dessous.
Comment le faire revenir en avant plan ?
Tout simplement en cliquant sur l'onglet Hiérarchie (petit A) puis sélectionnez le widget a mettre dessus (petit B) et cliquez sur la flèche vers le haut(petit C).


Ou alors une méthode encore beaucoup plus simple.
Sélectionnez l'élément à mettre dessus ou dessous puis cliquez sur les carré vert fonce ou clair. comme ceci :

hierarchie2.png


voila.
wink

GB2-Les aides visuelles

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, IDE, Tutoriel Mots clés : aucun
LES AIDES VISUELLES LORS DE LA SAISIE DU CODE

idecercle.png
Bonsoir,

lorsque vous tapez du code dans l'éditeur de code, vous avez pu remarqué que Gambas vous propose une sélection de methodes, propriétés, etc... sous forme de cercle (il n'est peut être pas le cas suivant les distributions linux).

Aujourd'hui nous allons voir à quoi cela correspond.


A)Le Grand cercle Bleu.
Il s'agit d'une propriété à définir. Gambas attend ce type d'ecriture :


lewidget.propriété = valeur

par exemple :
button1.text = "toto"
hsplit2.enabled = TRUE
Label1.visible = FALSER
picturebox1.picture = picture["/home/toto/monimage.png"]

B) le grand cercle vert
Il s'agit d'une classe.
Gambas attend donc ce type d'ecriture :

lewidget.commande() les parentheses sont optionnelles

par exemple :

picturebox1.delete()
hbox3.grab()



C) le petit cercle bleu
Il s'agit d'un etat de la fonction.
Il est en lecture seule uniquement. Vous ne pourrez donc que lire et interpreter les donnes.

Par exemple :

print button1.id

Avec cet exemple, on affichera le numero de processus de notre bouton Button1.

Voila pour aujourd'hui.

BOUTON - Evenement ENTER

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, Bouton, gambas 2, Tutoriel, Widget Mots clés : aucun
L'evenement ENTER

enterevent.png

L'évènement le plus souvent déclenché par un bouton qui nous interesse ,c'est le Click dela souris.
Mais il en existe un autre qui est fort interessant pour tous les widgets. C'est ENTER.
Dans cette petite application (sous forme de farce) vous verrez tout de suite à quoi cet evenement sert.
en effet ENTER signifie que le curseur de la souris entre dans la surface affichée de notre widget. A nous d'ajouter le code qui convient comme ceci par exemple :

PUBLIC SUB button1_enter()
button1.x = rnd(me.width - 10)
button1.y = rnd(me.height - 10)
END

A bientôt

SLIDER - Inverser un Slider

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, gambas 2, Slider, Tutoriel, Widget Mots clés : aucun
INVERSER UN SLIDER

invertslider.png
Il est utile pour plusieurs raisons dans votre application d 'inverser le Slider. C 'est à dire que par défaut le 0 se trouve en haut au maximum. Je vous propose donc dans cette petite application de voir comment inverser votre Slider. voici le code de l 'application :

' Gambas class file
PUBLIC SUB _new()
END

PUBLIC SUB Form_Open()
ME.Center
Slider2.Value = 100
END

PUBLIC SUB Button1_Click()
ME.Close
END

PUBLIC SUB Slider1_Change()
Label1.Text = Slider1.Value
END

PUBLIC SUB Slider2_Change()
Label2.Text = NOT (Slider2.Value - 100) + 1
END


L 'astuce réside dans la ligne en vert. on enlève la valeur max (100) au slider, on inverse ce nombre pour le rendre positif et on ajoute 1 (sinon le 0 devient -1)
Voila pour aujourd 'hui.

TELECHARGER L 'EXEMPLE ICI

GB3-RETURN avec plusieurs donnees

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, Commande, gambas 2, gambas 3, Tutoriel Mots clés : aucun
Utiliser RETURN pour plusieurs données


bonsoir,

La commande RETURN nous permet de passer un paramètre en retour d'une fonction.
Mais comment pouvons nous retourner plusieurs paramètres ?
Nous pouvons nous servir d'une Classe.

Définition :
Je ne rentrerai pas dans des termes techniques compliqués mais vous présenterai une classe comme un ensemble de fonctions, variables et autres...

Prenons par exemple une classe d'un humain que nous appellerons "TPersonne"

un humain a un poid, une taille, une tête, un caractère. ce sont des paramètres.

nous pouvons donc creer cette classe comme ceci :

PUBLIC lepoid AS Float
PUBLIC lataille AS Float
PUBLIC limage AS picture
PUBLIC caractere AS Integer
PUBLIC sensibilite AS String

PUBLIC SUB lafonction() AS TPersonne
DIM hPersonne AS NEW TPersonne
WITH hpersonne
.lepoid = 33
.lataille = 125
.limage = Picture["monimage.png"]
.caratere = 3
.sensibilite = "vraiement sensible"
END WITH
RETURN hPersonne
END FUNCTION


et pour appeler notre fonction comme ceci:

DIM hPersonne AS TPersonne
hPersonne = lafonction()
PRINT hPersonne.lepoid


ce qui peut se traduire par le schema suivant pour une bonne comprehension.


TELECHARGER LE SCHEMA PDF

C'est un concept objet dur a assimiler pour des programmeurs proceduraux comme nous les BASIC like men mais entrainez vous cela vient assez vite.
A+cool

DRAWAREA - variation de gbchart

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, Composants, Drawarea, gambas 2, Tutoriel, video Mots clés : aucun
VARIATION DE VALEURS DANS GB.CHART

gbchart.png

Bonjour,
aujourd'hui nous allons voir quelques petites astuces du composant GB.chart.


Préparation
Nous allons creer un nouveau projet avec une drawarea et le composant GB.chart coché.
Maintenant nous allons tracer une courbe avec 21 valeurs en X.
Les valeurs en Y sont placées dans un tableau  dans une fonction toute faite genre ceci:

PUBLIC SUB initcourbech()
tableaucourbe[0] = 0
tableaucourbe[1] = 0
tableaucourbe[2] = 0
tableaucourbe[3] = 0
tableaucourbe[4] = 0
tableaucourbe[5] = 0
tableaucourbe[7] = 0
tableaucourbe[7] = 0
tableaucourbe[8] = 0
tableaucourbe[9] = 0
tableaucourbe[10] = 0
tableaucourbe[11] = 0
tableaucourbe[12] = 0
tableaucourbe[13] = 0
tableaucourbe[14] = 0
tableaucourbe[15] = 0
tableaucourbe[17] = 0
tableaucourbe[17] = 0
tableaucourbe[18] = 0
tableaucourbe[19] = 0
tableaucourbe[20] = 0
END

n'oubliez pas de declarer d'abord votre tableau par :

tableaucourbe[21] AS Float
ensuite declarons le nombre de courbes,l'axe des X et le type de courbe :

chart.countdatasets = 1
chart[1].color = &hffff00&
chart.headers.values = ["0", "1", "2", "3", "4", "5", "7", "7", "8", "9", "10", "11", "12", "13", "14", "15", "17", "17", "18", "19", "20"]

vous pouvez modifier la valeur de l'axe des Y de cette facon :

chart[0].values = [0.01]

0 est la 1ere courbe
0.01 est la valeur de notre axe Y pour le point 0

Dessinons notre courbe par :

PUBLIC SUB drawingarea1_draw()
'pour tracer le graphique dans la drawingarea
chart.width = drawingarea1.width
chart.height = drawingarea1.height
chart.draw
END

Voila.
Maintenant nous allons nous amuser a faire varier des valeurs de cette courbe



maintenant nous allons creer  un dial,une valuebox et un slider sur notre form.
Le slider nous permet de choisir la valeur en X de notre courbe et le dial la valeur Y.

PUBLIC SUB dial1_change()
valuebox1.value = dial1.value / 10
majcourbe(slider1.value, valuebox1.value)
END
PUBLIC SUB slider1_change()
label3.text = slider1.value
lavaleur = fmain.lamodif(slider1.value)
valuebox1.value = lavaleur
dial1.value = lavaleur * 10
END
'mise a jour de la courbe modifée
PUBLIC SUB majcourbe(lindex AS Integer, donnee AS variant)
chart[0].values[lindex] = donnee
drawingarea1.clear
drawingarea1.refresh
END

vous pouvez modifier la courbe facilement de cette facon.
La ligne en rouge est très importante. Elle vous permet de modifier une valeur de cette courbe. détaillons la :

chart[numero de la courbe] . Values[coordonnées en X] = Coordonnée en Y


voici ce que cela donne en video.

VOIR LA VIDEO ICI

Pas mal non ?
voila pour aujourd'hui.

GB3- Deux facons de programmer

Rédigé par spheris 1 commentaire
Classé dans : apprentisssage, gambas 3, Tutoriel Mots clés : aucun

DEUX FACONS DE PROGRAMMER


Bonjour,
Aujourd 'hui je vous propose de comparer deux facons de programmer.

Nous allons réaliser une petite application à but pédagogique avec trois images cliquables dans une Form.

Deux facon s 'offrent à vous :

1) Création à partir de l 'IDE Gambas

- Créer 3 picturebox
- pour chaque picturebox, par la propriété PICTURE choisir votre image.
-créer l 'évènement PictureBoxz_click (z étant le numero de la picturebox) pour chaque picturebox (ce qui nous fait trois fonctions identiques)

Cette facon de procéder n 'est pas très astucieuse pour plusieurs raisons :

  • Allourdissement du code.
  • 3 Fonctions identiques recopiées.
  • impossibilité d 'augmenter facilement le nombre de picturebox.


Une autre mérhode bien plus intéressante ci dessous.

2) Création directement dans le code

Cette facon est à mon avis la meilleure facon de faire des programmes simples à comprendre.

Procédons par étape :

  • Déclarons d 'abord nos PICTUREBOX en dehors de toutes fonction par la commande :

PUBLIC mypict as picturebox



- Maintenant dans notre fonction button_click par exemple, nous allons créer une picturebox par le code :

mypict = NEW picturebox(me) AS boite1 

GambasForge maintenant en Anglais

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
Bonjour, C 'est presque officiel, GambasForge propose toutes ses pages en anglais et Francais y compris la description du code :)

Si vous voulez découvrir la version anglaise rajouter dans la barre de votre navigateur a la fin de l 'adresse : &lang=en et cela sur n 'importe qu 'elle page .

);

MESSAGEBOX - Boite de dialogue

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
Boite de dialogue ouverture de fichier


dialogbox.png
Bonjour,

Dans votre application, vous pourrez ajouter un bouton Parcourir , pour chercher un fichier présent sur vos disques locaux par une boite de dialogue. Nous allons utiliser une boite de dialogue .

Dans votre code de l 'evenement Click de votre bouton inscrivez ce code :

PUBLIC SUB Button1_Click()
Dialog.Filter = [ *.jpg , Fichiers JPEG , .png , Fichiers PNG , .xpm , Fichiers XPM ] 'defini le filtre d 'extention
Dialog.Title = Ouvrir unfichier 'defini le titre de la boite
Dialog.Path = Application.Path 'defini le chemin par defaut à l 'ouverture
IF Dialog.OpenFile() THEN RETURN 'si on ne peut ouvrir le fichier alors ne rien faire
END

Le plus important à connaitre, c 'est que le fichier que vous aurez sélectionné sera présent dans le DIALOG.PATH. Ainsi il vous sera facile de récupérer le chemin de votre fichier par la commande :

dim monfichier as String
monfichier = dialog.path

Voila ! cet exemple commenté est simple et vous aidera à concevoir vos projets.

Pour aller un peu plus loin, vous pouvez consulter la doc ici :
http://gambasdoc.org/help/comp/gb.form.dialog/dialog/openfile

A bientôt

wink);

LOGICIELS GAMBAS 2 - GBidentity

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
GBIdentity

gbidentity.png
Gbidentity est un programme qui imprime des planches de photos d 'identité pour vos papiers administratifs.
Ce logiciel gratuit est réalisé par Spheris.
Vous pourrez aussi appliquer quelques effets sommaires comme passage en noir et blanc ou rotation de vos photos.
A essayez sans attendre.

TELECHARGER LE FICHIER
 
);