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
» Calculus
par Ouf_ca_passe Aujourd'hui à 9:06

» 6 (en analyse):confusion de variable locale entre SUB et FNC
par Jack Aujourd'hui à 8:28

» Curseurs personnalisés
par papydall Aujourd'hui à 5:24

» Un catalogue de photos de fleurs, avec KBDD
par Klaus Aujourd'hui à 0:41

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 0:38

» Partie fractionnaire d'un flottant
par Marc Hier à 23:58

» Exemples de définition et utilisation de Fonctions FNC
par Marc Hier à 22:50

» Pour coincer la bulle
par JL35 Hier à 15:31

» Logiciel de soutien en langues.
par Pedro Alvarez Hier à 15:00

» Version instantanée V 0.9.28i14 du 10/02/2018
par pascal10000 Hier à 10:58

» Mathématiques pour les transformations du plan
par papydall Dim 18 Fév 2018 - 16:14

» petite animation
par Jean Claude Dim 18 Fév 2018 - 13:15

» De l’utilité de l’inutile : i^n
par papydall Sam 17 Fév 2018 - 16:02

» Racine cubique d'un nombre
par Marc Jeu 15 Fév 2018 - 21:24

» Problèmes de résolution écran avec Panoramic.
par Pedro Alvarez Jeu 15 Fév 2018 - 17:03

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 Mise à jour TCCPANO

Aller en bas 
AuteurMessage
jean_debord

avatar

Nombre de messages : 779
Age : 63
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 : 5729
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 - 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 : 5729
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 - 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 : 5895
Age : 45
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 : 779
Age : 63
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 : 779
Age : 63
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: