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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Hier à 23:55

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
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 : 765
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 : 5613
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 : 5613
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 : 5863
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 : 765
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 : 765
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
-
» 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: