gambaslinux

Aides aux utilisateurs de gambas linux

Accueil  /  Archives 2012

Taptete

0

taptete.png
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 tonguetonguetongue

 



Codes postaux

0

LES CODES POSTAUX FRANCAIS


gbcodepostal.png

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.
);


Convertisseur de sequence d 'images en GIF animé.




pngtogif.png
 
Voici un Front end de convert , un utilitaire en ligne de commande qui vous permet de convertir une séquence d 'images en un fichier GIF animé.

Sélectionnez le répertoire source contenant les images, le fichier de destination se remplira automatiquement dans le répertoire initial.

Choisissez les diverses options de convertion.

Le délai entre chaque images vous permet de régler le temps d 'afficahge de chaque image.

Animation en boucle vous permet de boucler l 'amiation indéfiniment.

Cliquez ensuite sur CONVERTIR pour lancer la conversion.




pigavision.png
 
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/PigaVision

Voici 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.
 
TELECHARGER LE FICHIER FR ICI (clic droit enregistrer sous...)
);


LE PORT SERIE SOUS GAMBAS.

 






 

portserie.png

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:

                                   
serial1.speed = 38400

-La parité (donnée paires ou impaires):

                                   
serial1.parity = "even"

-Le nombre de bits de données:

                                   
serial1.databits = 7

-La presence d'un bit de stop ou non

                                   
serial1.stopbits = 1

3) Ouvrir le port

pour l'utiliser, une fois paramétré, il vous faut ouvrir le port :

                                   
Serial1.Open()


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 :

 

                                                                                       
mabdd0.pngmabdd1.png
mabdd2.pngmabdd3.png





Merci pour votre attention.



Imprimer avec Gambas

0
printersample.png
Aujourd 'hui au travers de cette petite application, nous allons imprimer un texte et une image sur votre imprimante.

1) fonctionnement.
L 'impression fonctionne sur le même principe que la drawarea. Pour imprimer, vous devez procéder comme ceci :

draw.begin(printer)
....choses a imprimer
draw.end

2) configuration
Il est utile d 'appeler la fenetre systeme de configuration de l 'impression. Vous pourrez le faire soit en ajoutant cette commande :

printer.setup()

voici la fenetre de configuration sur mon poste linux :

printer.png

Voici un résumé des commandes accessibles pour l 'objet printer :

printer.abort
: Annule l 'impression
printer.black : impression en noir et blanc
printer.color : impression en couleur
printer.colormode : impression en couleur ou noir et blanc
printer.copies : nombre de copies à imprimer
printer.file : impression dans un fichier
printer.frompage : debut de la page d 'impression
printer.height : hauteur de la surface a imprimer
printer.landscape : impression orientation portrait
printer.maxpage: nombre max de page a imprimer
printer.minpage : defini la page de debut a imprimer
printer.name : nom de l 'imprimante
printer.newpage :
printer.orientation : 1 ou 0 portrait ou paysage
printer.resolution : resolution en DPI
printer.setup : lance la boite systeme de configuration de l 'impression
printer.size: taille de la surface a imprimer.
printer.topage : va avec from page. Defini une fourchette a imprimer.
printer.width : defini la largeur de la surface a imprimer.

Voila pour aujourd 'huivoici le code de l 'application :



Paquets DEBIAN

0
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 paquetdeb.png
libusb
 
K8055 Ce paquet contient l 'executable K8055 pour utiliser la carte K8055/VM110 de velleman sous linux paquetdeb.png
k8055
 
Gambas 3 Ce paquet contient la version officielle de Gambas 3, l 'excellente plate forme de développement sous linux paquetdeb.png
gambas 3
);


Utiliser le embedder

0

UTILISER LE CONTROLE EMBEDDER


embedfab.png
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



REMPLIR UNE FORME GEOMETRIQUE AVEC UNE TEXTURE

 


 

exampledrawarea.png

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
           


GBelec traceur de CI

0

LOGICIEL DE DESSIN DE TYPON

 
gbelec.png



Ce logiciel permet la realisation de typon pour realiser des cartes electroniques.
Il reprend le principe de TCI, l 'excellent logiciel sous windows :

voir ici : http://b.urbani.free.fr/pagetci/tci.htm


Il sera possible d 'importer les empreintes TCI pour les gerer sous GBelec, j 'y travaille.
Cette version n 'est pas encore fonctionnelle mais avance petit a petit.


SMTPClient

0
UTILISER LE COMPOSANT SMTP POUR ENVOYER UN MAIL


 zemail.png


 
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.