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
» I Love You
par Jean Claude Aujourd'hui à 18:16

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Aujourd'hui à 18:08

» mise a jour calculatrice
par joeeee2017 Aujourd'hui à 15:57

» [solved] 3D_LINE How to ?
par Jicehel Aujourd'hui à 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Hier à 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Mise à jour TCCPANO

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Mise à jour TCCPANO    Jeu 6 Fév 2014 - 11: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 : 5544
Age : 67
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 - 14: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 : 5544
Age : 67
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 - 19: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 : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Mise à jour TCCPANO    Jeu 6 Fév 2014 - 21: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 : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Mise à jour TCCPANO    Mer 12 Fév 2014 - 12: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 : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Mise à jour TCCPANO    Jeu 13 Fév 2014 - 11: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
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» antivir périmé, mise à jour KO
» Bug suite à la mise à jour 10.0.45.2 du player flash résolu
» mise à jour eanim fx [résolu]
» mise a jour des pilotes, comment proceder?
» Dakota 20 - Mise a jour firmware 4.9 du 17/11/2011

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: