FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» EPP_V01 éditeur pour Panoramic
par Minibug Hier à 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Hier à 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 15:58

» Planétarium virtuel.
par Pedro Alvarez Hier à 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Calculatrice
par joeeee2017 Mar 18 Sep 2018 - 9:35

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Mise à jour TCCPANO

Aller en bas 
AuteurMessage
jean_debord

avatar

Nombre de messages : 822
Age : 64
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Mise à jour TCCPANO    Jeu 6 Fév 2014 - 9:58

La bibliothèque TCCPANO fournit des procédures (SUBs) permettant de compiler et de lancer des scripts écrits en langage C.

La compilation est faite par le compilateur TCC (www.bellard.org\tcc) qu'il faut donc installer.

Avantages :

- tout se passe en mémoire vive ; rien n'est écrit sur le disque, et aucune fenêtre intempestive ne vient s'ouvrir
- le script écrit ses résultats dans une variable chaîne de caractères. Pas besoin de passer par le presse-papiers
- le script peut être généré dynamiquement par le programme PANORAMIC
- le script peut utiliser des DLLs qui autrement ne seraient pas accessibles par PANORAMIC

Inconvénients :

- tous ceux du langage C Wink

Le programme exemple est un éditeur minimaliste pour le langage C, permettant d'apprendre ce langage sans quitter PANORAMIC !



A télécharger sur :

http://sourceforge.net/projects/panolib/files/tccpano_fr.zip

Lisez bien la documentation !

Un article pour le magazine sera soumis ultérieurement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

avatar

Nombre de messages : 5990
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Mise à jour TCCPANO    Jeu 6 Fév 2014 - 12:57

Salut jean_debord
J’ai téléchargé tccpano_fr.zip
J’ai suivi à la lettre ce qui est écrit en tccpano.pdf.
J’ai chargé test_tccpano.bas et je l’ai exécuté.
Tout semble fonctionner jusqu’au click sur Compiler le programme === > (52) Not correct string expression : Line : 117

La ligne 117 n’est autre que le label Exec
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

Nombre de messages : 5990
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Mise à jour TCCPANO    Jeu 6 Fév 2014 - 17:09

Problème résolu.
C’était une question de Path dans la variable d’environnement.
En ajoutant la variable TCCDIR, ça marche comme indiqué dans la doc.
Merci jean_debord.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Mise à jour TCCPANO    Jeu 6 Fév 2014 - 19:25

Bravo (Je ne fais pas beaucoup de commentaire car mon nouveau poste au boulot me prend beaucoup de temps, mais bon ce que vous faites et super)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 822
Age : 64
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Mise à jour TCCPANO    Mer 12 Fév 2014 - 10:42

Merci pour les tests, Papydall !

Effectivement, j'avais oublié de signaler qu'il faut ajouter le chemin de TCC dans le PATH. Ce sera fait dans la prochaine mise à jour.

En attendant, voici un autre petit programme de démonstration :

Code:

' ------------------------------------------------------------------------
' Script TCCPANO : Ajout d'une fonction de formatage d'un nombre réel
' ------------------------------------------------------------------------

' Initialisation de la bibliothèque
#include "tcc_init.inc"

' Variables globales

dim fmt$    : ' Chaîne de format : nb total de signes et nb de décimales, ex. " 12 5"
dim C_code$ : ' Code du programme C
dim result$ : ' Resultat du programme C
dim guil$   : ' Guillemet = chr$(34)

' Creer et compiler le code C

guil$ = chr$(34)

C_code$ = "#include <stdio.h>"
C_code$ = C_code$ + "int main(char p_in[], char p_out[])"
C_code$ = C_code$ + "{"
C_code$ = C_code$ + "  double x; int ntot, ndec; char fmt[20];"
C_code$ = C_code$ + "  sscanf(p_in, " + guil$ + "%lf %d %d" + guil$ + ", &x, &ntot, &ndec);"
C_code$ = C_code$ + "  sprintf(fmt, " + guil$ + "%%%d.%df" + guil$ + ", ntot, ndec);"
C_code$ = C_code$ + "  sprintf(p_out, fmt, x);"
C_code$ = C_code$ + "  return 0;"
C_code$ = C_code$ + "}"

TCC_Compile(C_code$, "")

if TCC_Code% < 0 then print "Erreur de compilation : ", TCC_Code% : end

' Une fois le code C compilé, on peut l'utiliser autant de fois qu'on veut

fmt$    = " 12 5"          : ' La chaîne doit commencer par un espace
result$ = string$(12, " ") : ' Dimensionner au nombre total de signes

TCC_Exec(str$(4 * atn(1)) + fmt$, result$) : print "pi      = ", result$
TCC_Exec(str$(exp(1)) + fmt$, result$)     : print "e       = ", result$
TCC_Exec(str$(sqr(2)) + fmt$, result$)     : print "sqrt(2) = ", result$
TCC_Exec(str$(sqr(3)) + fmt$, result$)     : print "sqrt(3) = ", result$

end

' -------------------------------------------------------------------
' Procédures de TCCPANO
' -------------------------------------------------------------------

#include "tcc_subs.inc"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

avatar

Nombre de messages : 822
Age : 64
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Mise à jour TCCPANO    Jeu 13 Fév 2014 - 9:30

Nouvelle version du programme précédent. Avec des SUBs et des variables locales, c'est plus facile à utiliser.

Code:

' ------------------------------------------------------------------------
' Script TCCPANO : Ajout d'une fonction de formatage d'un nombre réel
' ------------------------------------------------------------------------

' Initialisation de la bibliothèque

#include "tcc_init.inc"

' Variables globales

dim C_code$ : ' Code du programme C
dim result$ : ' Resultat du programme C

' Creer et compiler le code C

Create_C_code()
TCC_Compile(C_code$, "")
if TCC_Code% < 0 then print "Erreur de compilation : ", TCC_Code% : end

' Une fois le code C compilé, on peut l'utiliser autant de fois qu'on veut

Format(4 * atn(1), 12, 5) : print "pi      = ", result$
Format(exp(1), 12, 5)     : print "e       = ", result$
Format(sqr(2), 12, 5)     : print "sqrt(2) = ", result$
Format(sqr(3), 12, 5)     : print "sqrt(3) = ", result$

end

' -------------------------------------------------------------------
' Procédures du programme
' -------------------------------------------------------------------

sub Create_C_code()

 dim_local guil$ : guil$ = chr$(34)

 C_code$ = "#include <stdio.h> "
 C_code$ = C_code$ + "int main(char p_in[], char p_out[])"
 C_code$ = C_code$ + "{"
 C_code$ = C_code$ + "  double x; int ntot, ndec; char fmt[20];"
 C_code$ = C_code$ + "  sscanf(p_in, " + guil$ + "%lf %d %d" + guil$ + ", &x, &ntot, &ndec);"
 C_code$ = C_code$ + "  sprintf(fmt, " + guil$ + "%%%d.%df" + guil$ + ", ntot, ndec);"
 C_code$ = C_code$ + "  sprintf(p_out, fmt, x);"
 C_code$ = C_code$ + "  return 0;"
 C_code$ = C_code$ + "}"
end_sub

sub Format(x, ntot%, ndec%)
' Formate un nombre réel sur un total de ntot% signes dont ndec% décimales

 dim_local InputStr$
 
 InputStr$ = str$(x) + " " + str$(ntot%) + " " + str$(ndec%)
 result$ = string$(ntot%, " ")
 TCC_Exec(InputStr$, result$)
end_sub

' -------------------------------------------------------------------
' Procédures de TCCPANO
' -------------------------------------------------------------------

#include "tcc_subs.inc"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Contenu sponsorisé




MessageSujet: Re: Mise à jour TCCPANO    

Revenir en haut Aller en bas
 
Mise à jour TCCPANO
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» mise à jour à vie sur zumo 550
» Reinitialisation d'un G278 après une mise à jour ratée
» Mise à jour nüvi 765t
» Mise à jour base 276C
» Mise à Jour faite ou pas faite

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: