FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
DLL EVAL : Nouvelle version Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
DLL EVAL : Nouvelle version Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
DLL EVAL : Nouvelle version Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
DLL EVAL : Nouvelle version Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
DLL EVAL : Nouvelle version Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
DLL EVAL : Nouvelle version Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
DLL EVAL : Nouvelle version Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
DLL EVAL : Nouvelle version Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
DLL EVAL : Nouvelle version Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
DLL EVAL : Nouvelle version Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
DLL EVAL : Nouvelle version Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
DLL EVAL : Nouvelle version Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
DLL EVAL : Nouvelle version Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
DLL EVAL : Nouvelle version Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
DLL EVAL : Nouvelle version Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 DLL EVAL : Nouvelle version

Aller en bas 
3 participants
AuteurMessage
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyLun 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
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyLun 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) ?
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyMar 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.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyMar 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.
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyMar 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




Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyMer 22 Déc 2010 - 10:49

Bonjour Séverin,

Le principe de ces DLL est expliqué :

- en français sur mon site :

http://www.unilim.fr/pages_perso/jean.debord/panoramic/panoramic.htm

- en anglais dans 2 articles de "Back 2 Basic" :

http://imortisoft.no-ip.org/b2b/?Issue_%232:Using_DLLs_with_PANORAMIC

http://imortisoft.no-ip.org/b2b/?Issue_%233:A_simple_calculator_with_PANORAMIC_and_FreeBASIC

La liste des opérateurs et fonctions de la DLL EVAL se trouve dans le fichier readme.txt qui se trouve dans l'archive eval.zip

----------

Hello Severin,

The principle of these DLL is explained :

- in french, at my web site :

http://www.unilim.fr/pages_perso/jean.debord/panoramic/panoramic.htm

- in english, in 2 articles of "Back 2 Basic" :

http://imortisoft.no-ip.org/b2b/?Issue_%232:Using_DLLs_with_PANORAMIC

http://imortisoft.no-ip.org/b2b/?Issue_%233:A_simple_calculator_with_PANORAMIC_and_FreeBASIC

The list of operators and functions provided by the EVAL DLL is in the file readme.txt which is in eval.zip

Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyJeu 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

Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyJeu 23 Déc 2010 - 10:14

J'avais oublié de mettre l'archive sur le site. Honte sur moi Embarassed

Le lien est désormais rétabli :

http://www.unilim.fr/pages_perso/jean.debord/panoramic/ranmt.zip

----------

I had forgotten to place the archive on the website. Shame on me Embarassed

Now the link is active :

http://www.unilim.fr/pages_perso/jean.debord/panoramic/ranmt.zip

Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyJeu 23 Déc 2010 - 14:43

DANKE .. MERCI..DANKE..MERCI

Severin cheers
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyVen 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
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyMar 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
 
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptySam 8 Jan 2011 - 10:41

La calculatrice, renommée PanoCalc, est maintenant distribuée sous forme d'un programme autonome, disponible en versions française et anglaise :

http://www.unilim.fr/pages_perso/jean.debord/panocalc/panocalc.htm

Les archives contiennent les sources, les exécutables et la documentation en PDF.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyJeu 13 Jan 2011 - 9:10

Un membre du forum FreeBASIC a fait une version de la calculatrice en allemand. Ceci devrait intéresser notre ami Severin Smile

http://www.freebasic-portal.de/porticula/calculator-1219.html
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyJeu 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
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version EmptyVen 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.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Contenu sponsorisé





DLL EVAL : Nouvelle version Empty
MessageSujet: Re: DLL EVAL : Nouvelle version   DLL EVAL : Nouvelle version Empty

Revenir en haut Aller en bas
 
DLL EVAL : Nouvelle version
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Version instantanée V 0.9.29i3 du 30/10/2018
» nouvelle version
» PANORAMIC V 0.9.22 est disponible
» Version instantanée V 0.9.28i19 du 13/06/2018
» Nouvelle version du 12/2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: