Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| DLL EVAL : Nouvelle version | |
| | Auteur | Message |
---|
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: DLL EVAL : Nouvelle version Lun 20 Déc 2010 - 15:32 | |
| La DLL EVAL (évaluation d'expressions mathématiques) a été mise à jour. Certaines fonctions (d'usage peu courant) ont été supprimées, d'autres ont été ajoutées. Les fonctions disponibles dans cette nouvelle version sont les suivantes : - Code:
-
abs valeur absolue
sgn signe
int partie entière
sqrt racine carrée
exp exponentielle
ln logarithme népérien
log10 logarithme décimal
rnd nombre aléatoire dans [0,1)
deg degré --> radian
rad radian --> degré
sin sinus
cos cosinus
tan tangente
asin arc sinus
acos arc cosinus
atan arc tangente
atan2 atan2(y,x) = atan(y/x)
sinh sinus hyperbolique
cosh cosinus hyperbolique
tanh tangente hyperbolique
asinh sinus hyperbolique inverse
acosh cosinus hyperbolique inverse
atanh tangente hyperbolique inverse
fact factorielle
gamma fonction gamma (factorielle généralisée)
erf fonction d'erreur (courbe de Gauss)
A télécharger ici : http://www.unilim.fr/pages_perso/jean.debord/panoramic/eval.zip | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL EVAL : Nouvelle version Lun 20 Déc 2010 - 16:00 | |
| Une question sans doute naïve: quelle est l'utilité, ou l'usage, de ces fonctions dans une dll alors qu'elles existent déjà toutes dans le langage Panoramic (ABS, SGN, INT, SQR, EXP) ? | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: DLL EVAL : Nouvelle version Mar 21 Déc 2010 - 9:22 | |
| La DLL permet de calculer une expression saisie par l'utilisateur, comme dans la calculatrice fournie en exemple (programme calc.bas)
Par ailleurs certaines fonctions (hyperboliques inverses, factorielle, gamma, erf...) ne sont pas dans Panoramic. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL EVAL : Nouvelle version Mar 21 Déc 2010 - 14:42 | |
| Merci, je vois mieux l'utilité comme ça, donc c'est plutôt en conversationnel, avec une analyse des expressions données en clair par l'utilisateur. | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: DLL EVAL : Nouvelle version Mar 21 Déc 2010 - 19:53 | |
| Hallo jean,
die DLL EVAL ist für mein Progamm von sehr grosser Wichtigkeit. Mich würde die Funktion RND interessieren.
Könntest du einige Beispiele und ihre Verwendung in Panorama einstellen ?
Gibt es eine Beschreibung der Funktionen, ähnlich wie die von Klaus bei seiner Print.dll
Ich hoffe ich verlange nicht zuviel von dir.
Gruss Severin
Salut Jean,
EVAL est la DLL pour mon Progamme d'une très grande importance. À propos de moi serait intéressé par la fonction de RND.
Pourriez-vous définir quelques exemples et leur utilisation dans Panorama?
Y at-il une description des fonctions semblables à celles de Klaus dans son Print.dll
J'espère que je ne demande pas trop de vous.
Message Severin
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: DLL EVAL : Nouvelle version Mer 22 Déc 2010 - 10:49 | |
| | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: DLL EVAL : Nouvelle version Jeu 23 Déc 2010 - 0:01 | |
| Hallo jean,
ich versuche das Programm "Würfelspiel" umzusetzen. Die Methode MT "Mersenne Twister" ist sehr für mein Programm geeignet. Mir fehlt die DLL "RANMT" oder geht das auch mit "EVAL" ? Bitte hilf mir.
Severin
Salut Jean,
J'ai essayer le programme "Jeu de dés" de mettre en œuvre. Le MT méthode "Mersenne Twister" est à mon Programme approprié. Je manque la DLL "RANMT» ou pouvez-vous acheter "EVAL"? S'il vous plaît aidez-moi.
Severin
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: DLL EVAL : Nouvelle version Jeu 23 Déc 2010 - 10:14 | |
| | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: DLL EVAL : Nouvelle version Jeu 23 Déc 2010 - 14:43 | |
| DANKE .. MERCI..DANKE..MERCI Severin | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: DLL EVAL : Nouvelle version Ven 31 Déc 2010 - 9:49 | |
| Voici une version améliorée de la calculatrice... Avec des boutons ! C'est en anglais pour le moment. Une version française suivra. Ainsi qu'une documentation en PDF. Vous aurez besoin de la DLL EVAL qui se trouve ici: http://www.unilim.fr/pages_perso/jean.debord/panoramic/eval.zip - Code:
-
' ******************************************* ' Calculator - Uses EVAL.DLL ' *******************************************
dim i%, variable$, expression$, value, result
' ------------------------------------------- ' Object description ' -------------------------------------------
' Main form
left 0, 300 top 0, 150 width 0, 485 height 0, 500 caption 0, "Calculator"
' Labels 1-4 (Variables) for i% = 1 to 4 alpha i% left i%, 16 top i%, 42 + (i% - 1) * 32 width i%, 24 height i%, 16 caption i%, chr$(i% + 64) + " = " next i%
' Labels 5-10
alpha 5 left 5, 16 top 5, 15 height 5, 16 caption 5, "Variables" alpha 6 left 6, 175 top 6, 15 height 6, 16 caption 6, "Enter a formula, then click Evaluate"
alpha 7 left 7, 175 top 7, 120 height 7, 16 caption 7, "Result"
alpha 8 left 8, 16 top 8, 190 height 8, 16 caption 8, "Numbers"
alpha 9 left 9, 128 top 9, 190 height 9, 16 caption 9, "Operators"
alpha 10 left 10, 216 top 10, 190 height 10, 16 caption 10, "Functions"
' Edit 11-14 (Variables)
for i% = 11 to 14 edit i% left i%, 48 top i%, 40 + (i% - 11) * 32 width i%, 113 height i%, 24 text i%, str$(i% - 10) next i%
' Edit 15-16 (Formula and Result)
edit 15 left 15, 175 top 15, 40 height 15, 24 width 15, 280 text 15, "A + B + C + D"
edit 16 left 16, 175 top 16, 137 height 16, 24 width 16, 280
' Button 21-29 (Digits 1-9)
for i% = 21 to 29 button i% height i%, 25 width i%, 25 caption i%, str$(i% - 20) next i%
for i% = 21 to 23 top i%, 280 left i%, 16 + (i% - 21) * 32 next i%
for i% = 24 to 26 top i%, 248 left i%, 16 + (i% - 24) * 32 next i%
for i% = 27 to 29 top i%, 216 left i%, 16 + (i% - 27) * 32 next i%
' Button 20 (Digit 0)
button 20 left 20, 32 top 20, 312 height 20, 25 width 20, 25 caption 20, "0"
' Button 30 (Decimal point)
button 30 left 30, 64 top 30, 312 height 30, 25 width 30, 25 caption 30, "."
' Button 31-32 (Parentheses)
for i% = 31 to 32 button i% left i%, 32 + (i% - 31) * 32 top i%, 344 height i%, 25 width i%, 25 next i%
caption 31, "(" caption 32, ")"
' Button 33 (Backspace)
button 33 left 33, 32 top 33, 376 height 33, 25 width 33, 57 caption 33, "<---" hint 33, "Delete last character"
' Button 40-46 (Arithmetic operators)
for i% = 40 to 46 button i% left i%, 128 top i%, 216 + (i% - 40) * 32 height i%, 25 width i%, 25 next i%
caption 40, "+" : hint 40, "Plus" caption 41, "-" : hint 41, "Minus" caption 42, "*" : hint 42, "Multiply" caption 43, "/" : hint 43, "Divide" caption 44, "" : hint 44, "Integer Divide" caption 45, "%" : hint 45, "Modulo" caption 46, "^" : hint 46, "Exponentiation"
' Button 50-57 (Logical operators)
for i% = 50 to 57 button i% left i%, 168 top i%, 216 + (i% - 50) * 32 height i%, 25 width i%, 25 next i%
caption 50, "!" : hint 50, "Bitwise NOT" caption 51, "&&" : hint 51, "Bitwise AND" caption 52, "|" : hint 52, "Bitwise OR" caption 53, "$" : hint 53, "Bitwise XOR" caption 54, "=" : hint 54, "Bitwise EQV" caption 55, "@" : hint 55, "Bitwise IMP" caption 56, "<" : hint 56, "Shift bit left" caption 57, ">" : hint 57, "Shift bit right"
' Button 60-66 (Standard functions)
for i% = 60 to 66 button i% left i%, 216 top i%, 216 + (i% - 60) * 32 height i%, 25 width i%, 57 next i%
caption 60, "abs" : hint 60, "Absolute value" caption 61, "sgn" : hint 61, "Sign" caption 62, "int" : hint 62, "Integer part" caption 63, "sqrt" : hint 63, "Square root" caption 64, "exp" : hint 64, "Exponential" caption 65, "ln" : hint 65, "Natural logarithm" caption 66, "log10" : hint 66, "Decimal logarithm"
' Button 70-76 (Trigonometric functions)
for i% = 70 to 76 button i% left i%, 280 top i%, 216 + (i% - 70) * 32 height i%, 25 width i%, 57 next i%
caption 70, "sin" : hint 70, "Sine" caption 71, "cos" : hint 71, "Cosine" caption 72, "tan" : hint 72, "Tangent" caption 73, "asin" : hint 73, "Arc sine" caption 74, "acos" : hint 74, "Arc cosine" caption 75, "atan" : hint 75, "Arc tangent" caption 76, "atan2" : hint 76, "atan(y/x)"
' Button 80-85 (Hyperbolic functions)
for i% = 80 to 85 button i% left i%, 345 top i%, 216 + (i% - 80) * 32 height i%, 25 width i%, 57 next i%
caption 80, "sinh" : hint 80, "Hyperbolic Sine" caption 81, "cosh" : hint 81, "Hyperbolic Cosine" caption 82, "tanh" : hint 82, "Hyperbolic Tangent" caption 83, "asinh" : hint 83, "Hyperbolic Arc sine" caption 84, "acosh" : hint 84, "Hyperbolic Arc cosine" caption 85, "atanh" : hint 85, "Hyperbolic Arc tangent"
' Button 90-95 (Miscellaneous functions)
for i% = 90 to 95 button i% left i%, 410 top i%, 216 + (i% - 90) * 32 height i%, 25 width i%, 57 next i%
caption 90, "deg" : hint 90, "Radian -> Degree" caption 91, "rad" : hint 91, "Degree -> Radian" caption 92, "rnd" : hint 92, "Random number in [0,1)" caption 93, "fact" : hint 93, "Factorial" caption 94, "gamma" : hint 94, "Gamma function" caption 95, "erf" : hint 95, "Error function"
' Button 100-101 (Evaluate & Clear)
for i% = 100 to 101 button i% top i%, 72 height i%, 25 width i%, 120 next i%
left 100, 175 : caption 100, "Evaluate" left 101, 335 : caption 101, "Clear" ' ------------------------------------------- ' Assign subprograms to events ' -------------------------------------------
' Numbers, parentheses, backspace
label clk20, clk21, clk22, clk23, clk24, clk25, clk26 label clk27, clk28, clk29, clk30, clk31, clk32, clk33
on_click 20, clk20 on_click 21, clk21 on_click 22, clk22 on_click 23, clk23 on_click 24, clk24 on_click 25, clk25 on_click 26, clk26 on_click 27, clk27 on_click 28, clk28 on_click 29, clk29 on_click 30, clk30 on_click 31, clk31 on_click 32, clk32 on_click 33, clk33
' Arithmetic operators
label clk40, clk41, clk42, clk43, clk44, clk45, clk46
on_click 40, clk40 on_click 41, clk41 on_click 42, clk42 on_click 43, clk43 on_click 44, clk44 on_click 45, clk45 on_click 46, clk46
' Logical operators
label clk50, clk51, clk52, clk53, clk54, clk55, clk56, clk57
on_click 50, clk50 on_click 51, clk51 on_click 52, clk52 on_click 53, clk53 on_click 54, clk54 on_click 55, clk55 on_click 56, clk56 on_click 57, clk57
' Standard functions
label clk60, clk61, clk62, clk63, clk64, clk65, clk66
on_click 60, clk60 on_click 61, clk61 on_click 62, clk62 on_click 63, clk63 on_click 64, clk64 on_click 65, clk65 on_click 66, clk66
' Trigonometric functions
label clk70, clk71, clk72, clk73, clk74, clk75, clk76
on_click 70, clk70 on_click 71, clk71 on_click 72, clk72 on_click 73, clk73 on_click 74, clk74 on_click 75, clk75 on_click 76, clk76
' Hyperbolic functions
label clk80, clk81, clk82, clk83, clk84, clk85
on_click 80, clk80 on_click 81, clk81 on_click 82, clk82 on_click 83, clk83 on_click 84, clk84 on_click 85, clk85
' Miscellaneous functions
label clk90, clk91, clk92, clk93, clk94, clk95
on_click 90, clk90 on_click 91, clk91 on_click 92, clk92 on_click 93, clk93 on_click 94, clk94 on_click 95, clk95
' Evaluate and Clear
label clk100, clk101
on_click 100, clk100 on_click 101, clk101
' ------------------------------------------- ' Main program ' -------------------------------------------
dll_on "eval.dll" i% = dll_call0("InitFunc")
end
' ------------------------------------------- ' Subprograms ' -------------------------------------------
' Numbers
clk20: text 15, text$(15) + "0" return
clk21: text 15, text$(15) + "1" return
clk22: text 15, text$(15) + "2" return
clk23: text 15, text$(15) + "3" return
clk24: text 15, text$(15) + "4" return
clk25: text 15, text$(15) + "5" return
clk26: text 15, text$(15) + "6" return
clk27: text 15, text$(15) + "7" return
clk28: text 15, text$(15) + "8" return
clk29: text 15, text$(15) + "9" return
clk30: text 15, text$(15) + "." return
' Parentheses
clk31: text 15, text$(15) + "(" return
clk32: text 15, text$(15) + ")" return
' Backspace
clk33: text 15, left$(text$(15), len(text$(15)) - 1) return
' Arithmetic operators
clk40: text 15, text$(15) + " + " return
clk41: text 15, text$(15) + " - " return
clk42: text 15, text$(15) + " * " return
clk43: text 15, text$(15) + " / " return
clk44: text 15, text$(15) + " \ " return
clk45: text 15, text$(15) + " % " return
clk46: text 15, text$(15) + "^" return
' Logical operators
clk50: text 15, text$(15) + " ! " return
clk51: text 15, text$(15) + " & " return
clk52: text 15, text$(15) + " | " return
clk53: text 15, text$(15) + " $ " return
clk54: text 15, text$(15) + " = " return
clk55: text 15, text$(15) + " @ " return
clk56: text 15, text$(15) + " < " return
clk57: text 15, text$(15) + " > " return
' Standard functions
clk60: text 15, text$(15) + "abs( " return
clk61: text 15, text$(15) + "sgn(" return
clk62: text 15, text$(15) + "int(" return
clk63: text 15, text$(15) + "sqrt(" return
clk64: text 15, text$(15) + "exp(" return
clk65: text 15, text$(15) + "ln(" return
clk66: text 15, text$(15) + "log10(" return
' Trigonometric functions
clk70: text 15, text$(15) + "sin( " return
clk71: text 15, text$(15) + "cos(" return
clk72: text 15, text$(15) + "tan(" return
clk73: text 15, text$(15) + "asin(" return
clk74: text 15, text$(15) + "acos(" return
clk75: text 15, text$(15) + "atan(" return
clk76: text 15, text$(15) + "atan2(" return
' Hyperbolic functions
clk80: text 15, text$(15) + "sinh( " return
clk81: text 15, text$(15) + "cosh(" return
clk82: text 15, text$(15) + "tanh(" return
clk83: text 15, text$(15) + "asinh(" return
clk84: text 15, text$(15) + "acosh(" return
clk85: text 15, text$(15) + "atanh(" return
' Miscellaneous functions
clk90: text 15, text$(15) + "deg( " return
clk91: text 15, text$(15) + "rad(" return
clk92: text 15, text$(15) + "rnd()" return
clk93: text 15, text$(15) + "fact(" return
clk94: text 15, text$(15) + "gamma(" return
clk95: text 15, text$(15) + "erf(" return
' Evaluate
clk100:
variable$ = "A" : value = val(text$(11)) i% = dll_call2("SetVariable", adr(variable$), adr(value))
variable$ = "B" : value = val(text$(12)) i% = dll_call2("SetVariable", adr(variable$), adr(value))
variable$ = "C" : value = val(text$(13)) i% = dll_call2("SetVariable", adr(variable$), adr(value))
variable$ = "D" : value = val(text$(14)) i% = dll_call2("SetVariable", adr(variable$), adr(value))
expression$ = text$(15)
i% = dll_call2("Eval", adr(expression$), adr(result))
text 16, str$(result)
return
' Clear
clk101: text 15, "" return
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: DLL EVAL : Nouvelle version Mar 4 Jan 2011 - 9:51 | |
| Version française : - Code:
-
' ******************************************* ' Calculatrice - Utilise EVAL.DLL ' *******************************************
dim i%, variable$, expression$, value, result
' ------------------------------------------- ' Description des objets ' -------------------------------------------
' Fenêtre principale
left 0, 300 top 0, 150 width 0, 485 height 0, 500 caption 0, "Calculatrice"
' Labels 1-4 (Variables) for i% = 1 to 4 alpha i% left i%, 16 top i%, 42 + (i% - 1) * 32 width i%, 24 height i%, 16 caption i%, chr$(i% + 64) + " = " next i%
' Labels 5-10
alpha 5 left 5, 16 top 5, 15 height 5, 16 caption 5, "Variables" alpha 6 left 6, 175 top 6, 15 height 6, 16 caption 6, "Saisissez une formule, puis cliquez sur Evaluer"
alpha 7 left 7, 175 top 7, 120 height 7, 16 caption 7, "Résultat"
alpha 8 left 8, 16 top 8, 190 height 8, 16 caption 8, "Nombres"
alpha 9 left 9, 128 top 9, 190 height 9, 16 caption 9, "Opérateurs"
alpha 10 left 10, 216 top 10, 190 height 10, 16 caption 10, "Fonctions"
' Edit 11-14 (Variables)
for i% = 11 to 14 edit i% left i%, 48 top i%, 40 + (i% - 11) * 32 width i%, 113 height i%, 24 text i%, str$(i% - 10) next i%
' Edit 15-16 (Formule et Résultat)
edit 15 left 15, 175 top 15, 40 height 15, 24 width 15, 280 text 15, "A + B + C + D"
edit 16 left 16, 175 top 16, 137 height 16, 24 width 16, 280
' Boutons 21-29 (Chiffres 1-9)
for i% = 21 to 29 button i% height i%, 25 width i%, 25 caption i%, str$(i% - 20) next i%
for i% = 21 to 23 top i%, 280 left i%, 16 + (i% - 21) * 32 next i%
for i% = 24 to 26 top i%, 248 left i%, 16 + (i% - 24) * 32 next i%
for i% = 27 to 29 top i%, 216 left i%, 16 + (i% - 27) * 32 next i%
' Bouton 20 (chiffre 0)
button 20 left 20, 32 top 20, 312 height 20, 25 width 20, 25 caption 20, "0"
' Bouton 30 (Point décimal)
button 30 left 30, 64 top 30, 312 height 30, 25 width 30, 25 caption 30, "."
' Boutons 31-32 (Parenthèses)
for i% = 31 to 32 button i% left i%, 32 + (i% - 31) * 32 top i%, 344 height i%, 25 width i%, 25 next i%
caption 31, "(" caption 32, ")"
' Boutons 33 (Retour arrière)
button 33 left 33, 32 top 33, 376 height 33, 25 width 33, 57 caption 33, "<---" hint 33, "Efface le dernier caractère"
' Boutons 40-46 (Opérateurs arithmétiques)
for i% = 40 to 46 button i% left i%, 128 top i%, 216 + (i% - 40) * 32 height i%, 25 width i%, 25 next i%
caption 40, "+" : hint 40, "Plus" caption 41, "-" : hint 41, "Moins" caption 42, "*" : hint 42, "Multiplié" caption 43, "/" : hint 43, "Divisé" caption 44, "" : hint 44, "Division entière" caption 45, "%" : hint 45, "Modulo" caption 46, "^" : hint 46, "Exponentiation"
' Boutons 50-57 (Opérateurs logiques)
for i% = 50 to 57 button i% left i%, 168 top i%, 216 + (i% - 50) * 32 height i%, 25 width i%, 25 next i%
caption 50, "!" : hint 50, "NOT" caption 51, "&&" : hint 51, "AND" caption 52, "|" : hint 52, "OR" caption 53, "$" : hint 53, "XOR" caption 54, "=" : hint 54, "EQV" caption 55, "@" : hint 55, "IMP" caption 56, "<" : hint 56, "Décalage à gauche" caption 57, ">" : hint 57, "Décalage à droite"
' Boutons 60-66 (Fonctions standard)
for i% = 60 to 66 button i% left i%, 216 top i%, 216 + (i% - 60) * 32 height i%, 25 width i%, 57 next i%
caption 60, "abs" : hint 60, "Valeur absolue" caption 61, "sgn" : hint 61, "Signe" caption 62, "int" : hint 62, "Partie entière" caption 63, "sqrt" : hint 63, "Racine carrée" caption 64, "exp" : hint 64, "Exponentielle" caption 65, "ln" : hint 65, "Logarithme népérien" caption 66, "log10" : hint 66, "Logarithme décimal"
' Boutons 70-76 (Fonctions trigonométriques)
for i% = 70 to 76 button i% left i%, 280 top i%, 216 + (i% - 70) * 32 height i%, 25 width i%, 57 next i%
caption 70, "sin" : hint 70, "Sinus" caption 71, "cos" : hint 71, "Cosinus" caption 72, "tan" : hint 72, "Tangente" caption 73, "asin" : hint 73, "Arc sinus" caption 74, "acos" : hint 74, "Arc cosinus" caption 75, "atan" : hint 75, "Arc tangente" caption 76, "atan2" : hint 76, "atan(y/x)"
' Boutons 80-85 (Fonctions hyperboliques)
for i% = 80 to 85 button i% left i%, 345 top i%, 216 + (i% - 80) * 32 height i%, 25 width i%, 57 next i%
caption 80, "sinh" : hint 80, "Sinus hyperbolique" caption 81, "cosh" : hint 81, "Cosinus hyperbolique" caption 82, "tanh" : hint 82, "Tangente hyperbolique" caption 83, "asinh" : hint 83, "Arc sinus hyperbolique" caption 84, "acosh" : hint 84, "Arc cosinus hyperbolique" caption 85, "atanh" : hint 85, "Arc tangente hyperbolique"
' Boutons 90-95 (Fonctions diverses)
for i% = 90 to 95 button i% left i%, 410 top i%, 216 + (i% - 90) * 32 height i%, 25 width i%, 57 next i%
caption 90, "deg" : hint 90, "Radian -> Degré" caption 91, "rad" : hint 91, "Degré -> Radian" caption 92, "rnd" : hint 92, "Nombre aléatoire dans [0,1)" caption 93, "fact" : hint 93, "Factorielle" caption 94, "gamma" : hint 94, "Fonction Gamma" caption 95, "erf" : hint 95, "Fonction d'erreur"
' Boutons 100-101 (Evaluer / Effacer)
for i% = 100 to 101 button i% top i%, 72 height i%, 25 width i%, 120 next i%
left 100, 175 : caption 100, "Evaluer" left 101, 335 : caption 101, "Effacer" ' ---------------------------------------------- ' Affectation des sous-programmes aux événements ' ----------------------------------------------
' Nombres, parenthèses, retour arrière
label clk20, clk21, clk22, clk23, clk24, clk25, clk26 label clk27, clk28, clk29, clk30, clk31, clk32, clk33
on_click 20, clk20 on_click 21, clk21 on_click 22, clk22 on_click 23, clk23 on_click 24, clk24 on_click 25, clk25 on_click 26, clk26 on_click 27, clk27 on_click 28, clk28 on_click 29, clk29 on_click 30, clk30 on_click 31, clk31 on_click 32, clk32 on_click 33, clk33
' Opérateurs arithmétiques
label clk40, clk41, clk42, clk43, clk44, clk45, clk46
on_click 40, clk40 on_click 41, clk41 on_click 42, clk42 on_click 43, clk43 on_click 44, clk44 on_click 45, clk45 on_click 46, clk46
' Opérateurs logiques
label clk50, clk51, clk52, clk53, clk54, clk55, clk56, clk57
on_click 50, clk50 on_click 51, clk51 on_click 52, clk52 on_click 53, clk53 on_click 54, clk54 on_click 55, clk55 on_click 56, clk56 on_click 57, clk57
' Fonctions standard
label clk60, clk61, clk62, clk63, clk64, clk65, clk66
on_click 60, clk60 on_click 61, clk61 on_click 62, clk62 on_click 63, clk63 on_click 64, clk64 on_click 65, clk65 on_click 66, clk66
' Fonctions trigonométriques
label clk70, clk71, clk72, clk73, clk74, clk75, clk76
on_click 70, clk70 on_click 71, clk71 on_click 72, clk72 on_click 73, clk73 on_click 74, clk74 on_click 75, clk75 on_click 76, clk76
' Fonctions hyperboliques
label clk80, clk81, clk82, clk83, clk84, clk85
on_click 80, clk80 on_click 81, clk81 on_click 82, clk82 on_click 83, clk83 on_click 84, clk84 on_click 85, clk85
' Fonctions diverses
label clk90, clk91, clk92, clk93, clk94, clk95
on_click 90, clk90 on_click 91, clk91 on_click 92, clk92 on_click 93, clk93 on_click 94, clk94 on_click 95, clk95
' Evaluer / Effacer
label clk100, clk101
on_click 100, clk100 on_click 101, clk101
' ------------------------------------------- ' Programme principal ' -------------------------------------------
dll_on "eval.dll" i% = dll_call0("InitFunc")
end
' ------------------------------------------- ' Sous-programmes ' -------------------------------------------
' Nombres
clk20: text 15, text$(15) + "0" return
clk21: text 15, text$(15) + "1" return
clk22: text 15, text$(15) + "2" return
clk23: text 15, text$(15) + "3" return
clk24: text 15, text$(15) + "4" return
clk25: text 15, text$(15) + "5" return
clk26: text 15, text$(15) + "6" return
clk27: text 15, text$(15) + "7" return
clk28: text 15, text$(15) + "8" return
clk29: text 15, text$(15) + "9" return
clk30: text 15, text$(15) + "." return
' Parenthèses
clk31: text 15, text$(15) + "(" return
clk32: text 15, text$(15) + ")" return
' Retour arrière
clk33: text 15, left$(text$(15), len(text$(15)) - 1) return
' Opérateurs arithmétiques
clk40: text 15, text$(15) + " + " return
clk41: text 15, text$(15) + " - " return
clk42: text 15, text$(15) + " * " return
clk43: text 15, text$(15) + " / " return
clk44: text 15, text$(15) + " \ " return
clk45: text 15, text$(15) + " % " return
clk46: text 15, text$(15) + "^" return
' Opérateurs logiques
clk50: text 15, text$(15) + " ! " return
clk51: text 15, text$(15) + " & " return
clk52: text 15, text$(15) + " | " return
clk53: text 15, text$(15) + " $ " return
clk54: text 15, text$(15) + " = " return
clk55: text 15, text$(15) + " @ " return
clk56: text 15, text$(15) + " < " return
clk57: text 15, text$(15) + " > " return
' Fonctions standard
clk60: text 15, text$(15) + "abs( " return
clk61: text 15, text$(15) + "sgn(" return
clk62: text 15, text$(15) + "int(" return
clk63: text 15, text$(15) + "sqrt(" return
clk64: text 15, text$(15) + "exp(" return
clk65: text 15, text$(15) + "ln(" return
clk66: text 15, text$(15) + "log10(" return
' Fonctions trigonométriques
clk70: text 15, text$(15) + "sin( " return
clk71: text 15, text$(15) + "cos(" return
clk72: text 15, text$(15) + "tan(" return
clk73: text 15, text$(15) + "asin(" return
clk74: text 15, text$(15) + "acos(" return
clk75: text 15, text$(15) + "atan(" return
clk76: text 15, text$(15) + "atan2(" return
' Fonctions hyperboliques
clk80: text 15, text$(15) + "sinh( " return
clk81: text 15, text$(15) + "cosh(" return
clk82: text 15, text$(15) + "tanh(" return
clk83: text 15, text$(15) + "asinh(" return
clk84: text 15, text$(15) + "acosh(" return
clk85: text 15, text$(15) + "atanh(" return
' Fonctions diverses
clk90: text 15, text$(15) + "deg( " return
clk91: text 15, text$(15) + "rad(" return
clk92: text 15, text$(15) + "rnd()" return
clk93: text 15, text$(15) + "fact(" return
clk94: text 15, text$(15) + "gamma(" return
clk95: text 15, text$(15) + "erf(" return
' Evaluer
clk100:
variable$ = "A" : value = val(text$(11)) i% = dll_call2("SetVariable", adr(variable$), adr(value))
variable$ = "B" : value = val(text$(12)) i% = dll_call2("SetVariable", adr(variable$), adr(value))
variable$ = "C" : value = val(text$(13)) i% = dll_call2("SetVariable", adr(variable$), adr(value))
variable$ = "D" : value = val(text$(14)) i% = dll_call2("SetVariable", adr(variable$), adr(value))
expression$ = text$(15)
i% = dll_call2("Eval", adr(expression$), adr(result))
text 16, str$(result)
return
' Effacer
clk101: text 15, "" return
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: DLL EVAL : Nouvelle version Sam 8 Jan 2011 - 10:41 | |
| | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: DLL EVAL : Nouvelle version Jeu 13 Jan 2011 - 9:10 | |
| | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: DLL EVAL : Nouvelle version Jeu 13 Jan 2011 - 21:26 | |
| Hallo jean debord,
danke für den Hinweis. Der Rechner ist ok. Frage: Ist das Programm frei und erlaubst du das dies später in mein Programm einbaue ?
Gruss Severin
Salut Jean Debord,
Merci pour l'astuce. L'ordinateur est ok. Question: Si le programme est gratuit et vous permettra l'installation ultérieure blogs dans mon programme?
Message Severin | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: DLL EVAL : Nouvelle version Ven 14 Jan 2011 - 9:17 | |
| Si j'ai bien compris la "traduction" française (je ne connais pas l'allemand donc je mets la réponse en français et en anglais) :
Oui le programme est gratuit et en "open source" donc on peut réutiliser le code dans ses propres programmes, à condition de citer les auteurs évidemment.
Yes the program is free and "open source" so that the source code can be used in your own programs, provided that you cite the original authors of course. | |
| | | Contenu sponsorisé
| Sujet: Re: DLL EVAL : Nouvelle version | |
| |
| | | | DLL EVAL : Nouvelle version | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |