Bonsoir,
Un excellent site sur gambas où l 'on peut apprendre à coder avec des exemples clairs et précis.
www.gambas-buch.de
Sous http://www.gambas-buch.de/dw/doku.php?id=k7:k7.2:start il donne un aperçu de la théorie de la STRUCT et un projet complet.
A visiter sans attendre...
Merci à Hans pour tout son travail.
Taptête est un jeu d 'adresse ou il vous faut à l 'aide d 'un marteau, taper sur les têtes qui apparaissent.
Ce jeu est un simple exemple d 'utilisation de la customisation du curseur.
Bon, je reconnais que les personnages sont de mauvais gout et inadaptés à ce jeu enfantin
un site très interessant que je vous conseille :
http://www.markasgambas.blogspot.fr/
Merci à son webmaster pour son travail.
Edit: au 22 juin 2022, le lien ne fonctionne plus.
GBargent est un petit logiciel pour apprendre aux enfants (entre 4 et 8 ans) la valeur de l 'argent (les euros).
Vous devez mettre dans le cochon la somme exacte annoncée par le logiciel.
Réalisé en mai 2012 par spheris.
Vous connaissez très probablement ce jeu qui se pratique depuis la nuit des temps dans les cours d 'école ?
Le voici en version informatique pour Gambas.
vous devez affronter l 'ordinateur (qui est muni de mains d 'ailleurs
) en 10 points.
A vos souris !
Bonjour,
Voici un petit livret de 15 pages qui traite des notions fondamentales de Gambas 2. Un site interessant à découvrir en Espagnol.
Bonsoir,
Un site avec plein d 'exemples sur GB (ftp , port série, et autre) réalisé par un ingénieur.
AGANIMOS
AGANIMO est un logiciel qui vous donne la correspondance de l 'age des animaux enrapport avec l 'age humain.
Utilisation : sélectionnez l 'animal et la correspondance s 'affiche automatiquement.
Réalisé en avril 2012 par Spheris.
LES CODES POSTAUX FRANCAIS
Voici un petit utilitaire bien pratique pour trouver une ville en fonction de son code postal ou inversement, trouver un code postal à partir de la ville.
Pour utiliser le logiciel, saisissez les données dans la case verte .
Attention : le nom de la ville doit être suivi de deux espaces.
ce logiciel utilise sqlite qui doit préalablement être installé dans votre distribution (gb.sqlite)
Réalisé par sphéris en avril 2012.
);
PIGAVISION est un logiciel pour ajuster à la volée votre résolution d 'écran ainsi que pour choisir la sortie vidéo . Sortie TV ou VGA.
Il n 'existe cependant qu 'en Anglais sur le site de l 'auteur que vous trouverez ICI:
http://pigasoftware.a.wiki-site.com/index.php/PigaVisionVoici donc une traduction Française par sphéris en avril 2012.
Ce fichier est a placer dans le répertoire caché
.LANG dans le répertoire de l 'application.
);
GBMEDIA, INTERFACE EN GB2 POUR MPLAYER
Voici un front-end pour mplayer, l 'excellent lecteur de vidéo tous formats pour linux.
Il utilise une drawarea et la gestion des process.
Voici le code source de cette application :
EDITEUR DE LABYRINTHES
Voici un logiciel réalisé par kostyalamer, un contributeur Russe actif dans la communauté de Gambas russie.
C 'est un éditeur de niveau pour son jeu de labyrinthe que vous trouverez sur son site officiel ici :
http://kostyalamer.narod.ru/gamblabgame/labgame.htmlCe logiciel est traduit en Français par Sphéris en Mars 2012
LE PORT SERIE SOUS GAMBAS.
Bonjour,
Aujourd"hui je vous propose de commenter l'exemple fourni avec Gambas 2.
1) detection du port
Pour realiser une communication serie, il faut connaitre le port de communication de votre ordinateur linux.
Pour ce faire, ouvrez un terminal et tapez la commande :
dmesg | grep tty
vous listerez les ports serie disponibles. (ttyS0 généralement).
saisissez alors cette commande :
serial1.portname = "/dev/ttys0" |
2) parametrer le port
Pour que la communication se fasse dans de bonnes conditions, il faut régler :
-La vitesse de tranmission en Bauds:
-La parité (donnée paires ou impaires):
-Le nombre de bits de données:
-La presence d'un bit de stop ou non
3) Ouvrir le port
pour l'utiliser, une fois paramétré, il vous faut ouvrir le port :
4) Envoyer des données
pour envoyer des données, utilisez la commande :
print #serial1, montexteaenvoyer |
5) recevoir des données
utilisez la commande READ
read #serial1, madonneerecue, lof(serial1) |
N'oubliez pas de fermer le port une foi que vous vous en êtes servi. (Serial1.close)
A bientôt.
AJOUTER, EDITER, ENLEVER UNE LIGNE DANS UNE BASE DE DONNEES
Aujourd'hui nous allons voir quelques petits exemples pour manipuler les données dans une base de données sqlite.
A) Ajouter des données à la bdd
pour ajouter des données il faut utiliser CREATE comme ceci :
PUBLIC maconnexion AS new connection PUBLIC matable AS table PUBLIC monresultat AS result PUBLIC sql AS String maconnexion.type = lower("sqlite3") maconnexion.host = application.path maconnexion.name = "mybddFile" maconnexion.login = "" maconnexion.password = "" maconnexion.port = "" maconnexion.OPEN() maconnexion.begin monresultat = maconnexion.create("mytable") monresultat.update maconnexion.commit maconnexion.CLOSE |
B) Modifier une valeur dans la bdd
J'utilise en général la colonne ID qui me sert de référence pour modifier la donnée. Ensuite il me suffit d'utiliser EDIT pour éditer ma connexion comme ceci :
DIM maconnexion AS new connection DIM matable AS table DIM monresultat AS result maconnexion.type = lower("sqlite3") 'type de bdd maconnexion.host = application.path maconnexion.name = "bdddata" maconnexion.login = "" maconnexion.password = "" maconnexion.port = "" 'ouvre la connexion a la bdd sqlite maconnexion.OPEN() monresultat = maconnexion.edit("mytable", "id=" & id) |
puis modifier ma donnée comme ceci :
monresultat!monchamp = manouvellevaleur |
puis mettre à jour la bdd par :
monresultat.update maconnexion.commit maconnexion.CLOSE |
3) Effacer une ligne dans la base de données.
Même topo que précedent mais il faut utiliser DELETE :
monresultat = maconnexion.delete("mytable", "id=" & myid) |
REMARQUE :
Dans l'IDE en tapant votre code ecrivez maconnexion. et vous listerez toutes les commandes possibles pour votre connexion (edit,delete,create,etc...) comme ceci :
Merci pour votre attention.
Le wiki officiel de gambas russe:
Je vous propose dans cette section de télécharger des paquets que j 'ai réalisé afin de simplifier l 'installation de logiciels sous linux DEBIAN, UBUNTU, ou dérivé...
Voici la liste des Paquets :
NOM | DESCRIPTION | TELECHARGER |
libusb 0.1.8 | Ce paquet est necessaire pour l 'utilisation de la carte K8055 de velleman sous linux | libusb |
K8055 | Ce paquet contient l 'executable K8055 pour utiliser la carte K8055/VM110 de velleman sous linux | k8055 |
Gambas 3 | Ce paquet contient la version officielle de Gambas 3, l 'excellente plate forme de développement sous linux | gambas 3 |
);
UTILISER LE CONTROLE EMBEDDER
Bonjour,
Aujourd'hui nous allons étudier sommairement le controle Embedder.
Il vous permet d'inclure une application externe à gambas à l'interieur de votre application.
Pour ce faire nous avons besoin de 5 choses importantes:
A) une application que vous lancerez avant toute chose (ici la calculatrice de gnome gcalctool)
B) une variable de type process (ici h)
C) un tableau de pointeur 'ici lepid) qui pointera votre application a inclure.
D) une variable de type integer (ici monpid) qui contiendra le numero du pid du process.
E) enfin un controle Embedder que vous positionnerez sur vote form.
Voici le code de l'application :
PUBLIC h AS process PUBLIC lepid AS new pointer[] PUBLIC monpid AS Integer PUBLIC SUB form_OPEN() me.center END PUBLIC SUB button1_click() lepid = desktop.find("calculatrice") monpid = lepid[0] embedder1.embed(monpid) END PUBLIC SUB bquit_click() me.CLOSE END PUBLIC SUB button2_click() h = shell "gcalctool" END |
si le message d'erreur OUT OF RANGE apparait, c'est surement que vous avez un souci avec l'application qui doit être incluse.(mauvais titre de fenetre, mauvais nom, etc...)
Edition au 22 juin 2022:
Ce widget ne fait plus partie de gambas 3 et est maintenant obsolete.
Je laisse cet article a titre d'informations.
Bonjour,
Pour savoir si votre application a déjà été lancé, il suffit lors du premier lancement de créer un fichier dans le répertoire de l'application.
Ainsi, au deuxieme lancement vous testez la presence de ce fichier. si il existe on ferme l'application immediatement.
pour resumer dans la fonction OPEN de la FORM :
IF NOT exist(mypath) THEN myFile = OPEN mypath FOR create CLOSE #myFile ELSE me.CLOSE ENDif |
Dans la fonction CLOSE de la FORM :
kill application.path & "/myfile" 'efface fichier deja ouvert |
LA documentation de KILL fermeture de fichier KILL :
http://gambasdoc.org/help/lang/kill?fr
Merci pour votre attention.
Retour à la ligne de texte dans une cellule
Petite astuce aujourd'hui.
Pour mettre à la ligne du texte dans une cellule, il suffit d'utiliser la commande :
gridview1[0, 0].wordwrap = TRUE
|
Voila pour aujourd'hui
GBTOHTML logiciel de conversion de code coloration syntaxique en HTML
GBtohtml est un utilitaire qui convertira votre code qui a la colorationsyntaxique dans votre IDE vers du HTML avec balises de couleurs.
Il servira a inserer du code coloré dans un cadre dans vos pages HTML.
TELECHARGER L 'APPLICATION
REMPLIR UNE FORME GEOMETRIQUE AVEC UNE TEXTURE
Bonjour,
Aujourd'hui nous allons nous interesser à remplir des formes geometriques.
A travers ce petit exemple, nous allons utiliser la fonction FILL.
Voici le code de l'application :
PRIVATE mycolor AS Integer = 0
PUBLIC SUB _new()
END
PUBLIC SUB form_OPEN()
me.center
END
PUBLIC SUB brect_click()
draw.begin(drawingarea1)
draw.rect(10, 10, 50, 50)
draw.END
END
PUBLIC SUB brect2_click()
draw.begin(drawingarea1)
draw.fillcolor = mycolor
draw.fillstyle = fill.backdiagonal
draw.rect(70, 10, 50, 50)
draw.END
END
PUBLIC SUB brect3_click()
draw.begin(drawingarea1)
draw.fillcolor = mycolor
draw.fillstyle = fill.cross
draw.rect(110, 10, 50, 50)
draw.END
END
PUBLIC SUB brect4_click()
draw.begin(drawingarea1)
draw.fillcolor = mycolor
draw.fillstyle = fill.crossdiagonal
draw.rect(170, 10, 50, 50)
draw.END
END
PUBLIC SUB brect5_click()
draw.begin(drawingarea1)
draw.fillcolor = mycolor
draw.fillstyle = fill.dense12
draw.rect(210, 10, 50, 50)
draw.END
END
PUBLIC SUB brect7_click()
draw.begin(drawingarea1)
draw.fillcolor = mycolor
draw.fillstyle = fill.solid
draw.rect(270, 10, 50, 50)
draw.END
END
PUBLIC SUB brect7_click()
draw.begin(drawingarea1)
draw.fillcolor = mycolor
draw.fillstyle = fill.horizontal
draw.rect(10, 70, 50, 50)
draw.END
END
PUBLIC SUB brect8_click()
draw.begin(drawingarea1)
draw.fillcolor = mycolor
draw.fillstyle = fill.vertical
draw.rect(70, 70, 50, 50)
draw.END
END
PUBLIC SUB brect9_click()
draw.begin(drawingarea1)
draw.fillcolor = mycolor
draw.fillstyle = fill.none
draw.rect(110, 70, 50, 50)
draw.END
END
PUBLIC SUB bquit_click()
me.CLOSE
END
PUBLIC SUB colorchooser1_change()
mycolor = colorchooser1.value
END
|
UTILISER LE COMPOSANT SMTP POUR ENVOYER UN MAIL
Bonjour,
Aujourd'hui nous allons nous interesser au controle SMTP qui permet l'envoi de mail.
1)creation de l'interface.
Creez l'interface de sorte que l'on puisse saisir :
-Le destinataire du message nommée tto
-L'objet du message nommé tobject
-Le contenu du message nommée tcontent
Un bouton envoyer le mail nommé bsend
Un bouton quitter nommé bclose
2) Remplir le code de l'evenement click du bouton envoyer
Saisissez ce code :
PUBLIC SUB bsend_Click()
SmtpClient1.To.Add(tto.Text) 'destinataire du message
SmtpClient1.Subject = tobject.Text 'objet du message
SmtpClient1.From = "lemail@lemail.fr"'adresse expediteur
SmtpClient1.Host = "smtp.free.fr" 'serveur smtp
SmtpClient1.Port = 25 'port
SmtpClient1.Add(tcontent.Text, "text/plain") 'contenu et type
SmtpClient1.Send() 'envoi du message
Message.Info("Message envoyé avec succès!") 'message si bien envoyé
CATCH 'interception d'une erreur
Message("une erreur s'est produite, veuillez recommencer !")
END
Voila pour aujourd'hui.
Remarque : Si vous avez ce message d'erreur :
Server won't accept sender while starting dialog(smtp error code #575)
l'adresse de l'expediteur n'est pas dans le bon format. (mail@mail.com)
si vous avez le signal #11, C'est que vous avez oublié une propriété.
pour que le controle marche, il faut saisir toutes les lignes.