jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Des DLL pour Panoramic Sam 23 Déc 2023 - 12:03 | |
| La dernière version (0.42) de FBCroco facilite l'écriture de DLL utilisables par Panoramic. Profitons-en pour mettre à la disposition de Panoramic quelques fonctions du Crocodile. Je commence ici avec les fonctions qui décomposent une chaîne de caractères. Voici tout d'abord le code de la DLL (à compiler avec FBCroco 0.42 ou supérieur) : - Code:
-
' ****************************************************** ' Split.DLL : Decomposition d'une chaine de caracteres ' en ses elements constitutifs ou "tokens" ' ******************************************************
#compile -dllpano
dim t_token$() ' Tableau des tokens
function split_string%(a$, car$) ' Decompose la chaine a$ suivant le caractere separateur car$ ' Le tableau t_token$ est redimensionne a chaque appel.
return split(a, car, t_token()) end_function
function get_token%(i%, token$) ' Extrait le token de rang i% ' Retourne la valeur de i%, ou 0 si i% est en dehors des limites ' Cette fonction doit etre appelee APRES split_string
dim res% if i > 0 and i <= ubound(t_token) then token = t_token(i) res = i else token = "" res = 0 end_if return res end_function
Voici ensuite un programme Panoramic utilisant cette DLL : - Code:
-
dll_on "split.dll"
dim a$, n%, i% a$ = "Pour Noël, le Père Noël nous offrira des DLL" print a$ print
n% = split%(a$, " ") print "La chaîne contient ", n%, " tokens" print
for i% = 1 to n% print "Token n° ", i%, " : ", token$(i%) next i%
end
' ******************************************** ' Fonctions d'appel de la DLL ' ********************************************
fnc split%(a$, car$) ' Decompose la chaine result dll_call2("split_string", adr(a$), adr(car$)) end_fnc
fnc token$(i%) ' Retourne le token de rang i% dim_local tmp$, n% tmp$ = string$(50, " ") n% = dll_call2("get_token", i%, adr(tmp$)) result tmp$ end_fnc
| |
|