Gambas France BETA


Pas de compte ? Incription

Mise à jour d'un programme en Gambas 1

1
AuteurMessages
lapenduledargent#1 Posté le 22/9/2010 à 08:10:00
Bonjour à tous,

Après m'être (re)présenté dans la partie bistro, voilà mon premier objectif.

J'ai découvert un programme écrit en Gambas 1 qui converti un dxf (fichier de dessin en 2D) en Gcode (programme de commande numérique)

DN-CAM pour le traitement d'image et DN-DXF pour le Gcode.
http://sourceforge.net/projects/dn-cam/files/

Le projet semble abandonné et je m'intéresse plus spécialement à DN-DXF.
Sous linux, il y a quelques applications qui permettent de réaliser un programme de cnc mais, pas vraiment équivalent au système sous window$

Je ne sais pas si c'est dans mes possibilités de me lancer dans un tel projet mais j'aurai souhaiter d'abord tester DN-DXF sous Gambas 2.

La première chose que je constate, c'est la différence dans l'ouverture d'un fichier :

1
OPEN sOutFileName FOR WRITE CREATE AS outputfile sGcodeLine=TextBox6.Text PRINT #outputfile, sGcodeLine ' put the Initialization string in the file ListBox1.Add(sGcodeLine)


Sur les exemples de ce site (merci Spheris), nous ouvrons un fichier au moyen de la commande :

1
monfichier = OPEN "/chemindufichier/" FOR INPUT


J'ai un message d'erreur lors de l'exécution.

La variable "outputfile" est déclarée comme file au début du fichier.

Visiblement entre Gambas 1 et 2, la syntaxe d'ouverture de fichier à changer. J'ai constater la même chose avec les boites de dialogue.

Qu'en pensez-vous ?

A bientôt

Pierre
spheris#2 Posté le 22/9/2010 à 16:36:00
en fait tu dois déclarer ton fichier comme ceci :
1
DIM outputfile AS File DIM DxfFile AS File


puis t'en servir comme ceci :
1
outputfile = OPEN sOutFileName FOR WRITE CREATE DxfFile = OPEN sFileName FOR READ


et après cela fonctionnera.
;)
ta procedure Button_click :

1
PUBLIC SUB Button1_Click() DIM outputfile AS File DIM DxfFile AS File iLineNumber = 0 sOutput = "" sPreviousX1 = "" sPreviousX2 = "" sPreviousY1 = "" sPreviousY2 = "" ListBox1.Clear fEngraveDepth = Val(TextBox1.Text) fAirHeight = Val(TextBox2.Text) fFeedRate = Val(TextBox3.Text) fPlungeRate = Val(TextBox4.Text) Dialog.Path = (system.User.Home) IF Dialog.OpenFile() THEN RETURN sFileName = Dialog.Path ' make the default "Output" file name the same as the Input filename but with new *.ngc sOutFileName = Left$(sFileName, -3) ' Strip of DXF sOutFileName = sOutFileName & "ngc" ' add extension TextBox5.Text = sOutFileName ' update screen box outputfile = OPEN sOutFileName FOR WRITE CREATE sGcodeLine = TextBox6.Text PRINT #outputfile, sGcodeLine ' put the Initialization string in the file ListBox1.Add(sGcodeLine)' Write the inital cutter position to the ListBox & file eg cutter up' sGcodeLine="G0 X0 Y0 Z " & fAirHeight' ListBox1.Add(sGcodeLine)' PRINT #outputfile, sGcodeLine DxfFile = OPEN sFileName FOR READ REPEAT LINE INPUT #DxfFile, sLINE iLineNumber = iLineNumber + 1 IF sLINE = "LINE" THEN Line()' Note CUTTER IS DOWN etc...
manu#3 Posté le 22/9/2010 à 19:54:00
Avec Gambas ca roule !Bonjour,

Tu devrais directement le passer en version 3 ! Celle ci est bien avancée et sortira, on l’espère tous, assez vite.
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lapenduledargent#4 Posté le 23/9/2010 à 07:47:00
Bonjour Spheris et Manu,

C'est bon ça fonctionne

Petite question, c'était des erreurs dans l'écriture du programme ou c'était suite au passage à la version 2 ?

DN-DXF me permet de générer simplement un Gcode. Mais il y a encore quelques erreurs dans le parcours.

C'est une base mais pour être pratique, le programme doit être amélioré avec par exemple un écran qui visualise graphiquement le Gcode.

Bonne suggestion Manu, mais faut-il refondre complètement une application écrite en Gambas 2 ou y-a-t-il deux ou trois adaptation +/- standard lors du passage à la 3 ?

Donc faut-il dès maintenant développer en version 3 puisque dans quelques mois je suppose que c'est cette version qui sera installée par défaut dans nos distributions ?

A bientôt

Pierre
:D :D
manu#5 Posté le 23/9/2010 à 12:36:00
Avec Gambas ca roule !
faut-il dès maintenant développer en version 3 puisque dans quelques mois je suppose que c'est cette version qui sera installée par défaut dans nos distributions ?


Sempiternelle question Pierre !

La v3 est très avancée et offre de nombreuses possibilités supplémentaires. Elle est assez stable et quand on détecte un bug, il est très vite corrigé. Mais tous n'est pas fini.., gb.chart est en complète refonte car il ne fonctionne pas bien donc si tu en as besoins rapidement, la v2 est plus adaptée.

La v2, quand à elle fonctionne bien mais certaines distrib (Mandriva pour sûre) ne fournissent plus certains paquets kde que certains composants de gambas utilise, les rendant ainsi non disponibles (gb.qt.kde par exemple). A terme, d'autre distribs suivrons Mandriva dans cette direction même si ce n'est pas encore de cas de Debian et ses dérivés comme Ubuntu, Mint et j'en passe).

A toi de voir. ;)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lapenduledargent#6 Posté le 23/9/2010 à 14:38:00
Re,

Mais si je développe mon application en version 3. Tout doit être réécrit ou c'est juste un changement de version ?

Pour la partie graphique de mon appli, je vais regarder les exemples de paint et C° ainsi que dans les WIDGETS Gambas "DRAWAREA"


A+

Pierre
Prokopy#7 Posté le 23/9/2010 à 17:14:00
Kinder PinguiSalut lapenduledargent,

Je te rassure, il n'y a pas besoin de tout réécrire pour passer ton application en GB3. Peut-être quelques lignes sont à changer, mais il ne doit pas y avoir grand-chose. Le seul "hic" qu'il peut y avoir c'est avec les formulaires, Gambas peut te dire qu'il y a un problème. On en a déjà parlé précédemment, je cite :


[list=1]
  • Ouvrir le dit projet (le message disant que c'est un projet GB2 est à ignorer, on confirme)
  • Si il y a des formulaires dans le projet, faire Outils/Mettre à jour tous les formulaires, mais simplement les enregistrer marche aussi
  • Lancez … enjoy !
  • La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
    manu#8 Posté le 23/9/2010 à 17:27:00
    Avec Gambas ca roule !hummm, je suis moins optimiste que Prokopy sur ce point, mais bon, c'est à essayer, après avoir fait un double de ton projet original bien sur ;)

    D'autre part, certaines parties de ton soft peuvent devoir être réécrite, Par exemple la gestion de l'impression utilise la classe paint en v3 alors que c'est la classe draw qui l'est en v2. En fait tout dépend de ton application de départ...
    Jeanne d'arc, elle a frit, elle a tout compris ! ;)

    Config :
    Manjaro linux (excellent !)
    XFCE 4.1 (simple et efficace)
    Gambas 3 dans les dépots (confort total)
    spheris#9 Posté le 23/9/2010 à 19:47:00
    Et je rejoins Manu,
    car le portage d'une appli GB2 sous GB3 ne marche pas tout le temps.
    Riri en sait quelque chose !
    ;) ;)

    pour en revenir à ton exemple, sous GB1 il fallait définir le fichier comme ceci :

    1
    OPEN "/monfichier" FOR READ AS Fichieralire


    et maintenant sous GB2 :
    1
    DIM Fichieralire AS fileFichieralire = OPEN "/monfichier" AS READ

    Ce qui, entre nous, semble bien plus logique.

    Une question découle donc :
    Et en GB3 ??????
    Surement la meme chose qu'en GB2.

    ;)
    lapenduledargent#10 Posté le 24/9/2010 à 20:51:00
    Bonsoir à tous,

    Je peux toujours installer la version 3 demain ou lundi et essayer mon appli.
    Faudra bien y passer un jour...

    Bonne soirée

    Pierre
    manu#11 Posté le 24/9/2010 à 21:05:00
    Avec Gambas ca roule !installes un double de ton appli car après tu ne peux revenir en arrière, ou du moins c'est plus compliqué.. :geek:
    Jeanne d'arc, elle a frit, elle a tout compris ! ;)

    Config :
    Manjaro linux (excellent !)
    XFCE 4.1 (simple et efficace)
    Gambas 3 dans les dépots (confort total)
    lapenduledargent#12 Posté le 24/9/2010 à 21:10:00
    Ok, merci mais je préfère également la prudence.

    Bonne nuit

    Pierre
    1