gambaslinux

Aides aux utilisateurs de gambas linux

Accueil  /  Archives 2009

A cause de divers problèmes techniques rencontrés, le forum gambas linux a migré de plateforme.
Vous pouvez maintenant apprécier la nouvelle version (toujours à la même adresse).
 Bonne année 2010 ! wink);


Voeux

0
Un joyeux Noël et une bonne année à tous.

Et merci pour votre précieuse collaboration.

Pierre
);


DESSINER DES CARRES

qsdf.png
Voici une petite application pour dessiner des carrés dans une drawarea

TELECHARGER L 'EXEMPLE ICI

voici le code de l 'application :



GBdomotic, la domotique en Gambas

gbdomotic.png
Produit d 'une idée qui me trottait depuis un bon moment dans la tête, GBdomotic est un logiciel perfectionné de domotique pour Linux développé en Gambas Linux. Doté d 'une interface conviviale (qui peut être pilotée par écran tactile), il est simple d 'utilisation et permet de gérer à peu près toutes les grandeurs physiques de la maison :
  • allumage/extinction Prise électrique
  • Éclairage intérieur et extérieur.
  • gestion des volets roulants
  • gestion du store
  • gestion du portail
  • gestion récupération eau de pluie
  • gestion de la piscine
  • surveillance vidéo
  • alarme centralisée
  • gestion du chauffage, de l 'eau chaude
  • gestion des emails
  • gestion des ambiances sonores suivant les pieces
  • prise à distance de n 'importe ou dans le monde
et cerise sur le gateau, un capteur dans la boite au lettre vous dira même si vous avez du courrier.
Ce logiciel en est au stade alpha mais sera mis a jour régulièrement.
Il utilise la ou les cartes K8055 de velleman pour leur simplicité de mise en œuvre.
Ce projet ambitieux a 3 buts essentiels :

- L 'utilisation de gambas Linux pour découvrir ses énormes possibilités
- Réaliser un système pro et  performant pour un prix tres attractif !
-Domotiser ma maison pour en faire une maison higtech :)

Si vous voulez vous joindre à moi n 'hésitez pas ! wink

TELECHARGER LE FICHIER (Fichier Maj du 01/03//2012)

Realisation du projet :
4/12/2011 : Je me concentre sur la partie éclairage.
Aux vues des nouvelles technologies qui fusent ce 21eme siècle, j 'ai décidé de réaliser moi même les interrupteurs de ma maison. Il seront composé d 'une plaque alu brossée. Un simple touché ou effleurement du doigt déclenchera un télérupteur.
Pour le schéma électronique, j 'ai choisi cette carte très abordable(- de 7 euros) d 'un internaute que je remercie au passage.
http://electroschema.blogspot.com/2011/08/schema-et-realisation-circuit-de.html

voici la version PDF de la page.

pour ce qui est du principe de fonctionnement voici en détail le schéma de principe.
PDF a telecharger ici

Lors d 'un appui sur l 'ecran tactile, un code 8 bit correspondant au bouton est envoyé sur la K8055.Un front d 'horloge est généré sur la sortie analogique au picaxe qui colle par le ULN2803 le telerupteur,allumant ou eteignant ainsi la lampe. (Attention, la coupure se fat toujours par le neutre)

REALISATION:
Les 2 cartes prototypes sont finies ainsi que l 'etude. Voici des photos des carte finies :
La carte de multiplexage avec des PIC :
picpcb.png
La carte de relayage permetant de piloter 8 peripheriques (lumiere, telerupteur, stores, vmc,etc...) :

relaypcb.png

Les premiers essais semblent très concluant et tout fonctionne très bien.

MAJ DU㺜.01.2012.


Le logiciel a été mis a jour et propose de nouvelles fonctionnalités. Un fichier d 'adresses materielle a été joint au projet.

MAJ DU㺋.02.2012

La partie contrôle de l 'eclairage interieur est completement operationelle et fonctionnelle.
La partie musique est fonctionnelle et en phase de mise au point. Le pilotage des hauts parleurs de plafond dans les pieces est terminée.
Le nouveau logiciel est disponible au telechargement. (version 0.26)

MAJ DU㺋.02.2012 (soir)
La gestion du chauffage est en cours de realisation. L 'interface est défine. (V0.29)

MAJ DU㺔.02.2012
Téléchargez la nouvelle version 0.36 qui gère :

La gestion des prises est maintenant opérationnelle et fonctionne parfaitement.
gbdomoticprises.png

Des corrections de bugs dans le lecteur multimedia
 
gbdomoticmedia.png

L 'interface de la partie gestion de l 'Eolienne est définie.
 
gbdomoticeolienne.png
MAJ du 01/03/2012: fichier version 0.41
Définitiion de l 'interface module alarme et sécurité.
L 'interface est opérationnelle. Le module multimédia a maintenant un etat memoire des pieces activées.
Ca avance bien, je suis trooopp content   wink  wink  tongue  tongue
vue du module alarme, video surveillance :
 
gbdomoticsecurite.png

 
 



 
 
);


LE TAPISSIER

tapissier.png
Ce logiciel réalisé en gambas linux, prévu pour tous les bricoleurs ou professionnels, vous aidera à calculer le nombre de rouleaux de tapisserie que vous aurez besoin pour rénover vos pièces.
Il vous donnera aussi un prix exact de la réalisation de vos travaux, accessoires compris.
TELECHARGEZ LE FICHIER
Merci à spheris pour sa contribution ! eek winkwink
);


MONAIDE

monaide.png
Monaide est un petit programme pour ceux qui développent en Gambas.
Il est un clone du fameux fichier HLP de visual basic.
En effet, il était vraiment simplicime de rechercher dans ce fichier toutes les commandes, instructions, etc... pour les utiliser rapidement par l 'exemple.
Le voici maintenant pour gambas.
Je m 'en sers au quotidien et cela me fait gagner beuacoup de temps de programmation.
A essayer sans attendre !
Pour le moment, la documentation est convertie en sqlite jusquà la lettre D. Je continue activement et mettrai les nouvelles bdd en ligne régulièrement. Il vous suffira de remplacer le fichier docsqlite par le nouveau.



TELECHARGER LE FICHIER

nouveau : Bdd au 27/11/09 lettre A à O
TELECHARGER LA BDD A remplacer DANS REP. de l 'application
);


La commande APPLICATION


La commande APPLICATION renvoi des renseignements sur l 'application gambas que vous exécutez.
Voici les éléments renvoyés avec une petite description.

PATH
Message.Info(Application.Path)
renverra une boite d 'info avec le répertoire courant de l 'application

ACTIVECONTROL
Message.Info(Application.ActiveControl)
renverra une boite d 'info avec le nom du contrôle actif dans cette application

DIR
Message.Info(Application.Dir)
renverra une boite d 'info avec le répertoire de l 'application

ID / HANDLE
Message.Info(Application.Handle)
Message.Info(Application.Id)
renverra une boite d 'info avec le numéro PID du processus de l 'executable GB.

NAME
Message.Info(Application.Name)
renverra une boite d 'info avec le nom de l 'application

TITLE
Message.Info(Application.Title)
renverra une boite d 'info avec le titre de la fenetre principale de l 'application GB

VERSION
Message.Info(Application.Version)
renverra une boite d 'info avec le numéro de la version de GB si spécifié lors de la compilation

A bientôt

wink


);


LA BATTERIE


batterie.png

Batterie est plus un logiciel d 'apprentissage du code pour apprendre à jouer un son avec GB qu 'un véritable instrument.
Cela dit vous pourrez faire du bruit et réveiller vos voisins si vous le souhaitez.
 Ils diront :
Tiens il fait de la musique maintenant ? madmad

TELECHARGER LE LOGICIEL


Voici le code de l 'application pour jouer un son :
Il vous faudra bien entendu cocher le composant GB.SDL.SOUND dans les propriétés de votre projet.
Ensuite saisissez ce code :

public sub button1_click()
dim mysound as sound
mysound = new sound( toto.wav )
mysound.play
END

Une autre astuce réside dans le fait d 'utiliser des etiquettes (label) et de les rendre transparent. Ensuite il réagiront à l 'évènement mousedown. Vous pourrez rendre votre image de fond interactive !
A bientôt
 
);


CONVERTIR UN NOMBRE EN LETTRES


JSCOP nous livre ici un tutoriel pour convertir un nombre en lettre en s 'inspirant de routines JAVA.

'D 'après une routine java par GALA OUSSE Brice

' ****************************************Comment utiliser cette routine ****************************************
'1- Sauvegardez le fichier sous un nom indifférent.
'2- Copiez le fichier sauvegardé dans les modules de votre programme Gambas.
'3- Lorsque vous avez besoin d 'une conversion de ce type dans vos programmes, appelez la routine en lui passant comme valeur le montant à convertir.
'NB: Cette fonction gère les nombres jusqu 'à 999999. On peut aisément adapter le programme pour aller au-delà.
'Cette fonction ne gère pas les décimales, il faut donc les gérer en amont.
'Voici çi-dessous un exemple d 'utilisation.
'DIM c AS String
'DIM c2 AS String
'DIM c3 AS String
'DIM ipos AS Integer
'c = 4589,23
'c3 = c ' On recupère les décimales si besoin
'iPos = InStr(c3, , )
'IF ipos <> 0 THEN
' c3 = Right$­­(c3, 2)
' c3 = numtostring.nbtostring(c3)
'ENDIF

'c = Left$­­(c, iPos - 1) 'On recupère les entiers
'c = numtostring.nbtostring(c)

'éventuellement on met la monnaie.
'IF NOT IsNull(c3) THEN
' c = c & Euros et & c3 & centimes
'ELSE
' c = c & Euros
'ENDIF

'****************************************Début du programme************************************
PUBLIC FUNCTION unite(nombre AS Integer) AS String
DIM unite AS String
SELECT CASE nombre
CASE 0
unite = zéro
CASE 1
unite = un
CASE 2
unite = deux
CASE 3
unite = trois
CASE 4
unite = quatre
CASE 5
unite = cinq
CASE 6
unite = six
CASE 7
unite = sept
CASE 8
unite = huit
CASE 9
unite = neuf
END SELECT
RETURN unite

END

PUBLIC SUB Dizaine(nombre AS Integer) AS String
DIM dizaine AS String
SELECT CASE nombre
CASE 10
dizaine = dix
CASE 11
dizaine = onze
CASE 12
dizaine = douze
CASE 13
dizaine = treize
CASE 14
dizaine = quatorze
CASE 15
dizaine = quinze
CASE 16
dizaine = seize
CASE 17
dizaine = dix-sept
CASE 18
dizaine = dix-huit
CASE 19
dizaine = dix-neuf
CASE 20
dizaine = vingt
CASE 30
dizaine = trente
CASE 40
dizaine = quarante
CASE 50
dizaine = cinquante
CASE 60
dizaine = soixante
CASE 70
dizaine = soixante-dix
CASE 80
dizaine = quatre-vingt
CASE 90
dizaine = quatre-vingt-dix
END SELECT
RETURN dizaine
END

PUBLIC SUB nbtostring(nombre AS String) AS String
DIM nb2, nb3, nbtolet AS String
DIM quotient, reste AS Float
DIM nb, ipos AS Integer
IF Len(nombre) > 15 THEN RETURN
IF InStr( 0123456789,. , nombre) = 1 THEN RETURN
iPos = InStr(nombre, , )
IF ipos <> 0 THEN
nombre = Format$­­(nombre, #########0.00 )
nb2 = Left$­­(nombre, iPos - 1)
ELSE
nb2 = nombre
ENDIF
nb = Val(nb2)
SELECT CASE Len(nb2)
CASE 1
nbtolet = unite(nb)
CASE 2
IF nb > 19 THEN
quotient = nb2 / 10
iPos = InStr(Str(quotient), , )
IF ipos <> 0 THEN quotient =
END IF
END
);


COCHER / DECOCHER UNE CHECKBOX


Pour cocher / Décocher une checkbox, cela est possible avec deux solutions :

Utiliser la boucle IF THEN ELSE comme ceci dans l 'évènement Click :



ASTUCE : RETOUR A LA LIGNE DU TEXTE


bonjour,
Aujourd 'hui une petite astuce toute simple pour mettre un texte sur Deux (ou plus) lignes dans un bouton, ou toolbutton.
il vous suffit d 'écrire la commande :



UTILISER LE COMPOSANT GB.CHART


gbchart.png
Le composant GB.CHART

Bonjour,
Aujourd 'hui nous allons voir comment utiliser le composant GB.chart pour dessiner des courbes avec gambas.

Tout d 'abord vous devez cocher le composant gb.chart dans les propriétés du projet.

Les actions essentielles à retenir pour ce composant sont :

Nombre de courbes à afficher :
(ici 4)



DRAWEUR, UN PAINT POUR GAMBAS LINUX


draweur.png
Thegambasdeur nous présente ici un petit PAINT pour gambas avec la possibilité d 'importer des images, ainsi que d 'utiliser tous les outils pour faire un dessin basique.
Merci à Thegambasdeur pour sa contribution. wink

TELECHARGER LE FICHIER
);


MINITCHAT EN GAMBAS INTRANET


serveur-client.png
Voici une application qui permet d 'échanger des messages au travers d 'un reseau intranet.
Il serait possible  de l 'utiliser sur internet au travers d 'SSH.
Voici une introduction à cet excellent logiciel à but pédagogique pour utiliser la couche reseau sous Gambas :

Tchat en Intranet

 

 

 

Dans votre projet vous devez cocher gb.net

 

Lancez le projet Serveur: (localhost)

tchat01.png

Puis lancer sur la même machine le projet Client: (même port 8088)

 

tchat02.png

 



Pour un usage en réseau à domicile ou au bureau:

 

Vous lancez le serveur sur une machine

Puis lancez le client sur chaque machine du réseau en ayant bien soin de mettre l 'adresse IP de l 'ordinateur Serveur à la place de localhost et de garder le même port de connexion.

 

tchat03.png

 

Octobre 2009 Réalisé par taoteblues

 

 

TELECHARGER APPLICATION SERVEUR

TELECHARGER APPLICATION CLIENT

remarque : Il vous faut installer l 'application serveur sur votre pc principal et l 'application clent sur les autres PC de votre réseau intranet.

Merci à Taoteblue pour sa contribution.


);


REMPLIR UNE COLUMNVIEW AVEC SQLITE3


Bonjour,
Aujourd 'hui nous allons remplir une columnview avec des données stockées dans un fichier de type sqlite3.

voici le code commenté :



Petit coup de main

0
Je découvre aujourd 'hui Gambas et en faisant quelques recherches d 'exemples, ce site.

Je souhaite réaliser un programme qui me permette
- de créer une base de données (tableur) contenant une liste de nom et des données associées
- de mettre en page une partie de ces données pour créer des documents (1 par personne listée genre diplôme ou fiche d 'évaluation)
- de mettre en page certaines autres données de la même base pour créer des listes de stagiaires afin de réaliser une liste de présence, une liste des candidats réussissant le test final...

L 'un ou l 'une d 'entre vous peut-il me guider dans cette aventure très ambitieuse pour un débutant de base .

Je pense qu 'à partir d 'un premier programme de création d 'un base permettant de sélectionner une ou plusieurs personnes et de créer un document reprenant une partie des données de chacun (publipostage) , je devrai pouvoir compléter le dispositif et monter la version finale.

Un amateur pour ce défit ? contactez moi par mail : syrial(arob_ase)free.fr

petite modif de ton email pour éviter le spam wink);


ALARME POUR LA MAISON

alarm.png
Alarme est un petit logiciel qui simule une alarme de maison.
Le code par defaut est 1234
vous pourrez donc l 'interfacer avec des capteurs en série sur les ouvertures de votre maison et sur une sirene.

TELECHARGEZ LE FICHIER
);