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.
Ma 1ère DLL Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Ma 1ère DLL Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Ma 1ère DLL Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Ma 1ère DLL Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Ma 1ère DLL Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Ma 1ère DLL Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Ma 1ère DLL Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Ma 1ère DLL Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Ma 1ère DLL Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Ma 1ère DLL Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Ma 1ère DLL Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Ma 1ère DLL Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Ma 1ère DLL Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Ma 1ère DLL Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Ma 1ère DLL 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 :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 Ma 1ère DLL

Aller en bas 
+2
Klaus
papydall
6 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 1:44

Salut tout le monde.

Pour reprendre l’expression de ygeronimi, ça y est : j’ai « pondu » ma 1ere DLL.
D’abord j’ai essayé de l’écrire en DELPHI 6 que je venais de télécharger récemment, mais ça n’a pas marché (j’y reviendrais surement), alors j’ai tenté en Free basic et j’ai REUSSI !

La DLL proprement dite s’appelle atn2 et permet de calculer la fonction atn2(x, y) qui n’est pas définie en PANORAMIC.
Atn2(x, y) calcule l’Arc Tangente de y/x en tenant compte des signes de Y et de X.
Elle est différente de la fonction atn(x) qui est présente en PANORAMIC.

En plus de son utilité pratique (du point de vue mathématique), cette DLL a été, pour moi, un bon exercice de programmation.
Voici le code en Free basic
Code:

' DLL atn2 en FreeBasic par Papydall
' calcul l'ArcTangente(y/x) en tenant compte des signes de X et de Y.
' Le résultat (en radians) appartient à l'un des 4 quadrants.
' compilez cette DLL ainsi :
' fbc atn2.bas -dll



extern "Windows-MS"

  function atn2(byref x as double, byref y as double,byref resultat as double) as integer export
' Atn2 - Arc tangente de Y/X
' arc tangente de Y/X -->  retourne les valeurs dans les 4 quadrants en radians
    dim pi as double
    dim result as double
    pi = 4*atn(1)
    If x = 0 then
    result = Sgn(y) * pi/2
    Else
    If x > 0 then
        result = Atn(y / x)
        Else
        if x < 0 and y = 0 then
          result = atn(y / x) - sgn(x) * pi
        else
        result = Atn(y / x) + Sgn(y) * pi
        end if
    End if
  end if
 resultat = result
 
 return resultat

end function


  end extern
compilez cette DLL ainsi :
fbc atn2.bas –dll
et voici comment on l’utilise en PANORAMIC
Code:

dim x,y,resultat ,i%,pi
pi = 4*atn(1)
x = int(rnd(100)-50) : y = int(rnd(100)-50)
dll_on "atn2.dll"
  x = int(rnd(100)-50) : y = int(rnd(100)-50)
  i% = dll_call3("atn2",adr(x),adr(y),adr(resultat))
  print "atn2(";x;",";y;") = ";resultat ;" radians = ";resultat*180/pi;" dégrés"
dll_off


Pour ceux qui ne peuvent pas compiler la DLL, vous pouver la télécharger à partir de mon WEBDEV , dans le repertoire Mes DLL
www.mydrive.ch
username : panoramicien@papydall_panoramic
password: panoramic123




Dernière édition par papydall le Sam 7 Juil 2012 - 17:58, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 1:49

Bravo ! Voilà une porte ouverte sur le monde magique des DLL, et je suis certain que tu ne la refermeras pas de si tôt !

T as chosi Frebasic, et c'est un bon choix, vu que Panoramic est appelé à se marier avec ce langage. Mais au fond, Delphi ou n'importe quel autre langage capable de produire des DLLs est utilisable: C, C++, Fortran, etc.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 2:03

Je n’ai jamais écrit de programme en DELPHI, mais je programmais en Turbo Pascal.
J’ai récemment téléchargé DELPHI 6, et comme il a la même syntaxe que Pascal ( ?), j’ai essayé de coder la DLL en question mais je n’ais pas arrivé à la compiler. D’ailleurs, j’ai juste survolé la documentation ; ma ça viendra.

Je me mettrais à l’école de DELPHI, quand j’aurais un peu plus de temps libre. study study study
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ma 1ère DLL Empty
MessageSujet: re   Ma 1ère DLL EmptySam 7 Juil 2012 - 2:36

Bravo !

cheers cheers cheers cheers


Un nouveau Dlleur est né !!!!
bon ben il ne me reste plus qu'à prendre des cours de freebasic.... Laughing
dire que je croyais en avoir fini avec l'école......
lol! lol! lol!
Revenir en haut Aller en bas
jean_debord

jean_debord


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

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 9:54

Voici une solution possible en Delphi :
Code:

library atn2;

const
  PiDiv2 = Pi / 2.0 ;
   
function ArcTan2(var Y, X, Atn2 : Double) : Integer; stdcall;
var
  Theta : Double;
begin
  if X = 0.0 then
    if Y = 0.0 then
      Atn2 := 0.0
    else if Y > 0.0 then
      Atn2 := PiDiv2
    else
      Atn2 := - PiDiv2
  else
    begin
      { 4th/1st quadrant -Pi/2..Pi/2 }
      Theta := ArcTan(Y / X);

      { 2nd/3rd quadrants }
      if X < 0.0 then
        if Y >= 0.0 then
          Theta := Theta + Pi  { 2nd quadrant:  Pi/2..Pi }
        else
          Theta := Theta - Pi;  { 3rd quadrant: -Pi..-Pi/2 }
      Atn2 := Theta;
    end;
  Result := 0; 
end;

exports
  ArcTan2;
 
end. 

Sauvegarder sous atn2.dpr puis compiler par :
Code:

dcc32 atn2.dpr

Exemple d'appel en Panoramic :
Code:

dim x, y, a, res%

x = 2
y = 1

dll_on "atn2.dll"

res% = dll_call3("ArcTan2", adr(y), adr(x), adr(a))

dll_off

print a
print atn(0.5)

end

Note : FreeBASIC a déjà la fonction ATAN2. On peut donc l'appeler directement.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 10:41

Merci jean-debord pour ton intervention.

J’ai voulu juste voir comment on écrit une DLL. La 1ère idée qui m’est venue était atn2.
Je savais que cette fonction existe en Free Basic, mais j’ai voulu la coder moi-même pour voir le comment de la chose.

D’abord, je l’ai codée en Delphi (à peu près comme ton code). Comme je ne connaissais pas bien Delphi (mais je sais comment coder en Pascal) et n’ayant pas pris la peine de lire la documentation pour savoir comment on compile une DLL, je ne suis pas allé plus loin.
Alors je me suis rabattu sur Free Basic.
Le but ultime pour moi n’étais pas l’importance de la DLL en soit, mais le comment faire.

Je reprendrais cette DLL ou peut-être une autre, en Delphi, et je la compilerais comme tu m’as indiqué.
Merci pour le tuyau.

@ygeronimi

Tant qu’on respire, on ne finit jamais avec l’école.
Alors remets toi à l’école et amuse-toi bien.
Peu importe quelle école, l’essentiel c’est de continuer à apprendre et on n’en finit jamais.
Ce n’est pas beau ça ?

A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 11:22

Hourra !
J’ai réalisé ma DLL atn2 en DELPHI.

@jean-debord
Pour la compilation :
En lançant dcc32, une fenêtre furtive apparait puis plus rien.
J’ai compilé ma DLL par Projet Compiler atn2 et ça M A R C H E !!!
Laughing Very Happy Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ma 1ère DLL Empty
MessageSujet: re   Ma 1ère DLL EmptySam 7 Juil 2012 - 13:43

@papydall

Je vais avoir besoin d'un prof..... Laughing Laughing Laughing
Revenir en haut Aller en bas
jean_debord

jean_debord


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

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 16:39

papydall a écrit:
:
En lançant dcc32, une fenêtre furtive apparait puis plus rien.

Il faut probablement ajouter le chemin du compilateur dcc32.exe dans le PATH, ou bien spécifier le chemin complet sur la ligne de commande.

On peut bien sûr compiler depuis l'IDE, comme tu l'as fait.

En tout cas bravo et bonne continuation avec les DLL Smile
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 17:52

@jean_debord

Merci pour tes encouragements Very Happy

@ygeronimi

Ton meilleur prof et ami c’est Google ! Idea
Il te fournirait une quantité d’informations telle qu’une simple vie humaine est trop courte pour en venir à bout ! Smile
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
demenvil

demenvil


Nombre de messages : 171
Age : 34
Localisation : France Marseille
Date d'inscription : 30/06/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 18:15

Super pour ta première DLL ! Smile

J'aimerai également en faire pour pas mal de besoin persos, pour pallier au limites de panoramic Smile

Revenir en haut Aller en bas
http://www.newsd3v.com
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ma 1ère DLL Empty
MessageSujet: re   Ma 1ère DLL EmptySam 7 Juil 2012 - 18:28

google...google....
heu...c'est pas toujours mon copain

90% c'est de l'anglais ( je te fais pas un dessin pour comprendre le langage technique ) affraid
8% sont des gens qui parlent d'eux à la troisième personne et faut avoir fait les hautes écoles pour suivre study scratch
reste 2% coincés à 1235698711658 ème page , celle que tu n'atteins jamais parceque tu fais un roupillon sur le clavier avant d'y être arrivé Sleep

enfin bref , je vais aller pleurer 5 minutes sur google lol!
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptySam 7 Juil 2012 - 19:08

Ygeronimi, ne soit pas trop attristé si tu n’as pas trouvé ton bonheur chez Google.
Dis ce que tu cherches à apprendre et je te fournirais, moi ou quelqu’un d’autre, des liens vers des cours de tous genres et en FRANÇAIS.
Moi aussi je ne suis pas doué in English, mais je me débrouille.

Surtout ne pleure pas sur Google : souvent il est mon ami. Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ma 1ère DLL Empty
MessageSujet: re   Ma 1ère DLL EmptySam 7 Juil 2012 - 20:04

C'est tout bête:

la structuration
les mots clé et leur avec def et eciture
en gros un Panoramic mais avec les mots du langage freebasic lol! lol!


Ce qui fait la force de Panoramic c'est la pédagogie de Jack ( sans oublier tous ceux qui nous aident régulièrement )
Revenir en haut Aller en bas
jean_debord

jean_debord


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

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyDim 8 Juil 2012 - 8:06

ygeronimi a écrit:
Ce qui fait la force de Panoramic c'est la pédagogie de Jack ( sans oublier tous ceux qui nous aident régulièrement )
Tout à fait d'accord, mais tu peux aussi consulter la documentation de FreeBASIC en français :

http://www.sarmardar.nl/FreeBASIC/Freebasic_french.zip
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyDim 8 Juil 2012 - 12:41

@jean_debord

Merci pour le lien.
C’est une précieuse aide aussi bien pour les néophytes que pour les chevronnés.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ma 1ère DLL Empty
MessageSujet: re   Ma 1ère DLL EmptyDim 8 Juil 2012 - 22:41

@jean debord

Merci à toi pour ce lien...je vais me mettre à la lecture study Laughing
Revenir en haut Aller en bas
demenvil

demenvil


Nombre de messages : 171
Age : 34
Localisation : France Marseille
Date d'inscription : 30/06/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyDim 8 Juil 2012 - 22:52

Un petit merci également Wink
Revenir en haut Aller en bas
http://www.newsd3v.com
ambroise




Nombre de messages : 264
Localisation : Haute-Savoie
Date d'inscription : 29/04/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyLun 9 Juil 2012 - 15:02

jean_debord a écrit:

Tout à fait d'accord, mais tu peux aussi consulter la documentation de FreeBASIC en français :

http://www.sarmardar.nl/FreeBASIC/Freebasic_french.zip

Merci pour ce lien... Je vais potasser...

Une question : Peut-on créer en Freebasic des programmes en mode graphique (avec fenêtres, boutons, menus, etc. comme Panoramic) ? Je ne vois aucune utilisation du mode fenêtré dans les exemples fournis avec le programme.
Revenir en haut Aller en bas
http://genealogie.cwebh.org/index.html
jean_debord

jean_debord


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

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyLun 9 Juil 2012 - 16:37

ambroise a écrit:

Une question : Peut-on créer en Freebasic des programmes en mode graphique (avec fenêtres, boutons, menus, etc. comme Panoramic) ? Je ne vois aucune utilisation du mode fenêtré dans les exemples fournis avec le programme.
C'est possible, mais beaucoup plus difficile qu'en Panoramic puisqu'il faut appeler directement les fonctions de l'API Windows. Il y a des exemples dans le dossier examples\Windows de l'installation FreeBASIC.

D'où l'intérêt du prochain Panoramic : il écrira lui-même le programme FB à partir du code Panoramic.

Jack en a donné un exemple ici :

https://panoramic.1fr1.net/t2268-utilisation-de-panoramicdll-avec-freebasic

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




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ma 1ère DLL Empty
MessageSujet: re   Ma 1ère DLL EmptyLun 9 Juil 2012 - 19:31

J'ai un peu potassé hier soir et certaines mises en forme me rappelle le python
par lequel j'ai essayé de débuté puis laissé tombé avec son évolution qui a compliqué
le chmilblick notamment l'emploi de certaines bibliothèques graphiques.
mais bon, ca commence à venir, enfin je crois.... Laughing
Revenir en haut Aller en bas
ambroise




Nombre de messages : 264
Localisation : Haute-Savoie
Date d'inscription : 29/04/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyLun 9 Juil 2012 - 19:33

@jean_debord

Merci pour ces infos.
Revenir en haut Aller en bas
http://genealogie.cwebh.org/index.html
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyMar 10 Juil 2012 - 1:50

Je crois que je commence à tenir le fil de DLLs.

Je suis en train d’écrire une DLL qui devrait contenir plusieurs fonctions trigonométriques qui ne sont pas définies dans PANORAMIC.
Ma DLL comporte actuellement 6 fonctions (que j’ai testées avec PANORAMIC : elles fonctionnent correctement) et il me reste encore une douzaine pour être complet.
Quand ça sera finalisé, je la posterais sur le Forum.
Cette DLL ne sera pas d’un usage pour tout le monde (puisqu’elle est dédiée aux mathématiques), mais elle pourra servir à quelqu’un d’autre que moi.
En plus, elle me permet d’être un tout petit peu moins incompétent en la matière !

Le langage choisi pour le codage est DELPHI 6 dans lequel je me trouve moins dépaysé puisque je codais, dans le temps, en PASCAL et que la syntaxe de DELPI est très proche de celle du PASCAL OBJET.

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyMar 10 Juil 2012 - 1:54

Bienvenu dans le club très restreint des développeurs de DLL en Delphi !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL EmptyMar 10 Juil 2012 - 2:05

Tu restes le maitre sans concurrent dans ce domaine !

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Ma 1ère DLL Empty
MessageSujet: Re: Ma 1ère DLL   Ma 1ère DLL Empty

Revenir en haut Aller en bas
 
Ma 1ère DLL
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

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: