DRAWAREA - Dégradé, texte

Rédigé par spheris Aucun commentaire
Classé dans : apprentisssage, Drawarea, gambas 2, Tutoriel, Widget Mots clés : aucun
REALISER UN DEGRADE, DESSINER UN TEXTE DANS LA DRAWAREA

drawarea010.png

Ce petit tutoriel réalisé par Taoteblue nous présente aujourd'hui la façon de réaliser un dégradé de couleur dans une drawarea.

voici le code de l'application ;

' gambas class File
PUBLIC SUB _new()
END
PUBLIC SUB form_OPEN()
me.center
END
PUBLIC SUB button1_click()
'drawingarea1.clear
'drawingarea1.refresh
draw.begin(drawingarea1)
draw.foreground = color.black
draw.font.size = 20
draw.text("bonjour", 100, 100)
draw.foreground = color.darkyellow
draw.font.size = 20
draw.text("bonjour", 102, 102)
draw.END
END
PUBLIC SUB button2_click()
' drawingarea1.clear
'drawingarea1.refresh
draw.begin(drawingarea1)
draw.foreground = color.gray
draw.font.size = 24
draw.text("attention", 0, 0)
draw.foreground = color.red
draw.font.size = 24
draw.text("attention", 3, 3)
draw.END
END
PUBLIC SUB button3_click()
' drawingarea1.clear
'drawingarea1.refresh
draw.begin(drawingarea1)
draw.foreground = color.black
draw.font.size = 24
draw.text("dedans", 120, 120)
draw.foreground = color.white
draw.font.size = 24
draw.text("dedans", 122, 122)
draw.END
END
PUBLIC SUB button4_click()
' drawingarea1.clear
'drawingarea1.refresh
draw.begin(drawingarea1)
draw.foreground = color.black
draw.font.size = 24
draw.text("dehors", 150, 150)
draw.foreground = color.gray
draw.font.size = 24
draw.text("dehors", 151, 151)
draw.END
END
PUBLIC SUB drawingarea1_draw()
END
PUBLIC SUB button5_click()
DIM a AS variant
DIM b AS Integer
draw.begin(drawingarea1)
a = 0
FOR b = 0 TO 255
draw.foreground = a * 257
a = a + 1
print a
draw.LINE(0, b, 1000, b)
'inc b
NEXT
draw.END
END
PUBLIC SUB button7_click()
DIM a AS variant
DIM b AS Integer
draw.begin(drawingarea1)
a = 0
FOR b = 0 TO 255
draw.foreground = a * 75537
a = a + 1
print a
draw.LINE(0, b, 1000, b)
'inc b
NEXT
draw.END
END
PUBLIC SUB button7_click()
DIM a AS variant
DIM b AS Integer
draw.begin(drawingarea1)
a = 0
FOR b = 0 TO 255
draw.foreground = a
a = a + 1
print a
draw.LINE(0, b, 1000, b)
'inc b
NEXT
draw.END
END


Interfacer Gambas - commande de moteurs

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
COMMANDE DE MOTEUR PAS A PAS PAR LE PORT PARALLELE


                       

PROGRAMME EN GAMBAS POUR LE PILOTAGE DE MOTEURS
PAS A PAS VIA LE PORT PARALLELE.
(Version Non Terminée)

réalisé par pierre D.


TABLE DES MATIERES



  • But de ce      programme

         
  • Principe de      fonctionnement

         
  • Utilisation      du programme

         
  • Todo

         
  • Licence

         
  • Contact


BUT DE CE PROGRAMME


C 'est en désirant créer une application me permettant de commander des moteurs pas à pas afin de numériser des petites machines-outils que j 'ai développé ce petit programme.


Je vous présente ici une ébauche du programme final mais pas mal de choses reste encore à terminer.


Soyez indulgent car il s 'agit seulement  de  mon 2ème programme en Gambas. Si vous avez des remarques ou suggestions, vous pouvez me contacter à info@horlogedantan.com


Il existe sous linux une application très bien aboutie et ayant fait largement ses preuves EMC2 :

http://linuxcnc.org/


Mais ce que je recherche c 'est de développer une application interne destinée à une machine bien précise et dans ce cas EMC2 n 'est pas utilisable sauf réécriture de l 'interface en C.

Exemple d 'utilisation : tour numérique, table x,y, machine à tailler les engrenages, etc...

Ce que je vous propose ici, c 'est un programme avec un certain nombre de fonctions opérationnelles, bouton de déplacement des axes, fonction arrosage et arrêt urgence...

Ensuite, chacun à partir des sources (principe des programmes open source) peut utiliser et modifier le programme comme bon lui semble.

Actuellement, je sais uniquement commander le port parallèle mais si quelqu 'un désire le modifier et l 'adapter pour  l 'USB...

Par ailleurs, le port parallèle est en disparition mais il existe toujours des cartes d 'extension que vous pouvez ajouter à votre pc.

Une carte électronique va vous permettre d 'interpréter les signaux via un connecteur DB25.

Pour de petites applications, vous pouvez utiliser d 'anciens PC type pentium II avec une Debian de base avec une interface graphique légère et y installer Gambas.

J 'ai testé et c 'est efficace. Attention, pour les moteurs pas à pas, vous devez en principe utiliser un noyau en temps réel. Ce noyau est automatiquement utilisé lorsque vous installez la version spéciale Ubuntu-Emc (voir pour infos sur le site de Emc).

J 'avais fait des essais en Qbasic (plus développé actuellement), des essais en C mais il est difficile pour un débutant en programmation de réaliser facilement une interface graphique.

Après différents essais avec des basics, je me suis tourné vers Gambas. Durant ces derniers mois, Gambas s 'est développé fortement avec l 'apparition d 'un nouveau forum très dynamique, d 'un site et d 'un Wiki.:

Doc officielle : http://www.gambasdoc.org/help/howto/parport?fr

Site sur Gambas :

Forum : forum/

Wiki : http://wiki-gambas.eg2.fr/doku.php

Site sur EMC2 : http://linuxcnc.org/


PRINCIPE DE FONCTIONNEMENT


Contrairement à des moteurs conventionnels, les moteurs pas à pas se commandent via une électronique spéciale. Il faut distinguer trois parties :

  • La partie      commande qui gère les impulsions du port parallèle ainsi que les      buttées et fin de courses

         
  • La partie      puissance qui commande directement les moteurs

         
  • La partie      alimentation qui fournit l 'alimentation aux moteurs.


L 'électronique de commande reçoit des impulsions du port parallèle, elle se charge de les convertir et de commander ensuite le moteur.

Les impulsions sont des états hautou bas qui sont envoyé sur les broches du port parallèle suivant le système binaire.

Pour envoyer une impulsion sur un moteur, vous devez ouvrir le fichier Linux qui gère les port DEV/PORT. Ensuite réaliser une boucle. Cette boucle écrit une valeur hexadecimale, pendant une temporisation de quelques millis secondes. En faisant varier la temporisation vous modifiez la vitesse du moteur.


Doc sur les moteurs pas à pas : http://fr.wikipedia.org/wiki/Moteur_pas_%C3%A0_pas

Carte de commande : http://www.otocoup.com/CarteL6208.htm

Site sur la cnc : http://cncloisirs.com

Fournisseur : www.iprocam.com

Fournisseur : www.soprolec.com

Doc sur le port parallèle : http://www.stielec.ac-aix-marseille.fr/cours/abati/centronic.htm


Voilà un exemple de code d 'écriture sur le port parallèle qui m 'a été aimablement fourni par Benoît Minisini, le concepteur de Gambas :


PUBLIC SUB Main()

DIM iValue AS Byte
DIM hPort AS File

hPort = OPEN /dev/port FOR READ WRITE

SEEK #hPort, &H378
iValue = 255
WRITE #hPort, iValue

PRINT ok

END

Pour m 'aider à comprendre le fonctionnement du port parallèle, j 'ai réalisé mon premier programme en gambas Moniteur d 'état du port parallèle qui permet d 'afficher les entrées et sorties du port. Ce programme est disponible sur le site ou je peux également vous l 'envoyer par mail 

UTILISATION DU PROGRAMME


Pour pouvoir écrire sur le port parallèle en linux, vous devez être en Super Utilisateur (ROOT)


Voilà comment le lancer sous ubuntu :


  • Gambas2 doit      être installé sur votre PC

         
  • Lancer      Nautilus (explorateur de fichier) en Root pour changer les droits du      programme :

         


    Alt+F2 et      ensuite GKSUDO Nautilus + votre mot de passe

         
  • Dans      Nautilus vous      vous rendez dans le répertoire du programme

         
  • Clique droit      + permission et changer toutes les permissions en ROOT

         
  • Lancer      Gambas en root et exécuter le programme Alt+F2 et ensuite GKSUDO      gambas2


Une autre possibilité est de créer un groupe suivant l 'astuce de Mr Laurent Carlier :

http://www.ac-creteil.fr/reseaux/systemes/linux/comptes-utilisateurs.html
http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html


TODO


Cette version du programme est une ébauche de la version finale, voilà un certain nombre de choses à faire :


  • Actuellement,      uniquement l 'axe X est disponible, ajout des commandes pour Y et Z

         
  • Uniquement      les sorties sur le port parallèle sont utilisables. Mise en      fonction des entrées avec ainsi utilisation des butées

         
  • Utilisation      d 'un fichier texte pour enregistrer et lire la configuration du      programme

         
  • Mise en place d 'une rampe      d 'accélération nécessaire pour utiliser les moteurs pas à pas      dans certaines plages de vitesse

         
  • Utilisation de touche de clavier pour      le lancement des fonctions

         
  • Rajout de fonction telle       que prise d 'origine machine, etc...


TELECHARGER LES SOURCES DU PROGRAMME

Contribution de Pierre D. le 17/09/2009


);

Impression avec Gambas - Imprimer une Form

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
IMPRIMER LE CONTENU D 'UNE FORM


Imprimer une form


(par taoteblues)


Créer un bouton pour l 'impression de la feuille:


PUBLIC SUB Button9_Click()


'Imprimer une feuille


DIM imageWidth AS Integer

DIM imageHeight AS Integer

DIM mafeuille AS Picture

mafeuille = ME.Grab()


mafeuille = mafeuille.Image.Stretch(ME.W * 5, ME.H * 5).Picture

imageWidth = mafeuille.Width

imageHeight = mafeuille.Height




Draw.Begin(PRINTER)


'impression centrée

Draw.Picture(mafeuille, (Printer.Width - imageWidth) / 2, (Printer.Height - imageHeight) / 2)



Draw.End


END


Remarque :
La copie dans le presse papier du form se fait par la commande GRAB
L 'envoi sur l 'imprimante se fait par la commande DRAW.PICTURE sur le PRINTER
);

Impression avec Gambas - Imprimer une image

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
IMPRIMER UNE IMAGE AVEC GAMBAS LINUX


Imprimer une image


(par taoteblues)


Créer un bouton pour l 'impression:


PUBLIC SUB Button_Click()


DIM img AS Image

Dim monimage As String


monimage = chemin du fichier image que je veux imprimer

img = Image.Load(monimage)


PrintImage(img)

CATCH

Message.Error( Classe: & Str(Error.class) & nCode: & error.code &

, = & error.text & nà: & error.where, OK )


END


Ajouter la fonction PrintImage()


PRIVATE SUB PrintImage(fichierimg AS Image)


DIM imageToPrint AS Image

DIM imageWidth AS Integer

DIM imageHeight AS Integer

DIM scaleIsotropic AS Float


INC Application.Busy


imageWidth = (fichierimg.Width * Printer.Resolution) / Desktop.Resolution

imageHeight = (fichierimg.Height * Printer.Resolution) / Desktop.Resolution



IF imageWidth > Printer.Width OR imageHeight > Printer.Height THEN

scaleIsotropic = Min(Printer.Width / imageWidth, Printer.Height / imageHeight)

imageWidth *= scaleIsotropic

imageHeight *= scaleIsotropic


END IF



imageToPrint = fichierimg.Stretch(imageWidth, imageHeight, TRUE)




Draw.Begin(Printer)

Draw.Image(imageToPrint, (Printer.Width - imageWidth) / 2, (Printer.Height - imageHeight) / 2)

Draw.End

DEC Application.Busy


END


L 'attente pour l 'impression peut être longue (1 à 2 minutes) en fonction de votre matériel et de la taille de l 'image.




);

Impression avec Gambas - Imprimer une textarea

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
IMPRIMER LE CONTENU D 'UNE TEXTAREA


Imprimer une TextArea


Réalisé par taoteblues


Vous avez la possibilité d 'utiliser le code basique suivant:


Public Sub Button_Click()

Draw.Begin(Printer)
Draw.Text(TextArea1.Text, 200, 200, Printer.With, Printer.Height)
Draw.End

End


ou le code suivant qui permet d 'imprimer le contenu d 'une TextArea en tenant compte des limites de la page, de ne pas couper de mot, de faire un retour à la ligne et de continuer l 'impression sur les pages suivantes.


PUBLIC SUB Button_Click()


DIM Ileft AS Integer

DIM IRight AS Integer

DIM ITop AS Integer

DIM IBot AS Integer

DIM textaimprimer AS String

DIM ITextposY AS Integer

DIM ITextPosX AS Integer

DIM ITextposX1 AS Integer

DIM Txtligne AS String

DIM Nextword AS String

DIM IprinterIwidth AS Integer

DIM IprinterIheight AS Integer


Printer.Size = A4


ILeft = 200

IRight = 800

ITop = 200

IBot = 200

IprinterIheight = Printer.Height - ITop - IBot - 400

IprinterIwidth = Printer.Width - ILeft - IRight



' nous découpons le texte à chaque saut de ligne

ITextPosX = 200

ITextposY = 100


'début d 'impression

Draw.Begin(Printer)


textaimprimer = TextArea1.Text

FOR EACH Txtligne IN Split(textaimprimer, n )


'Réglages personnels des bordures et de la taille des caractères


ITextPosX = 200

ITextposY = ITextposY + Draw.TextHeight( TaotE )


Draw.ForeColor = Color.Black

Draw.Font.Bold = FALSE

Draw.Font.Italic = FALSE

Draw.Font.Underline = FALSE

Draw.Font.Size = 10



' nous découpons chaque ligne en mots


FOR EACH NextWord IN Split(TxtLigne, )


IF ITextposY >= IprinterIheight THEN

ITextposY = 100

Printer.NewPage

ENDIF

'si la longueur du mot trop grande


ITextposX1 = ITextposX + Draw.TextWidth(NextWord & )

IF ITextPosX1 >= IprinterIwidth THEN

ITextPosX = 200

ITextposY = ITextposY + Draw.TextHeight( TaoteBlueS )

ENDIF

' nous passons le mot à l 'impression

Draw.Text(NextWord & , ILeft + ITextPosX, ITop + ITextposY)

ITextposX = ITextposX + Draw.TextWidth(NextWord & )

NEXT


NEXT


Draw.End

END





);

Cours - cours 4

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
SALON JABBER DU 13 octobre 2009
Comment lire la doc GAMBAS ?


Bonjour,
pour celui qui n 'a pas pour habitude de lire la documentation gambas, la discussion sur le salon Jabber du 13 octobre 2009 pourra certainement vous aider.
En voici un résumé :


Expliquons une page de la doc GAMBAS pour en comprendre les rudiments d 'utilisation de cette doc.
ouvrez dans une nouvelle page internet ce lien :


http://gambasdoc.org/help/comp/gb.qt/treeview?fr


Détaillons maintenant la page :

d 'abord le titre :


TreeView (gb.qt)

treeview fait parti de gb.qt. Si je ne l 'ai pas coché dans les composants je risque de ne pas le voir s 'afficher.

on continu.
l 'image de la treeview est tres importante, elle me laisse entrevoir quelques aspects essentiels :

il y a des images, du texte organisé en arborescence.

A première vue, il semble que les 3 parametres (ou arguments)  essentiels  d 'une treeview soient :

- L 'endroit ou je vais inserer mon texte
- l 'image
- le texte

on continu
apres l 'image, on peut voir  une phrase resumant l 'utilisation qui est TRES IMPORTANTE

Ce contrôle implémente une vue d’arborescence d’items textuels sélectionnables avec icones.
c 'est la clef de l 'utilisation

ensuite une phrase  résume comment utiliser ce widget ou contrôle :

Les items de l’arborescence sont indexés par une clé. Ils affichent une chaîne et un icone pour chaque item.

sans avoir vu la methode add je sais qu 'il y avait trois arguments minimum


on continu :
dans le tableau symbole

la treeview est une classe qui a des propriétés des methodes et des evenements
et qui herite de la classe control , autrement dit  c 'est un widget
qui a une couleur de fond la possibilté de regler la police etc...
mais alors dites moi :

pourquoi il y a deux tableaux?
propriete methode evenements...
et bien il est dit dans le premier tableau  :
Cette classe hérite Control.


ca veut dire que la treeview fait tout comme un controle
mais en plus elle a d 'autre proprietes methodes et evenement
qui sont dans la deuxieme partie !
en résumé :

tableau 1 Classe controle

tableau2 classe fille treeview

pour utiliser la treeview, uniquement ses methodes evenements propriétés personnelles m 'interessent
donc vous pouvez zapper la premiere partie du tableau qui est commune aux contrôles et dont vous connaissez les rudiments d 'utilisation (couleur, polices, etc...) par coeur, et aller directement à ADD.
nous cliquons sur ADD
et là, voila notre renseignement tant attendu .
comment utiliser notre treeview
oui mais des fois on doit utiliser les crocher pour l 'index comment c 'est marque dans la doc puisque les crochets veulent dire autre chose
treeview.add(lacle ,montexte,option1,option2,option3)
ok mais dans la doc dans toutes les phrases de depart comme cela
les crochets representent des options
bein oui c 'est bien le probleme
As tu un exemple concret ?
articles.php?lng=fr&pg=57

ColumnView1.Columns[0].Text = colonne 1

par exemple
[0] n 'est pas un argument de la columnview
mais un argument de Column, C 'est le numéro de la colonne, C 'est pour cela qu 'il est entre crochet

c 'est comme la picturebox

picturebox.Picture[DanseDame02.png]

DanseDame02.png est un argument de picture et non de picturebox
la boite dans la boite dans la boite

conclusion.

maintenant nous savons (a peu près) lire une doc  tongue
En parcourant la documentation nous pouvons remarquer que Gambas manque d 'exemples de codes pour le moment.
Cela viendra si la communauté gambasienne passe à l 'action .
Merci à tous.

Discussion du 13 octobre 2009 salon JABBER

);

TEXTEDIT - Mise en forme du texte

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
METTRE EN FORME DU TEXTE DANS UNE TEXTEDIT


textedit.png

Le widget (ou contrôle) textedit permet de saisir du texte et de le mettre en forme par le système de balises HTML
pour gras par exemple.

pour pouvoir profiter de ce widget, il vous faut ajouter le composant gb.qt.ext.

Différents essais de mise en forme du texte sont réalisés ci dessous par l 'exemple de Jean Yvon :

voici le code de l 'application ainsi que le fichier source :

' Gambas class file

PUBLIC SUB _new()

END

PUBLIC SUB Form_Open()
DIM msg AS String

msg = < h3 > ceci est un titre avec h3 < / h3 >
msg = msg &

c 'est un autre titre avec h2


msg = msg &

Texte est un titre de niveau h1


' [h2]Texte[ / h2]Texte est un titre de niveau 2
msg = msg & encore un titre avec strong
' [strong]Texte[ / strong]Texte est fortement emphas é
msg = msg &

Maintenant avec em et p


' [em]Texte[ / em]Texte est emphas é
msg = msg & ce texte a l 'attribut ins
' [ins]Texte[ / ins]Texte est ins éré
msg = msg &

texte avec l 'attribut 'cite ' et p

'ça ne marche pas

' [cite]Texte[ / cite]Texte est cit é
msg = msg &

Texte avec b


' Texte en italique[i]Texte[ / i]Texte
msg = msg & texte avec i........
msg = msg & texte avec u
' Texte soulign é   [u]Texte[/u]   Texte
msg = msg &

texte avec S


' Texte barr é   [s]Texte[/s]   Texte
msg = msg & texte en rouge
' Texte colori é en rouge   [color=red]Texte[/color]   Texte
msg = msg &

http://fr.wikipedia.org


' Lien hypertexte[url]URL du lien[ / url]
msg = msg &

Spheris


' [url = URL du lien]Titre du lien[ / url]
'   http: / / fr.wikipedia.org
'
' Wikip édia
' Image[img]URL de l 'image[/img]  
' Lien hypertexte et image[url = URL du lien][img]Url de l 'image[/img][/url]  
'
' Il est aussi possible de rencontrer:
 msg = msg & c 'est moi qui dit ça! 'ça ne marche pas!
'     * Texte cit é : [quote= James ]Texte cité de James[/quote] ; On trouve aussi [quote]Texte mis en valeur/cité[/quote]
msg = msg &

Texte en petit caractère taille2


'     * Texte de taille diff érente : [size=9]PETIT[/size]
msg = msg &

texte en caractère taille 10


msg = msg &

texte en caractère taille 8


msg = msg &

texte en caractère taille 6


'     * Texte centr é : [center]Texte[/center]
msg = msg &

Centré


'     * Texte d éfilant : [scroll]Texte[/scroll]
msg = msg &

ça doit défiler

'ça marche pas

'     * Texte remontant[updown]Texte[ / updown]
msg = msg &

texte qui doit monter

'ça marche pas

'     * Texte avec effet miroir: [flipv]Texte[ / flipv]
msg = msg & Texte 'ça marche pas
'     * Texte avec un effet sale: [blur]Texte[ / blur]
msg = msg &

un sal texte

'ça marche pas

'     * Texte cach é apparaissant quand on clique sur « Spoiler » : [spoiler]Texte[/spoiler]
msg = msg & texte cahé 'ça marche pas
'     * Texte cach é apparaissant quand on clique sur une phrase ou un mot : [hide= Titre du spoiler ]Texte[/hide]
msg = msg & encore un essai 'ça marche pas
'     * Animation flash: [embed - flash(width, height)]animation flash[ / embed - flash]
'     * Texte avec un effet d égradé de couleur : [fade]Texte[/fade] (avec javascript)
msg = msg & essais de liste un deuxieme item 'marche pas non plus
'     * Liste(utilisez le saut de ligne pour passer au deuxi ème point) : [list]première phrase puis saut de ligne pour changer[/list]
'           o Pour des listes aux lignes num érotées (utilisez des astérisques entre des accolades pour passer d 'une ligne à l 'autre) : [list=1][*]première phrase [*]deuxième phrase[/list]
'           o Pour des listes aux lignes num érotées alphabétiquement (utilisez des astérisques entre des accolades pour passer d 'une ligne à l 'autre) : [list=a][*]première phrase [*]deuxième phrase[/list]
'

TextEdit1.Text = msg
END

Merci à JY pour sa contribution

TELECHARGER L 'EXEMPLE
);

LOGICIELS GAMBAS 2 - Newmicrocompte

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
THE NEW MICROCOMPTE



newmicrocompte.png

The new microcompte est une application Gambas pour faire ses comptes personnels.
D 'une interface sobre et fonctionnelle, vous pourrez réaliser vos transactions avec les moyens de paiement classique, les balances et même visualiser au moyen de courbes vos dépenses.
Ce logiciel créé par jean yvon vaut vraiment le détour.A essayer sans attendre.

TELECHARGER LE PROGRAMME

 Nouvelle version  au 21/10/2009 avec de nombreux bugs corrigés

TELECHARGER LA NOUVELLE VERSION

Nouvelle version au 03.12.2009
TELECHARGER LA VERSION
);

Manipuler les images - fichiers PNG en ICONE

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
CREER DES ICONES A PARTIR DE FICHIERS PNG


icone.png
Voici une petite application tutoriel pour apprendre à créer des icônes à partir de fichiers images.

Le code de l 'application est le suivant :

' Gambas class file
'-----------------------------------
  ' Projet    : Création d 'icones
  ' Date      : 10/09
  ' Auteur    : taoteblues (Dr Henri LOQUET)
  ' Détails   : Création d 'icones en 16x16 à 48x48
'-----------------------------------


PUBLIC taille AS Integer = 1

PUBLIC tempFile AS String
PUBLIC mode AS String

PUBLIC SUB Form_Open()
mode = 16
ME.Center
END

PUBLIC SUB Button1_Click()

DIM img AS Image
Ouvrir.ShowModal
IF Module1.monimage <> THEN
img = Image.Load(Module1.monimage)
IF Exist(Module1.monimage) THEN
    IF Lower(File.Ext(Module1.monimage)) = png OR Lower(File.Ext(Module1.monimage)) = jpg OR Lower(File.Ext(Module1.monimage)) = gif THEN
   tempFile = Mid$­(Module1.monimage, 1, Len(Module1.monimage) - 4)

    img = img.Stretch(Val(mode), Val(mode), TRUE)
    img.Save(tempFile & mode & x & mode & .png )

 PictureBox1.Picture =
 PictureBox1.Refresh
 PictureBox1.Picture = Picture.Load(tempFile & mode & x & mode & .png )
 Label1.Text = tempFile & mode & x & mode & .png


 ELSE
 Message.Info( Le fichier n 'est pas dans le bon format: png, jpg ou gif! , Ok )
 ENDIF
 ELSE
  Message.Info( Le fichier n 'existe pas! , Ok )
 ENDIF
 ENDIF
CATCH
  Message.Warning(ERROR.Text)


END


PUBLIC SUB RadioButton2_Click()

  mode = 24

END

PUBLIC SUB RadioButton3_Click()

   mode = 32

END

PUBLIC SUB RadioButton4_Click()

   mode = 48

END

PUBLIC SUB RadioButton1_Click()

   mode = 16

END

PUBLIC SUB ToolButton1_Click()

  Aide.ShowModal

END



TELECHARGER L 'EXEMPLE
);

Correction

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
Spheris aurais-tu changer la nouvelle concernant le nouveau Gambas-fr ?

Je viens de vérifier en cliquant sur le lien et ça amène à une page sur les gambas grillés ...

http://france1159.eg2.fr

);

ROUND - LA commande ROUND

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
L 'INSTRUCTION ROUND


Lors de calcul un peu complexe, on peut avoir des résultats avec beaucoup
de chiffres après la virgule.

 Il peut aussi arriver que l 'on souhaite un résultat arrondi mais sur des
entiers :

Alors pas de panique, pour faire cela simplement l 'instruction round viens à
notre secours:

La syntaxe est la suivante :

Round ( Formule ou variable, chiffre + ou - donnant le niveau d 'arrondi)

Petit exemple : Calcul d 'une mensualité d 'emprunt :

PUBLIC SUB mensualite()

DIM duree AS Integer   ' duree de remboursement en mois
DIM periode AS Integer   'nbre de remboursement par an
DIM taux AS Float     ' taux de l 'emprunt
DIM montant AS Integer ' montant de l 'emprunt
DIM tm AS Float
DIM mensualite AS Float


montant = 10000
taux = 0.05
duree = 60
periode = 12 '12 mensualité par an


tm = (1 + taux) ^ (1 / periode)
mensualite = Round(montant * (tm - 1) / (1 - (tm) ^ - (duree)), -10)

Message.Info( la mensualité est de & mensualite)

END


RESULTAT = 186,0201907093

Remplacer -10 par -2

RESULTAT = 186.02

Remplacer -2 par 2

RESULTAT = 200
L 'arrondi se fait sur les valeurs entières.

TELECHARGER L 'EXEMPLE
);

RETURN - La commande RETURN

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
L 'INSTRUCTION RETURN


Tout comme un langage orienté objet, Gambas peut avoir des fonctions qui retournent un valeur ou non.

remarque : Une METHODE ne retournant pas de valeur s 'appelle une procédure et
une METHODE qui retourne une VALEUR s 'appelle une fonction.


Une procédure simple qui ne retourne pas de valeur peut être par exemple :


PUBLIC SUB bonjour()
dim a AS INTEGER
a= 10
END

mais dans le cas ou nous voulons récuperer une valeur, nous devons utiliser l 'instruction RETURN.

Remarque : nous devons définir le type de la fonction retournée.

par exemple :

PUBLIC SUB fonction1() AS String de type texte
PUBLIC SUB fonction1() AS FLOAT de type décimal
PUBLIC SUB fonction1() AS Integer de type entier
etc...

dans la fonction à retourner, nous devons créer une variable locale du même type que celle à retourner.(ici valretourne)
ensuite il nous suffit d 'ecrire un simple

RETURN valretourne

Dans ce petit exemple, lors d 'un clic sur un bouton, nous sautons à la fonction1() chargeons la chaine de caractères ca a marché dans valretourne puis nous la passons à la variable toto et nous l 'affichons dans une message box.

PUBLIC SUB fonction1() AS String
DIM valretournee AS String
valretournee = ca a marché!
RETURN valretournee
END


PUBLIC SUB Button1_Click()
toto = fonction1()
Message.Info(toto)
END


A bientôt.


);

Nouveau site Gambas-fr

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
[c=#FF0000]Suite à plusieurs du à l 'hébergeur de l 'ancien Gambas-fr, une version du site avec un nouvel hébergeur à fait son apparition.

Je recommande à TOUS ceux qui étaient inscrit sur Gambas-fr de faire leurs migration sur le nouveau à cette adresse :
htpp://france1159.eg2.fr);

Utiliser les fichiers - Les Fichiers texte

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
UTILISER LES FICHIERS TEXTE


bonjour,
aujourd 'hui nous allons manipuler un fichier texte avec les fonctions usuelles :
ouvrir, fermer,rechercher, copier, coller.


OUVERTURE D 'UN FICHIER TEXTE
ouvrir un fichier est très simple.
Il vous suffit de définir deux variables
monfichier as FILE
maligne as string

ensuite il vous suffit d 'ouvrir le fichier et de le lire jusquà la fin avec un test pour voir si nous sommes en fin de fichier avec la boucle :

COS SIN TAN - Les fonctions mathematiques

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
LES FONCTIONS MATHEMATIQUES SPECIALES


Certaines fonctions mathématiques ne sont pas inclus par défaut dans Gambas linux. Aussi, nous pouvons les calculer comme suit :

LA SECANTE
secante = 1 / cos(x)

LA COSECANTE
cosecante = 1 / sin(x)

LA COTANGEANTE
cotangeante = 1 / tan(x)

ARCSINUX
ASIN(x)

ARCCOSINUS
ACOS(x)

ARCTANGEANTE
ATAN(x)

COSINUS HYPERBOLIQUE
COSH(x)

SINUS HYPERBOLIQUE
SINH(x)

TANGEANTE HYPERBOLIQUE
TANH(x)

SECANTE HYPERBOLIQUE
sechyp = 2 / (EXP(x) + EXP(-x))

COSECANTE HYPERBOLIQUE
coshyp = 2 / (EXP(x) - EXP(-x))

COTANGEANTE HYPERBOLIQUE
cothyp = (EXP(-x) / EXP(x) - EXP(-x)) * 2 + 1

ARGUMENT SINUS HYPERBOLIQUE
arcsinh = LOG(x / SQR(x*x+1))

Remarque :

EXP est l 'exponentielle d 'un nombre
SQR est la racine carré d 'un nombre

Pour plus de précisions sur les fonctions mathématiques, je vous renvoi à la documentation officielle ICI);

Creer son logiciel - Les menus contextuels

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
LES MENUS CONTEXTUELS OU MENU POPUP

menu.png
Aujourd'hui dans cet exemplenous allons voir comment afficher un menu contextuel pour notre application, ce menu qui réagit au clic droit de la souris, appelé communément le menu popup.

créons une application et écrivons le code ci dessous :

' Gambas class file
remarques du programme
'-----------------------------------
 ' Projet    : Menus contextuels français
 ' Date      : 09/09
 ' Auteur    : taoteblues (Dr Henri LOQUET)
 ' Détails   : Création et utilisation d'un menu contextuel dans Textbox, ValueBox, ComboBox et TextArea
'-----------------------------------

déclaration des variables
PUBLIC letext AS TextBox 'variable pour le groupe Textbox
PUBLIC lechiffre AS ValueBox 'variable pour le groupe ValueBox
PUBLIC lecombo AS ComboBox 'variable pour le groupe ComboBox

PRIVATE montext AS Integer
PRIVATE Textcode AS String
PRIVATE Textdecode AS String

PUBLIC SUB Form_Open()
'curseur sur la première textbox
TextBox1.SetFocus

ComboBox1.Add(un, 0)
ComboBox1.Add(deux, 1)
ComboBox1.Add(trois, 2)
ComboBox1.Index = 0
ComboBox2.Add(0, 0)
ComboBox2.Add(1, 1)
ComboBox2.Add(2, 2)
ComboBox2.Add(3, 3)
ComboBox2.Add(4, 4)
ComboBox2.Index = 1
'centrer la feuille
ME.Center
END

PUBLIC SUB Button1_Click()

  ME.Close

END
PUBLIC SUB lechiffre_mousedown()
lechiffre = LAST 
  montext = 2

END

PUBLIC SUB letext_Menu()
  popup.Popup
END

PUBLIC SUB letext_mousedown()
  letext = LAST
  montext = 1
END

PUBLIC SUB lechiffre_Menu()
 popup.Popup  
END


PUBLIC SUB lecombo_Menu()
 popup.Popup  
END

PUBLIC SUB lecombo_mousedown()
  lecombo = LAST 
  montext = 3
END

PUBLIC SUB TextArea1_Menu()
mnutext.Popup
END

PUBLIC SUB mnutextredo_Click() 
  TextArea1.Redo
END

PUBLIC SUB mnutextundo_Click() 
  TextArea1.Undo
END

PUBLIC SUB mnutextcouper_Click() 
 ' TextArea1.Cut
 DIM monchiffre AS String

'autre méthode pour couper afin de gérer les caractères français avec les accents
monchiffre = TextArea1.Selection.Text
'changer les caractères spéciaux en html
    changercode(monchiffre)
monchiffre = Textcode

Clipboard.copy(monchiffre)
TextArea1.Selection.Text =
END

PUBLIC SUB mnutextcopier_Click() 
 ' TextArea1.Copy
  DIM monchiffre AS String

'autre méthode pour copier afin de gérer les caractères français avec les accents
monchiffre = TextArea1.Selection.Text
'changer les caractères spéciaux en html
    changercode(monchiffre)
monchiffre = Textcode

Clipboard.copy(monchiffre)

END

PUBLIC SUB mnutextcoller_Click() 
  'TextArea1.Paste
  DIM inserer AS String
inserer = Clipboard.paste()
'remmettre les caractères spéciaux avec accents
retourcode(inserer)

  TextArea1.Insert(Textdecode)
END

PUBLIC SUB mnucopier_Click()
DIM monchiffre AS String

SELECT CASE montext
CASE 1
monchiffre = letext.Selection.Text
    changercode(monchiffre)
monchiffre = Textcode

Clipboard.copy(monchiffre)
style=color: blue>CASE 2
monchiffre = lechiffre.Selection.Text
    changercode(monchiffre)
monchiffre = Textcode

Clipboard.copy(monchiffre)
CASE 3
monchiffre = lecombo.Selection.Text
    changercode(monchiffre)
monchiffre = Textcode

Clipboard.copy(monchiffre)

END SELECT
END


PUBLIC SUB mnucoller_Click()
DIM inserer AS String
inserer = Clipboard.paste()
retourcode(inserer)
SELECT CASE montext
CASE 1
  letext.Insert(Textdecode)
CASE 2
 lechiffre.Insert(Textdecode)
CASE 3
 lecombo.Insert(Textdecode)
END SELECT



END

PUBLIC SUB mnucouper_Click()
DIM monchiffre AS String

SELECT CASE montext
CASE 1
monchiffre = letext.Selection.Text
    changercode(monchiffre)
monchiffre = Textcode

Clipboard.copy(monchiffre)
letext.Selection.Text =
CASE 2
Clipboard.copy(lechiffre.Selection.Text)
lechiffre.Selection.Text =
CASE 3
monchiffre = lecombo.Selection.Text
    changercode(monchiffre)
monchiffre = Textcode

Clipboard.copy(monchiffre)
lecombo.Selection.Text =
END SELECT

END
PRIVATE SUB changercode(mettre AS String)

     'Les A
    '-------
    mettre = Replace(mettre, À, À)
    mettre = Replace(mettre, Á, Á)
    mettre = Replace(mettre, Â, Â)
    mettre = Replace(mettre, Ã, Ã)
    mettre = Replace(mettre, Ä, Ä)
    mettre = Replace(mettre, Å, Å)
    mettre = Replace(mettre, Æ, Æ)
    mettre = Replace(mettre, à, à)
    mettre = Replace(mettre, á, á)
    mettre = Replace(mettre, â, â)
    mettre = Replace(mettre, ã, ã)
    mettre = Replace(mettre, æ, æ)

    'Les C
    '-------
    mettre = Replace(mettre, ¢, ¢)
    mettre = Replace(mettre, Ç, Ç)
    mettre = Replace(mettre, ç, ç)

    'Les E
    '-------
    mettre = Replace(mettre, È, È)
    mettre = Replace(mettre, É, É)
    mettre = Replace(mettre, Ê, Ê)
    mettre = Replace(mettre, Ë, Ë)
    mettre = Replace(mettre, è, è)
    mettre = Replace(mettre, é, é)
    mettre = Replace(mettre, ê, ê)
    mettre = Replace(mettre, ë, ë)

    'Les I
    '------
    mettre = Replace(mettre, Ì, Ì)
    mettre = Replace(mettre, Í, Í)
    mettre = Replace(mettre, Î, Î)
    mettre = Replace(mettre, Ï, Ï)
    mettre = Replace(mettre, ì, ì)
    mettre = Replace(mettre, í, í)
    mettre = Replace(mettre, î, î)
    mettre = Replace(mettre, ï, ï)

    'Les O
    '------
    mettre = Replace(mettre, Ò, Ò)
    mettre = Replace(mettre, Ó, Ó)
    mettre = Replace(mettre, Ô, Ô)
    mettre = Replace(mettre, Õ, Õ)
    mettre = Replace(mettre, Ö, Ö)
    mettre = Replace(mettre, Ø, Ø)
    mettre = Replace(mettre, ò, ò)
    mettre = Replace(mettre, ó, ó)
    mettre = Replace(mettre, ô, ô)
    mettre = Replace(mettre, õ, õ)
    mettre = Replace(mettre, ö, ö)
    mettre = Replace(mettre, ø, ø)

    'Les U
    '-------
    mettre = Replace(mettre, Ù, Ù)
    mettre = Replace(mettre, Ú, Ú)
    mettre = Replace(mettre, Û, Û)
    mettre = Replace(mettre, Ü, Ü)
    mettre = Replace(mettre, ù, ù)
    mettre = Replace(mettre, ú, ú)
    mettre = Replace(mettre, û, û)
    mettre = Replace(mettre, ü, ü)


    'Les fractions
    '----------------
    mettre = Replace(mettre, ¼, ¼)
    mettre = Replace(mettre, ½, ½)
    mettre = Replace(mettre, ¾, ¾)

    'TM, COPYRIGHT, REG
    '--------------------------
    mettre = Replace(mettre, ™, ™)
    mettre = Replace(mettre, ©, ©)
    mettre = Replace(mettre, ®, ®)

    'Divers
    '--------
    mettre = Replace(mettre, ƒ, &nfnof)
    mettre = Replace(mettre, … , …)
    mettre = Replace(mettre, † , †)
    mettre = Replace(mettre, ‡, ‡)
    mettre = Replace(mettre, ˆ, ˆ)
    mettre = Replace(mettre, ‰, ‰)
    mettre = Replace(mettre, Š, Š)
    mettre = Replace(mettre, š, š)
    mettre = Replace(mettre, Œ, Œ)
    mettre = Replace(mettre, œ, œ)
    mettre = Replace(mettre, •, •)
    mettre = Replace(mettre, –, –)
    mettre = Replace(mettre, ˜, ˜)
    mettre = Replace(mettre, ¡, ¡)
    mettre = Replace(mettre, £, £)
    mettre = Replace(mettre, ¤, ¤)
    mettre = Replace(mettre, ¥, ¥)
    mettre = Replace(mettre, ¦, ¦)
    mettre = Replace(mettre, §, §)
    mettre = Replace(mettre, ¨, ¨)
    mettre = Replace(mettre, ª, ª)
    mettre = Replace(mettre, ¬, ¬)
    mettre = Replace(mettre, ¯, ¯)
    mettre = Replace(mettre, °, °)
    mettre = Replace(mettre, ±, ±)
    mettre = Replace(mettre, ¹, ¹)
    mettre = Replace(mettre, ², ²)
    mettre = Replace(mettre, ³, ³)
    mettre = Replace(mettre, ´, ´)
    mettre = Replace(mettre, µ, µ)
    mettre = Replace(mettre, ·, ·)
    mettre = Replace(mettre, ¸, ¸)
    mettre = Replace(mettre, º, º)
    mettre = Replace(mettre, », »)
    mettre = Replace(mettre, ¿, ¿)

  Textcode = mettre
END

PRIVATE SUB retourcode(remettre AS String)

    'Les A
    '-------
    remettre = Replace(remettre, À, À)
    remettre = Replace(remettre, Á, Á)
    remettre = Replace(remettre, Â, Â)
    remettre = Replace(remettre, Ã, Ã)
    remettre = Replace(remettre, Ä, Ä)
    remettre = Replace(remettre, Å, Å)
    remettre = Replace(remettre, Æ, Æ)
    remettre = Replace(remettre, à, à)
    remettre = Replace(remettre, á, á)
    remettre = Replace(remettre, â, â)
    remettre = Replace(remettre, ã, ã)
    remettre = Replace(remettre, æ, æ)

    'Les C
    '-------
    remettre = Replace(remettre, ¢, ¢)
    remettre = Replace(remettre, Ç, Ç)
    remettre = Replace(remettre, ç, ç)

    'Les E
    '-------
    remettre = Replace(remettre, È, È)
    remettre = Replace(remettre, É, É)
    remettre = Replace(remettre, Ê, Ê)
    remettre = Replace(remettre, Ë, Ë)
    remettre = Replace(remettre, è, è)
    remettre = Replace(remettre, é, é) 
    remettre = Replace(remettre, ê, ê)
    remettre = Replace(remettre, ë, ë)

    'Les I
    '------
    remettre = Replace(remettre, Ì, Ì)
    remettre = Replace(remettre, Í, Í)
    remettre = Replace(remettre, Î, Î)
    remettre = Replace(remettre, Ï, Ï)
    remettre = Replace(remettre, ì, ì)
    remettre = Replace(remettre, í, í)
    remettre = Replace(remettre, î, î)
    remettre = Replace(remettre, ï, ï)

    'Les O
    '------
    remettre = Replace(remettre, Ò, Ò)
    remettre = Replace(remettre, Ó, Ó)
    remettre = Replace(remettre, Ô, Ô)
    remettre = Replace(remettre, Õ, Õ)
    remettre = Replace(remettre, Ö, Ö)
    remettre = Replace(remettre, Ø, Ø)
    remettre = Replace(remettre, ò, ò)
    remettre = Replace(remettre, ó, ó)
    remettre = Replace(remettre, ô, ô)
    remettre = Replace(remettre, õ, õ)
    remettre = Replace(remettre, ö, ö)
    remettre = Replace(remettre, ø, ø)

    'Les U
    '-------
    remettre = Replace(remettre, Ù, Ù)
    remettre = Replace(remettre, Ú, Ú)
    remettre = Replace(remettre, Û, Û)
    remettre = Replace(remettre, Ü, Ü)
    remettre = Replace(remettre, ù, ù)
    remettre = Replace(remettre, ú, ú)
    remettre = Replace(remettre, û, û)
    remettre = Replace(remettre, ü, ü)


    'Les fractions
    '----------------
    remettre = Replace(remettre, ¼, ¼)
    remettre = Replace(remettre, ½, ½)
    remettre = Replace(remettre, ¾, ¾)

    'TM, COPYRIGHT, REG
    '--------------------------
    remettre = Replace(remettre, ™, ™)
    remettre = Replace(remettre, ©, ©)
    remettre = Replace(remettre, ®, ®)

    'Divers
    '--------
    remettre = Replace(remettre, &nfnof, ƒ)
    remettre = Replace(remettre, …, …)
    remettre = Replace(remettre, †, †)
    remettre = Replace(remettre, ‡, ‡)
    remettre = Replace(remettre, ˆ, ˆ)
    remettre = Replace(remettre, ‰, ‰)
    remettre = Replace(remettre, Š, Š)
    remettre = Replace(remettre, š, š)
    remettre = Replace(remettre, Œ, Œ)
    remettre = Replace(remettre, œ, œ)
    remettre = Replace(remettre, •, •)
    remettre = Replace(remettre, –, –)
    remettre = Replace(remettre, ˜, ˜)
    remettre = Replace(remettre, ¡, ¡)
    remettre = Replace(remettre, £, £)
    remettre = Replace(remettre, ¤, ¤)
    remettre = Replace(remettre, ¥, ¥)
    remettre = Replace(remettre, ¦, ¦)
    remettre = Replace(remettre, §, §)
    remettre = Replace(remettre, ¨, ¨)
    remettre = Replace(remettre, ª, ª)
    remettre = Replace(remettre, ¬, ¬)
    remettre = Replace(remettre, ¯, ¯)
    remettre = Replace(remettre, °, °)
    remettre = Replace(remettre, ±, ±)
    remettre = Replace(remettre, ¹, ¹)
    remettre = Replace(remettre, ², ²)
    remettre = Replace(remettre, ³, ³)
    remettre = Replace(remettre, ´, ´)
    remettre = Replace(remettre, µ, µ)
    remettre = Replace(remettre, ·, ·)
    remettre = Replace(remettre, ¸, ¸)
    remettre = Replace(remettre, º, º)
    remettre = Replace(remettre, », »)
    remettre = Replace(remettre, ¿, ¿)

  Textdecode = remettre
END

PUBLIC SUB TextBox3_Menu()
 'ne pas avoir de menu
  STOP EVENT
 END

PUBLIC SUB mnutext_Show()
'voir ou ne pas voir copier, coller, couper en fonction du presse papier
IF TextArea1.Selection.Text <> THEN
mnutextcopier.enabled = TRUE
mnutextcouper.enabled = TRUE
ELSE
mnutextcopier.enabled = FALSE
mnutextcouper.enabled = FALSE
ENDIF

IF Clipboard.Paste() <> THEN
mnutextcoller.enabled = TRUE
ELSE
mnutextcoller.enabled = FALSE
ENDIF

END

PUBLIC SUB popup_Show()
DIM monchiffre AS String

monchiffre = Clipboard.Paste()

'voir ou ne pas voir copier, coller, couper en fonction du presse papier

SELECT CASE montext
CASE 1
IF letext.Selection.Text <> THEN
mnucopier.Enabled = TRUE
mnucouper.Enabled = TRUE
ELSE
mnucopier.Enabled = FALSE
mnucouper.Enabled = FALSE
ENDIF
IF monchiffre <> THEN
mnucoller.Enabled = TRUE
ELSE
mnucoller.Enabled = FALSE
ENDIF
CASE 2
IF lechiffre.Selection.Text <> THEN
mnucopier.Enabled = TRUE
mnucouper.Enabled = TRUE
ELSE
mnucopier.Enabled = FALSE
mnucouper.Enabled = FALSE
ENDIF
IF monchiffre
mnucoller.Enabled = TRUE
ELSE
mnucoller.Enabled = FALSE
ENDIF
CASE 3
IF lecombo.Selection.Text <> THEN
mnucopier.Enabled = TRUE
mnucouper.Enabled = TRUE
ELSE
mnucopier.Enabled = FALSE
mnucouper.Enabled = FALSE
ENDIF
IF monchiffre <> THEN
mnucoller.Enabled = TRUE
ELSE
mnucoller.Enabled = FALSE
ENDIF
END SELECT  
END
voilà pour aujourd'hui.



);
NOM
DESCRIPTION
DETAIL
GBgénéalogieLogiciel de généalogie pour Gambas
détail

Logiciels Gambas - Jeux

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
jeux.pngJEUX GAMBAS


Logiciels de la rubrique jeux pour Gambas linux :

NOM
DESCRIPTION
DETAIL
Allez les Bleus
Jeux de mot ou il faut reconstruire une phrase
détail

Logiciels Gambas - Maths

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
math.jpgMATHEMATIQUE


Logiciels de la rubrique Mathématique pour Gambas linux :

NOM
DESCRIPTION
DETAIL
Divison nombres décimaux
Petit logiciel pour diviser des nombres à virgule
détail

Logiciels Gambas - Graphisme

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
graphisme.pngGRAPHISME


Logiciels de la rubrique Graphisme pour Gambas linux :

NOM
DESCRIPTION
DETAIL
PaintbrushClone du paintbrush de win$­­­­­­­ pour gambas linux
détail
Draweur
A simple painting program
détail
GbDesk
un bureau en Gambas pour linux
détail
EmbGnuplot
 un front-end de Gnuplot traceur de courbes mathématiques
détail




);

Logiciels Gambas - Educatif

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
educatif.pngEDUCATIF


Logiciels de la rubrique Educatif pour Gambas linux :

NOM
DESCRIPTION
DETAIL
Accord AdjectifsAccordez les adjectifs en genre et en nombre avec ce petit logiciel
détail

Logiciels Gambas - Accessoires

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
accessoires.pngACCESSOIRES


Logiciels de la rubrique Accessoires pour Gambas linux :

NOM
DESCRIPTION
DETAIL
 euro/francPetit convertisseur euros / Francs Français
 détail
 CalculatricePetite calculatrice en gambas
 détail
 Bloc note
 clone du bloc note de win$­­­­­­­­­­­­­­­­­­­ pour gambas linux
 détail
 Bon salaire
Connaitre son salaire en temps réel avec ce petit logiciel
 détail
 Les dates
savoir quel jour vous êtes né, la difference entre deux dates...
 détail
monaide
clone du fichier HLP de vb mais pour Gambas linux
détail
Tapissier
calculez le nombre de rouleaux et le prix de votre rénovation
détail
GBdomotic
logiciel de domotique pour linux
détail
Myfont
Outil pour visualiser vos polices de caractères
détail
Indenteur
outil pour indenter vos fichiers sources en gambas
détail
Nbtolet
convertisseur de chiffres en lettre
détail
Chronometre
Participant du concours Gambas 2010, rémi nous propose ici un chronometre sobre et simple d 'utilisation
détail
ROT13ed
Encodeur decoudeur de texte
detail
Post IT
post it le memo de Gambas
detail




);

Logiciels Gambas - Bureautique

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
bureautique.png BUREAUTIQUE


Liste des logiciels de bureatique pour GAMBAS LINUX :

NOM
 DESCRIPTIONDETAIL
 GBBlocnote Bloc note en gambas
 Détail
 Carnet Carnet d 'adresse à l 'interface soignée
 Détail
 Macaisse Logiciel de caisse pour la gestion d 'un restaurant
 Détail
 Mon journal intime
 Journal intime électronique
 Détail
 Notdefrais Logiciel de gestion des notes de frais pour commerciaux et VRP
 Détail
FreeGMAO
Logiciel de gestion d 'entreprise pour petite PME PMI
Détail
The new microcompte
Logiciel des gestion de budget famillial.
Détail
Agenda
Agenda avec base de données sqlite
Détail
les comptes
programme de comptabilité des dépenses
pour une personne âgée.
Détail
PDFMAN
Un utilitaire convertisseur de fichier PDF
détail
Emploi du temps
logiciel de calendrier realisé avec une drawarea
détail
GBidentity
logiciel pour imprimer des photos d 'identité
détail
gbmag
gestion d 'un stock de pièces détachées
detail

);

Logiciels Gambas - - TOUS LES LOGICIELS

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
LOGICIELS EN GAMBAS


Voci la liste des logiciels présents sur ce site . Cliquez sur une rubrique :

bureautique.png
 Logiciels Bureautique (finances, Entreprises,...)
 accessoires.png Accessoires (calculatrices, convertisseurs,...)
 educatif.png Logiciels Educatifs (grammaire, orthographe, conjugaison,sciences ,...)
 graphisme.png Logiciels de graphisme (retouche photos, visualisateurs,paint,...)
 jeux.png Jeux (plateau, réflexion, réflexe, action, logique,...)
 multimedia.png loisirs multimédia (Vidéo, audio, musique, généalogie,...)
reseau.png
 Applications réseau (internet, messagerie, tchat, transfert fichiers, p2p,...)
 systeme.png Outils système (fichier aide, ecran de veille, accessoires,...)
 divers.png Logiciels divers (les inclassables, logiciels pour rien,...)
math.jpgLogiciels de mathématique (calcul scientifique, nombre PI, divisions à plusieurs décimales,...)

);

Creer son logiciel - Changer le curseur

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
LES CURSEURS DE SOURIS EN GAMBAS

souris.png

Dans cet exemple, vous découvrirez les rudiments du code GAMBAS pour manier les types de curseurs.

La propriété du widget lié au curseur est la propriété MOUSE.

Voici le code de cet exemple :
' Gambas class file
PRIVATE lasouris AS String


PUBLIC SUB Form_Open()
ME.center
END

PUBLIC SUB RadioButton1_Click()
lasouris = Mouse.Arrow
  PictureBox1.Mouse = Mouse.Arrow
 Label1.Caption = lasouris
END

PUBLIC SUB RadioButton2_Click()
lasouris = Mouse.Pointing
   PictureBox1.Mouse = Mouse.Pointing
 Label1.Caption = lasouris
END

PUBLIC SUB RadioButton3_Click()
lasouris = Mouse.SizeAll
   PictureBox1.Mouse = Mouse.SizeAll
 Label1.Caption = lasouris
END


PUBLIC SUB RadioButton4_Click()
lasouris = Mouse.Horizontal
   PictureBox1.Mouse = Mouse.SizeH
 Label1.Caption = lasouris


END

PUBLIC SUB RadioButton5_Click()
  lasouris = Mouse.Cross
   PictureBox1.Mouse = Mouse.Cross
 Label1.Caption = lasouris

END

PUBLIC SUB RadioButton6_Click()
lasouris = Mouse.SizeW
   PictureBox1.Mouse = Mouse.SizeSW
 Label1.Caption = lasouris

END

PUBLIC SUB RadioButton7_Click()
lasouris = Mouse.SizeN
   PictureBox1.Mouse = Mouse.SizeN
 Label1.Caption = lasouris


END

PUBLIC SUB RadioButton8_Click()
lasouris = Mouse.SizeS
   PictureBox1.Mouse = Mouse.SizeS
 Label1.Caption = lasouris


END

PUBLIC SUB RadioButton9_Click()
lasouris = Mouse.Vertical
   PictureBox1.Mouse = Mouse.Vertical
 Label1.Caption = lasouris


END

PUBLIC SUB RadioButton10_Click()
lasouris = Mouse.Wait
   PictureBox1.Mouse = Mouse.Wait
 Label1.Caption = lasouris



END

PUBLIC SUB RadioButton11_Click()

  lasouris = Mouse.Custom

PictureBox1.Cursor = NEW Cursor(Picture.Load( find-definition_gnome.png ))
   PictureBox1.Mouse = Mouse.Custom
 Label1.Caption = lasouris


END

PUBLIC SUB RadioButton12_Click()

   lasouris = Mouse.Custom

PictureBox1.Cursor = NEW Cursor(Picture.Load( logo.png ))
   PictureBox1.Mouse = Mouse.Custom
 Label1.Caption = lasouris


END

TELECHARGEZ L 'EXEMPLE
);

Gambas en Francais - Format des dates

Rédigé par spheris Aucun commentaire
Classé dans : Logiciels Mots clés : aucun
FORMATS DES DATES

lesdate0.png

Vous avez peut être déjà remarqué que le format des dates sous GB est quasiment toujours au format Américain.
Et bien voici un excellent Tuto pour vous ,Français, amis de la Baguette de pain et du bon vin, qui vous fera découvrir un moyen de Franciser votre logiciel.

SAISIE DES DATES

Bonsoir,
Dans ce petit tuto, nous allons voir comment saisir des dates dans des valuebox et textbox et les manipuler.

Propriété TYPE de la valuebox
Il faut savoir que si vous passez cette propriété à DATE, la sasie de valeur dans cette valuebox ajoutera des symboles / pour séparer les chiffres au format JJ/MM/YYYY

la DATE dans une Texbox.
La date dans une textbox pourra facilement être comprise par GB si vous faite un test ASCII sur les caracteres saisi, comme :

 IF Asc(Key.Text) < 48 OR Asc(Key.Text) > 57 AND Asc(Key.Text) <> 46 AND Asc(Key.Text) <> 8 AND Asc(Key.Text) <> 47 AND Asc(Key.Text) <> 127 AND Asc(Key.Text) <> 0 THEN
      STOP EVENT
ENDIF

Le DATECHOOSER
vous pourrez aussi retourner la valeur de la date au moyen d 'un DATECHOOSER, widget très astucieux

lesdate1.png

Les COMBOBOX.
vous pourrez décomposer la date en 3 combobox (jour, mois, année ) et ainsi reconstituer une date.


lesdate2.png

Pour finir,
il est possible d 'extraire le jour le mois ou l 'année d 'une date par la commande :

i etant une valeur de type FLOAT
pour le jour : DAY(cdate(i))

pour le mois : Month(CDate(i))

Pour l 'année : Year(CDate(i))

Merci à Taoteblue pour cet excellent tutoriel.
A bientôt

TELECHARGEZ LE LOGICIEL EXEMPLE


Mise à jour importante :

Il est possible de mettre la date au format francais en utilisant la syntaxe :

Pour la date :  Format$­(Now, dd/mm/yyyy )
Pour l 'heure : Format$­(Now, hh:mm:ss )

entre les guillemets, vous pourrez saisir le type de syntaxe :
dd = jour sur 2 caractères
mm = mois sur 2 caractères
yyyy = année sur 4 caractères
hh = heures
mm = minutes
ss = secondes




saisiedate.png
);