Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Betas et WIPs » ExtLib : une nouvelle librairie basic (88 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
andoh_wilfried Ecrit le: Jeudi 14 juillet 2005 à 14:26 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

Présentation:
-------------

C'est une nouvelle librairie basic. Du moins, une adaptation de mon interpreteur
MyLiB ( en stand by pour longtemps je pense).
Cette librairie est basé sur 'TiBasExt', un soft de Kevin Kofler.
Ce soft permet d'utiliser un programme C pour lancer des programmes Ti-Basic .
Jusque là, rien de nouveau me direz-vous. Mais si je vous dis que le programme
basic peut appeler certaines fonctions du programme C qui la lancé. Alors là ça change tout.

Ce que j'apporte avec ExtLiB, c'est :
- De nouvelles fontions au Ti-Basic
- une meilleur gestion des arguments par un moteur puissant au coeur du software
- une utilisation en Mode Librairie de toutes les fonctions par la fonction 'Command('

La gestion des arguments d'ExtLiB est très proche de celui de la librairie Vertel.
Il faut toutefois noter les différences dans la gestion des Tag_spéciaux et des MATRIX.

La librairie supporte tous les types d'arguments Ti-Basic suivant : NUM,STR,LIST,MATRIX.
Les fonctions font exactement tout ce dont on peut attendre d'elles; rare sont les restrictions.

Pour télécharger : ExtLiB Disponible uniquement dans les archives Ti-Gen ou Ti-Fr

mis-à-jour : Jeudi 11 Novembre 2005 à 16:36 GMT;

Pour lancer un programme Ti-Basic utilisant les Extensions ajoutées, faites ceci :
main\extlib("nom_prog_basic")



En clair, vous pouvez directement écrire en Ti-Basic ceci :

:make("a",50)
:write("a",{0,0,45},{2,48,49})
:memset("a",ord("m"),2, 45 )

ce code créer la variable a, la définit au format string, et la remplit du caractère 'm'

On peut arriver au même résultat en faisant aussi ceci:

:command("make","a",50,%,"write","a",{0,0,45},{2,48,49},%,"memset","a",2,ord("m"),2,45)

NB: '%' remplace le symbole infini sur TI

Ce mode permet d'appeler plusieurs fonctions sans passer par le basic.
De plus si plusieurs fonctions ont des arguments en communs, vous pouvez regrouper les dans une liste, histoire qu'elles utilisent les même arguments.

Plus tard, lorsque j'aurai énormément de temps pour coder la tokénéisation; on pourra faire ceci :

:command("tokenfile")

où "tokenfile" est le nom d'un fichier perso contenant les token des fonctions.

-Edité le Vendredi 11 novembre 2005 à 17:37 par andoh_wilfried-
    
./Post n°1   Marquer comme non lu.
geogeo Ecrit le: Vendredi 15 juillet 2005 à 19:07 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Ca risque d'interesser énormément d'utilisateurs du TI-Basic. Chapeau pour le boulot effectué. :)
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°2   Marquer comme non lu.
Folco Ecrit le: Vendredi 15 juillet 2005 à 19:23 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


geogeo :
Chapeau pour le boulot effectué. :)

Impresionnant en effet. #top#
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°3   Marquer comme non lu.
andoh_wilfried Ecrit le: Vendredi 15 juillet 2005 à 20:46 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

merci pour vos encouragement :) , ça fait plaisir.
j'espère que je ne serai pas obligé de faire une Table des fonctions pour implémenter la fonction 'command' qui va permettre de lancer l'exécution en mode Librairie.

J'espère que K.K. me dira qu'on peut lire directement les données dans les tables des extensions qu'il rajoute au basic.

Faut dire que son soft était une opportunité inespérée pour 'MyLiB' de voir le jour sous un autre nom : 'ExtLiB'
En effet, j'ai comme qui dirait marqué une longue pause dans le developpement du Parser de 'MyLiB'. Et vu que le soft de K.K. me dispense de celà, j'en profite grave.

-Edité le Vendredi 15 juillet 2005 à 21:30 par andoh_wilfried-
    
./Post n°4   Marquer comme non lu.
Kevin Kofler Ecrit le: Vendredi 15 juillet 2005 à 22:35 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Tu peux, mais tu devras regarder en quoi sont expandues les macros, parce que les macros sont faites justement pour te cacher la structure interne de ces tableaux dont tu n'as normalement pas besoin.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°5   Marquer comme non lu.
Folco Ecrit le: Vendredi 15 juillet 2005 à 23:51 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Il faudrait des fonctions d'accès pour faire ça proprement en fait. Parceque si un jour le format change :S
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°6   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 16 juillet 2005 à 02:37 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Le format est défini par TI.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°7   Marquer comme non lu.
Folco Ecrit le: Samedi 16 juillet 2005 à 03:16 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


ah, alors si c'est une garantie de non-changement, tant mieux. :)
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°8   Marquer comme non lu.
FpgForce Ecrit le: Dimanche 17 juillet 2005 à 19:30 Déconnecté(e)    Voir le profil de FpgForce Envoyer un email à FpgForce Envoyer un message privé à FpgForce  

Quant au code, tu compte le publier? :)
[edit]ortho
-Edité le Dimanche 17 juillet 2005 à 20:14 par FpgForce-
    
./Post n°9   Marquer comme non lu.
andoh_wilfried Ecrit le: Mardi 19 juillet 2005 à 13:26 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

je suis trop content; j'ai réussi à faire fonctionner exactement tout comme je l'ai précisé au post 0. c'est l'extase en ce moment , je vous dit pas.

publier le code, je ne pense pas, du moins pas de suite.


    
./Post n°10   Marquer comme non lu.
Folco Ecrit le: Mardi 19 juillet 2005 à 13:52 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


aller, GPL rulezzzzz :D
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°11   Marquer comme non lu.
andoh_wilfried Ecrit le: Mardi 19 juillet 2005 à 15:20 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

Maintenant va falloir écrire le read-me.
C'est la partie du travail que je préfère le moins.
Par contre il n'y aura pas d'aide pour les fonctions dans le CATALOG.
ça me fait chier de faire grossir la LiB.

je vais faire une descritption rapide des fonctions et faire une betâ.

ça me demange de la sortir même sans notice, mais je vais attendre quelques jours.



-Edité le Mercredi 20 juillet 2005 à 19:58 par andoh_wilfried-
    
./Post n°12   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 20 juillet 2005 à 07:38 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


andoh_wilfried :
Maintenant va falloir écrire le read-me.
C'est la partie du travail que je préfère le moins.
Par contre il n'y aura pas d'aide pour les fonctions dans le CATALOG.
ça me fait chier de faire grossir la LiB.

De toute façon l'aide CATALOG ne sert pas à grand chose parce qu'on ne la voit que quand la lib est lancée (enfin, tu peux permettre d'afficher le CATALOG quand la lib tourne avec un truc genre mylib("catalog"), mais bon).
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°13   Marquer comme non lu.
FpgForce Ecrit le: Mercredi 20 juillet 2005 à 09:01 Déconnecté(e)    Voir le profil de FpgForce Envoyer un email à FpgForce Envoyer un message privé à FpgForce  

Oui je n'ai pas mis de description pour le catalog non plus, parce que tu peux afficher le catalog avec un truc comme CA_dialog mais faut ensuite jouer avec l'event loop pour le parcourir, c'est deja plus chiant.
    
./Post n°14   Marquer comme non lu.
andoh_wilfried Ecrit le: Jeudi 21 juillet 2005 à 10:33 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

FpgForce : t'as fait une librairie toi aussi ?
-Edité le Jeudi 21 juillet 2005 à 12:20 par andoh_wilfried-
    
./Post n°15   Marquer comme non lu.
FpgForce Ecrit le: Jeudi 21 juillet 2005 à 16:47 Déconnecté(e)    Voir le profil de FpgForce Envoyer un email à FpgForce Envoyer un message privé à FpgForce  

andoh_wilfried> non j'ai fait un programme d'etude de fonction scriptable en TI-Basic mais il est pas encore release :p
    
./Post n°16   Marquer comme non lu.
andoh_wilfried Ecrit le: Jeudi 21 juillet 2005 à 17:32 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

FpgForce
ça promet, il vont être super :) tes utilisateurs, de pouvoir organiser l'environnement à leur guise.




K.K :

c'est terrible ton soft, j'ai fait des tests de comparaison des 2 modes d'appel de ma LiB :
1- Appel des fonctions dans le basic
2- Appel multiple exactement comme Vertel

figures-toi que c'est plus rapide d'utiliser la méthode 1.

Faut dire que pour l'instant je n'ai pas optimisé la recherche dans la table des fonctions en indexant la table pour accélérer les recherches.

-Edité le Jeudi 21 juillet 2005 à 17:46 par andoh_wilfried-
    
./Post n°17   Marquer comme non lu.
andoh_wilfried Ecrit le: Mardi 26 juillet 2005 à 17:58 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

J'ai bientôt fini le read-me ( demain je pense que ce sera ok ).


J'ai commencé à implémenter des fonctions qui permettent de déplacer un pointeur à l'intérieur d'une variable. En l'occurence il s'agit des Listes et Matrix ( je verrai ce que je peux faire pour les chaines par la suite).

Ces fonctions servent à créer des variables virtuels par restriction d'une autre variable.
En clair ça va éviter de faire des 'left','right','midl','sublist', 'submat' sur les LIST/MATRIX, lorsque vous ne voulez pas utiliser toutes les valeurs définies dans une variable.

j'espère arriver à surcharger ces fonctions pour qu'elles soient utilisables avec les chaînes
de caractères.



voici les fonctions que je compte implémenter :

1- HeapLock("Varname", BOOLEAN ) : (dé)vérouillage de la variable
2- SetRec("RecName","Varname",Dim) : définie une variable virtuelle
3- CopyRec("RecName1","RecName2") : recopie d'une variable virtuelle
4- MoveNext("RecName", {Count1, Count2,....}) : Deplace le pointeur de CountX expressions dans la structure de LIST en cours.

En clair pour une MATRIX var de dimension n*m :

HeapLock("var") // vérouille la variable afin qu'elle ne soit pas déplacé en cas de garbage
:SetRec("rec1","var",5) // définit rec1 comme une variable(liste) de 5 expressions
successives dans var
:MoveNext("rec1",{2,2}) // saute les 2 premieres listes, puis les 2 premiers éléments de la liste en cours. Le pointeur se retrouve sur le 3ième élément de la 3ième liste.
:
:vous utilisez "rec1" comme une variable(liste) quelconque
:
:UnsetRec("rec1") // Détruit la variable rec1
:HeapLock("var",1) // Dévérouillage

Cette façon de faire devient très intéressante, dans le cas où l'on a créer une structure complexe de liste de liste non conforme au format matricielle de TI. En effet 'ExtLiB' permettant de mettre n'importe quoi dans une liste, vous pourrez les gerer comme des tables de base de données.


souhaitez-moi beaucoup courage.
je part pour l'étranger à la fin de la semaine , alors faut espérer que je finisse avant vendredi.

je cherche des testeurs qui veulent bien donner un peu de leur temps, dès demain pour tester et me repporter des bugs (éventuellement rare car j'ai fait plein de tests).


-Edité le Mardi 26 juillet 2005 à 18:53 par andoh_wilfried-
    
./Post n°18   Marquer comme non lu.
andoh_wilfried Ecrit le: Mercredi 27 juillet 2005 à 03:17 Déconnecté(e)    Voir le profil de andoh_wilfried Envoyer un email à andoh_wilfried Envoyer un message privé à andoh_wilfried  

ça y nous passons maintenant en Betâ, j'espère avoir des réactions.
certaines fonctions comme 'break()' ne sont pas encore implémentées.

Pour télécharger : ExtLiB


Pour lancer un programme Ti-Basic utilisant les Extensions ajoutées, faites ceci :
main\extlib("nom_prog_basic")


-Edité le Mercredi 27 juillet 2005 à 16:14 par andoh_wilfried-
-Edité le Mercredi 27 juillet 2005 à 16:23 par andoh_wilfried-
    
./Post n°19   Marquer comme non lu.
LionelA Ecrit le: Mercredi 27 juillet 2005 à 05:30 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


Tu pourrais filer des programmes exemples avec ? :)
Et sinon j'ai juste voulu tester comme ca j'ai fait un prog basic qui appelait off() et ca m'a dit "ASAP or EXEC string too long" , bref faut un Kernel #sick#
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
  :: Index » Forum Ti68K » Betas et WIPs » ExtLib : une nouvelle librairie basic (88 réponse(s))
Pages : 1/5     « [1] 2 3 4 5 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 45.4ms avec 18 requetes