pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Création de fonctions inexistantes en Panoramic. Mar 12 Nov 2013 - 14:41 | |
| Bonjour à tous. Je viens de développer un programme afin de créer des fonctions inexistantes en Panoramic. Bon usage à tous, et merci d'avance de vos commentaires et suggestions. - Code:
-
dim a$, b$, dernier_argument$, fonction$, liste_argument$, resultat$, t$ dim argument$(10) dim kk%, res%, resultat%, true%, yy%
true%=1
label traiter_fonction
edit 100 left 100,-200 on_change 100,traiter_fonction
' Placer les arguments chaînes entre '' et non entre "". ' Correspond à b$=TrimLeft$("-----Bonjour","-") text 100,"TrimLeft$('-----Bonjour','-',b$)" message b$
text 100,"Instr('Bonjour','j',5,res%)" message str$(res%)
end
traiter_fonction:
t$=text$(100) if len(t$)>0 t$=left$(t$,len(t$)-1)
yy%=instr(t$,"(") fonction$=left$(t$,yy%-1) liste_argument$=mid$(t$,yy%+1,len(t$)) lire_arguments() traiter_fonction() enregistrer_resultat() end_if return
sub lire_arguments()
kk%=0 while true%=1 yy%=instr(liste_argument$,",") if yy%=0 then exit_while kk%=kk%+1 argument$(kk%)=left$(liste_argument$,yy%-1) if left$(argument$(kk%),1)="'" argument$(kk%)=left$(argument$(kk%),len(argument$(kk%))-1) argument$(kk%)=mid$(argument$(kk%),2,len(argument$(kk%))) end_if
liste_argument$=mid$(liste_argument$,yy%+1,len(liste_argument$)) end_while
dernier_argument$=liste_argument$
end_sub
sub traiter_fonction()
if fonction$="TrimLeft$" resultat$=argument$(1) while true%=1 if left$(resultat$,1)<>argument$(2) then exit_while resultat$=mid$(resultat$,2,len(resultat$)) end_while end_if
' Instr('Bonjour','j',5,res%) if fonction$="Instr" resultat%=val(argument$(3))+instr(mid$(argument$(1),val(argument$(3)),len(argument$(1))),argument$(2)) if resultat%<val(argument$(3)) then resultat%=0 end_if
end_sub
sub enregistrer_resultat()
if dernier_argument$="a$" then a$=resultat$ if dernier_argument$="b$" then b$=resultat$ if dernier_argument$="res%" then res%=resultat% end_sub | |
|