FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» un nouveau editeur panobasic
par Jean Claude Aujourd'hui à 10:18

» Compilateur FBPano
par jean_debord Aujourd'hui à 10:07

» Le compilateur.
par Pedro Alvarez Aujourd'hui à 8:36

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Compilateur : version de travail disponible

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
papydall

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Ven 29 Nov 2013 - 1:53

En compilant le code de mindstorm, message d’erreur List index out of bounds(114)
En mettant la ligne 6 en REM
Code:
on_click 99,stp
La compilation est OK.
En exécutant le programme, la fenêtre s’affiche puis le message suivant :

L’exception Exception logicielle inconnue(0x0eedfade) s’est produite dans l’application à l’emplacement 0x7c812fd3
OK  Annuler

En cliquant sur Annuler, le message suivant s’affiche :
An unhandled win32 exception occured in robot.exe[2748]. Just-In-Time debugging this exception failed with the following error : No installed debugger has Just-In-Time debugging enabled.
Check the documentation index for ‘Just-In-time debugging, errors’ for more information.


Remarque : robot.bas est le nom sous lequel le code est enregistré, d'où le robot.exe dans le message d'erreur.


Dernière édition par papydall le Ven 29 Nov 2013 - 2:16, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Ven 29 Nov 2013 - 2:15

Voici un code qui marche comme il faut.
Code:
dim i,rep$ : rep$ = dir_current$ + "\"
full_space 0:scene3d 1:full_space 1:color 1,100,100,0
caption 0,"<CLICK> pour arrêter"
cam_position 0,0,5:point_position 0,0,0
3d_mesh 1:3d_load_object 1,rep$+"bird.3ds"
3d_position 1,-1,-2,-10:3d_y_rotate 1,90:3d_scale 1,.031,.031,.031 : 3d_x_rotate 1,90
while scancode=0
   3d_z_rotate 1,i:i=i+.25:if i=360 then i=0
end_while
terminate
Ceux qui veulent tester, peuvent télécharger le fichier bird.3ds sur mon webdav
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Compilateur : version de travail disponible   Ven 29 Nov 2013 - 11:32

C'est un peu compliqué tout cela...

Cependant merci a Jack pour le travail fourni qui est considérable.

J'attends de voir car pour l'instant tous mes programmes que j'ai testés ne fonctionnent pas.
Il y a toujours des erreurs.

Je vais donc patienter encore un peu mais effectivement les possibilités vont être élargies en particulier dans le domaine graphique et les calculs...

Merci encore jack !!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 743
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur : version de travail disponible   Ven 29 Nov 2013 - 11:46

Merci pour la nouvelle version Jack Smile

Je suis en train de tester le compilateur avec un programme de tracé de fractales et je butais précisément sur la restriction du nombre de variables !

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 4:49

@pan59

Un coup d’œil rapide sur ton code :  dans l’état actuel du compilateur, ton code ne peut pas être compilé.
Tu utilises
Code:
 sub creer_bouton(param1%, param2%, param3$, param4%, param5%, param6%, param7%)
……
end_sub
Le compilateur actuel ne reconnait pas les variables locales d’après les dires de Jack.
Or les paramètres formels que tu transmets à  la sub sont considérés comme variables locales.
Il n’y aura donc pas de compilation.
Quant à K% is not a valid integer value , je ne vois pas le pourquoi !

Suggestion :
Définis param1%,………….param7% comme variables globales par DIM en dehors de la SUB.
Affecte les valeurs nécessaires à ses variables et appelle la SUB sans lui transmettre les paramètres.
Je pense que ça devrait marcher, sinon, attends une nouvelle version du compilateur qui reconnaitrait les variables et les paramètres  locaux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jean_debord

avatar

Nombre de messages : 743
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 11:50

Il semble que la fonction FRAC ne marche pas. Le programme suivant imprime 0 pour "y" alors qu'il devrait imprimer 0.23456

Code:

dim x, y

x = 1.23456
y = frac(x)

print x
print y

end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

avatar

Nombre de messages : 743
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 12:16

Le programme suivant trace une image fractale. Toutefois, il n'est pas interactif et ne remplace pas les programmes PANOMAND. Il n'est là que pour montrer comment les algorithmes peuvent être codés en Panoramic "pur". Ce programme servira de base à mon quatrième article sur les fractales, prévu pour Janvier. D'ici là, vous pouvez lire le premier article pour avoir des explications sur les formules utilisées.

Code:

' **********************************************************************
' Mandelbrot set : z(n) = z(n-1)^2 + c
' **********************************************************************

dim PicWidth%      : PicWidth%      = 640
dim PicHeight%     : PicHeight%     = 480
dim HalfPicWidth%  : HalfPicWidth%  = PicWidth% / 2
dim HalfPicHeight% : HalfPicHeight% = PicHeight% / 2

dim Ln2   : Ln2   = log(2)
dim Esc   : Esc   = 10000000000  : ' Escape radius
dim Esc2  : Esc2  = Esc * Esc
dim LnEsc : LnEsc = log(Esc)

dim H, S, V, R%, G%, B%          : ' Color parameters

dim x0, y0         : ' Center of picture
dim MaxIter%       : ' Maximum iteration number
dim ZoomFact       : ' Zoom factor
dim DistFact       : ' Conversion factor (Distance estimator --> V)
dim ColorFact      : ' Conversion factor (Continuous dwell --> H, S)
dim AbsColor       : ' abs(ColorFact)
dim ScaleFact      : ' Scale factor (distance between 2 pixels)

dim Nx%, Ny%       : ' Point coordinates (pixels)
dim xt, yt         : ' Point coordinates (algebraic)

dim Iter%          : ' Iteration number
dim zn_x, zn_y     : ' Complex number z(n)
dim dzn_x, dzn_y   : ' Derivative dz(n) / dc


' Variables used internally by the subprograms
dim II%, ZZ, FF, PP, QQ, TT, RR, GG, BB                             : ' HSVtoRGB
dim mod_zn , mod_dzn, ln_mod_zn, Dist, Dwell, D, Q, Angle, Radius   : ' MdbCol
dim x, y, x2, y2, xy, dx, dy, M2

label HSVtoRGB, MdbCol, Mandelbrot


' ----------------------------------------------------------------------
' Object description
' ----------------------------------------------------------------------

' Main window

left    0, 50
top     0, 50
width   0, PicWidth% + 70
height  0, PicHeight% + 120
caption 0, "Mandelbrot set : z(n) = z(n-1)^2 + c"

' Picture

picture 1
left    1, 30
top     1, 40
width   1, PicWidth%
height  1, PicHeight%

2d_target_is 1

' ----------------------------------------------------------------------
' Main program : Elephant valley picture
' ----------------------------------------------------------------------

x0        =  0.26502185290119
y0        =  0.00302941971904756
MaxIter%  =  10000
ZoomFact  =  4000000000
DistFact  = -1
ColorFact = -9

ColorFact = 0.01 * ColorFact
AbsColor  = abs(ColorFact)
ScaleFact = 4 / (PicHeight% * ZoomFact)

for Ny% = 0 to PicHeight% - 1
 yt = y0 - ScaleFact * (Ny% - HalfPicHeight%)
 for Nx% = 0 to PicWidth% - 1
   xt = x0 + ScaleFact * (Nx% - HalfPicWidth%)
   gosub Mandelbrot
   2d_pen_color R%, G%, B%
   2d_point Nx%, Ny%
 next Nx%
next Ny%

end

' ----------------------------------------------------------------------
' Subprograms
' ----------------------------------------------------------------------

HSVtoRGB:
' Conversion HSV --> RGB.
' Input : H, S, V. Output : R%, G%, B%

 if S = 0
   R% = int(V * 255)
   G% = R%
   B% = R%
   return
 end_if

 ZZ  = H / 60
 II% = int(ZZ)
 FF  = ZZ - int(ZZ)
 PP  = V * (1 - S)
 QQ  = V * (1 - S * FF)
 TT  = V * (1 - S * (1 - FF))

 select II%
   case 0
     RR = V  : GG = TT : BB = PP
   case 1
     RR = QQ : GG = V  : BB = PP
   case 2
     RR = PP : GG = V  : BB = TT
   case 3
     RR = PP : GG = QQ : BB = V
   case 4
     RR = TT : GG = PP : BB = V
   case 5
     RR = V  : GG = PP : BB = QQ
 end_select

 R% = int(RR * 255)
 G% = int(GG * 255)
 B% = int(BB * 255)
return

MdbCol:
' Determines the color of a point
' Input : Iter%, zn_x, zn_y, dzn_x, dzn_y
' Output: R%, G%, B%

 mod_zn  = sqr(zn_x * zn_x + zn_y * zn_y)
 mod_dzn = sqr(dzn_x * dzn_x + dzn_y * dzn_y)

 ln_mod_zn = log(mod_zn)

 Dist = 2 * mod_zn * ln_mod_zn / mod_dzn

' Determine Value (V) from Distance estimator (Dist)

 D = log(Dist / ScaleFact) / Ln2 + DistFact

 if D > 0
   V = 1
 else
   if D > -8
     V = 1 + D / 8
   else
     V = 0
   end_if
 end_if

' Determine Hue (H) and Saturation (S) from Continuous dwell

 Dwell = Iter% + log(LnEsc / ln_mod_zn) / Ln2
 Q = log(Dwell) * AbsColor

 if Q < 0.5
   Q = 1 - 1.5 * Q
   Angle = 1 - Q
 else
   Q = 1.5 * Q - 0.5
   Angle = Q
 end_if

 Radius = sqr(Q)

' If ColorFact > 0, darken every other stripe

 if (ColorFact > 0) and (Iter% mod 2 = 1)
   V = 0.85 * V
   Radius = 0.667 * Radius
 end_if

 H = Angle * 10
 H = H - int(H)
 H = H * 360
 
 S = Radius - int(Radius)
 
' Convert HSV to RGB  

 gosub HSVtoRGB
return

Mandelbrot:

 zn_x = 0
 zn_y = 0
 
 dzn_x = 0
 dzn_y = 0
 
 Iter% = 0
 M2 = 0

 while Iter% < MaxIter% and M2 < Esc2
 
   x = zn_x
   y = zn_y

   dx = dzn_x
   dy = dzn_y

   x2 = x * x
   y2 = y * y
   xy = x * y

   zn_x = x2 - y2 + xt
   zn_y = 2 * xy + yt

   dzn_x = 2 * (x * dx - y * dy) + 1
   dzn_y = 2 * (x * dy + y * dx)

   M2 = x2 + y2
   Iter% = Iter% + 1

 end_while
 
 if Iter% = MaxIter%
   R% = 255
   G% = 255
   B% = 255
   return
 end_if

 gosub MdbCol
return
Et voici le résultat :

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 15:22

Salut Jean_Debord.
Beau travail et ça marche,  merci.

REMARQUE : La ligne 175
Code:
 if (ColorFact > 0) and   (Iter% mod 2 = 1)
Cette syntaxe est celle de FreeBasic et non de Panoramic. Laughing 
Le compilateur l’accepte mais l’interpréteur signale une erreur.
En effet, la syntaxe Panoramic de la fonction Mod est MOD(iter%,2) = 1, donc modifier la ligne 175 comme ceci :
Code:
 if (ColorFact > 0) and (mod(iter%,2) = 1)
ou bien
Code:
 if (ColorFact > 0) and (odd(iter%) > 0)
Attention : pour ceux qui veulent tester ce programme sous l’interpréteur :
Lancez le programme, allez tondre votre pelouse (si vous en avez une) ou allez au supermarché faire vos commissions et espérez qu’à votre retour, vous trouveriez que le programme a fini sa besogne ! C’est tellement lent en interprété que l’on ne peut qu’admirer le compilateur !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 17:23

Ca fait un bon test de performances Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 743
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 18:00

@Papydall :

Tu as raison pour la fonction mod. Je vais corriger cela.

Pour l'interpréteur, on peut aussi diminuer la taille de l'image ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 18:09

jean_debord a écrit:
Pour l'interpréteur, on peut aussi diminuer la taille de l'image ...
Mieux vaut pas !Cool 
C’est pour mieux mettre en évidence l’importance du compilateur.king
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 20:47

Surtout si on programme des jeux d'action... Un jour il faudrait que je termine ceux que j'ai commencé ... Mais bon, ce n'est pas le bon moment pour moi pour m'y remettre. Je retesterais bien mon space invaders en compilé et remis aux goûts du jour, barabarian, pacman, le jeu de dames ... Pourquoi est-ce que l'on n'a pas plus de temps pour faire ce que l'on veut !! Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 21:22

Jicehel a écrit:
Pourquoi est-ce que l'on n'a pas plus de temps pour faire ce que l'on veut !!  
Je croyais que seuls les retraités n’avaient pas plus de temps pour faire ce qu’ils veulent puisque la fonction d’un retraité est Full Time Job  
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Compilateur : version de travail disponible   Sam 30 Nov 2013 - 22:12

Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Lun 23 Déc 2013 - 18:18

Voici un code à utiliser avec le compilateur.
Mais si vous tenez à l’essayer avec l’interpréteur, ça risque de vous trouver en pénurie de patience !
Ne maudissez surtout pas les interpréteurs.
Voila vous êtes prévenus.
Code:
dim a,b,sx,sy,ba(1999),bv(1999),bx(1999),by(1999)
dim pi2 : pi2 = 2*acos(-1)
full_space 0 : color 0,0,0,0 : sx = screen_x : sy = screen_y
for b = 0 to 1500
    ba(b) = rnd(1)*pi2 : bv(b) = 5 + rnd(5): bx(b) = rnd(sx): by(b) = rnd(sy)
next b
for a = 1 to 1000
   for b = 0 to 1999
       bx(b) = bx(b) + sin(ba(b)) * bv(b) : by(b) = by(b) + cos(ba(b)) * bv(b)
       2d_pen_color 255,255,255 : 2d_point sx/2 + bx(b)/80, sy/2 + by(b)/80
       2d_pen_color 255,255,0    : 2d_point sx/2 + bx(b)/50, sy/2 + by(b)/50
       2d_pen_color 255,0,0       : 2d_point sx/2 + bx(b)/25, sy/2 + by(b)/25
       2d_pen_color 0,255,0       : 2d_point sx/2 + bx(b)/15, sy/2 + by(b)/15
       2d_pen_color 0,0,255       : 2d_point sx/2 + bx(b)/10, sy/2 + by(b)/10
   next b
next a
caption 0,"Terminé"
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



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

MessageSujet: Re: Compilateur : version de travail disponible   Dim 29 Déc 2013 - 20:31

Indépendamment de la rapidité d'exécution, je suis un peu surpris de voir que les exécutables produits avec le compilateur sont presque aussi volumineux que ceux produits avec l'éditeur (qui contiennent l'interpréteur, là on comprend).
Avec ton exemple papydall: 1,8 M avec l'éditeur, 1,4 M avec le compilateur.

Autre chose (concernant le forum), depuis quelque temps quand je fais Ctrl/clic sur un code du forum (pour le sélectionner et faire ensuite Ctrl/C pour le copier), je ne sélectionne plus seulement le code mais le post tout entier, ce qui est bien gênant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 743
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur : version de travail disponible   Lun 30 Déc 2013 - 10:53

JL35 a écrit:
Indépendamment de la rapidité d'exécution, je suis un peu surpris de voir que les exécutables produits avec le compilateur sont presque aussi volumineux que ceux produits avec l'éditeur (qui contiennent l'interpréteur, là on comprend).

Je pense que c'est lié au fait qu'il y a une DLL panoramic.dll qui est liée statiquement à chaque exécutable (ce qui est un comble pour une DLL, qui par définition est une bibliothèque partagée, donc qui devrait rester séparée des exécutables).

Dans la "lettre au Père Noël" j'ai mis un mesage pour demander de ne pas lier cette DLL.
Espérons que le Père... Jack le lira Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
JL35



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

MessageSujet: Re: Compilateur : version de travail disponible   Lun 30 Déc 2013 - 11:43

Merci jean_debord pour cette précision, effectivement c'est une explication, et c'est vrai que ça semble un peu anormal de devoir trimballer dans chaque exécutable, si peu qu'il fasse et si petit soit-il, tout l'ensemble des ressources panoramic.

Et merci pour ta demande à Jack, on va considérer que pour le moment le compilateur est encore un prototype.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 743
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur : version de travail disponible   Lun 30 Déc 2013 - 12:45

JL35 a écrit:
ça semble un peu anormal de devoir trimballer dans chaque exécutable, si peu qu'il fasse et si petit soit-il, tout l'ensemble des ressources panoramic.

Pas si petit que ça ... La DLL fait tout de même 1,3 mégaoctet !

On peut s'en rendre compte en ouvrant le fichier PANORAMIC_COMPILER_EDITOR.exe dans un archiveur tel que 7-zip
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
JL35



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

MessageSujet: Re: Compilateur : version de travail disponible   Lun 30 Déc 2013 - 20:16

Attends ! Quand je disais ça (si peu qu'il fasse et si petit soit-il) je pensais au programme lui-même, pas aux ressources panoramic !
Par exemple à un programme de 10 lignes de code qui produit un exécutable de plus de 1,4 M !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Compilateur : version de travail disponible   Lun 30 Déc 2013 - 20:23

Voir le top du top, pouvoir choisir d'avoir un programme autonome qui conglomère les DLL utilisées ou de ne garder que l’exécutable lié à une version de la DLL de Panoramic (ce qui inclus une gestion de ces versions de DLL vu que cette DLL doit régulièrement évoluer en fonction des avancés de Jack et des versions de Panoramic)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 5 Jan 2014 - 22:21

J' ai voulu compiler un petit programme
et j' ai eu cela :

Quelqu' un peut il me traduire ce qu' il a voulu me dire ?....

 Laughing

Edit voilà le programme en question :
Code:
' Variables de la tool_bar
dim system$, position_toolbar%, icon_size%,ilb$,chg_hor%, chg_ver%,icon$, after%, hint$
' Variables de la dll
dim KGF$,res%
' Autres variables
dim bouton%,ii%
dim D$,x%,M%,sep%,Lig$,L%
dim s$,hnd%, hnd0%, titre$
' ##############################################################################

' Labels de la tool_bar
label click_toolbar,adapter_container
' Autres labels
label Init,init_list,Selection,Ajouter,Supprimer,Close0
label Init_F100,Couleur104,Enregistrer,Connection
' ##############################################################################

' Initialisation des variables
system$="W7"
position_toolbar%=0
icon_size%=16
chg_hor% =16
chg_ver% =(icon_size%-16)+76
ilb$="C:\Users\Yannick\Desktop\Panoramic\Projet1\MDC.ilb"
KGF$=dir_current$+"\KGF.dll"

' ##############################################################################

' Ouverture de la dll
dll_on KGF$

' ##############################################################################

' Interface

Width 0,250 :height 0,360:top 0,(screen_y-360)/2 :left 0,(screen_x-250)/2
caption 0,"Connect to Mydrive"

edit 1 : hide 1
on_change 1,click_toolbar

dlist 9

container 10

res% = dll_call4("CreateToolbar",handle(0),handle(1),handle(10),position_toolbar%)
res% = dll_call4("ModifyToolbar",7,icon_size%,0,0)
Width 0,250 :height 0,360
gosub adapter_container
res% = dll_call4("ModifyToolbar",8,1,0,0)
res% = dll_call4("ModifyToolbar",2,0,0,0)
hint$ = "Ajouter une adresse"
icon$ = "KGF_44"
res% = dll_call4("AddButtonToToolbar",1,0,adr(hint$),adr(icon$))
hint$ = "Supprimer une adresse"
icon$ = "KGF_62"
res% = dll_call4("AddButtonToToolbar",2,1,adr(hint$),adr(icon$))
hint$ = "Connection à l'adresse sélectionné"
icon$ = "KGF_252"
res% = dll_call4("AddButtonToToolbar",3,2,adr(hint$),adr(icon$))

List 11: Parent 11,10:top 11,5:height 11,(height(10)-7):width 11,width(10)
font_name 11,"arial":font_size 11,10:cursor_point 11
on_click 11,Selection

gosub init

end

' ##############################################################################

Init:
   D$=Dir_current$
   if file_exists(D$+"\Connect.Bdd")=1
      file_load 9,D$+"\Connect.Bdd"
   else
      file_open_write 100,D$+"\Connect.Bdd":file_close 100
      res% = dll_call4("ModifyToolbar",3,3,0,0)
   end_if
   if count(9)>0 :gosub init_list:end_if
return

Init_list:
   clear 11
   if count(9)>0
      for x%=1 to count(9)
         Lig$=item_read$(9,x%)
         sep%=instr(Lig$,";")
         item_add 11,left$(Lig$,sep%-1)
      next x%
      res% = dll_call4("ModifyToolbar",3,3,1,0)
   else
      res% = dll_call4("ModifyToolbar",3,3,0,0)
   end_if
return

Click_Toolbar:
  if text$(1)="-1"
    gosub adapter_container
  else
    bouton%=val(text$(1))
    select bouton%
    case 1
       gosub Ajouter
    case 2
       if ii%>0 :gosub Supprimer:else:message "Veuillez sélectionner un compte .":end_if
    case 3
       if ii%>0 :gosub Connection:else:message "Veuillez sélectionner un compte .":end_if
    end_select
  end_if
return

Adapter_Container:
  select position_toolbar%
    case 0
      top 10,icon_size%+10
      width 10,(width(0)-chg_hor%)
      height 10,(height(0)-chg_ver%)
    case 1
      left 10,icon_size%+12
      width 10,(width(0)-chg_hor%)
      height 10,(height(0)-chg_ver%)
    case 2
      width 10,(width(0)-chg_hor%)
      height 10,(height(0)-chg_ver%)
    case 3
      width 10,(width(0)-chg_hor%)
      height 10,(height(0)-chg_ver%)
  end_select
return

Selection:
   if count(11)>0
      ii%=item_index(11)
   end_if
return

Ajouter:
   if object_exists(100)=1
      Show 100
   else
      form 100:width 100,250:height 100,160
      Font_name 100,"Times new roman":font_size 100,10:caption 100,"Ajouter un compte"
      command_target_is 100
      alpha 101 :top 101,10:left 101,10:caption 101,"Login :"
      edit 103  :top 103,28:left 103,10:width 103,150
      alpha 102 :top 102,50:left 102,10:caption 102,"Mot de passe :"
      edit 104  :top 104,68:left 104,10:on_change 104,couleur104
      button 105:top 105,95:left 105,155:caption 105,"Enregistrer":cursor_point 105
      on_click 105,Enregistrer
   end_if
   gosub Init_F100
return

Init_F100:
   text 103,""
   text 104,"panoramic123":font_color 104,210,210,210
return

couleur104:
   font_color 104,0,0,0
return

Enregistrer:
   item_add 9,trim$(text$(103))+";"+trim$(text$(104))
   file_save 9,D$+"\Connect.Bdd"
   gosub Init_list
   gosub Init_F100
   hide 100
return

Supprimer:
   item_delete 9,ii%
   gosub init_list
return

Connection:
   hide 0
   Execute "http://www.mydrive.ch/login"
   pause 1000
   titre$ = string$(255," ")
   hnd% = dll_call1("GetActiveWindowTitle",adr(titre$))
   if instr(titre$, "Login |" )=0
      show 0
      message "Il faut d'abord cliquer sur [MyDrive] !"
      message "Le titre actuel est: ["+titre$+"]"
    return
   end_if
   s$ = item_index$(11)
   hnd% = dll_call0("GetActiveControl")
   res% = dll_call2("SendStringAsText",hnd%,adr(s$))
   s$ = chr$(9)
   res% = dll_call2("SendStringAsText",hnd%,adr(s$))
   pause 1000
   s$ = item_read$(9,item_index(11))
   sep%=instr(s$,";")
   s$=right$(s$,len(s$)-sep%)
   res% = dll_call2("SendStringAsText",hnd%,adr(s$))
   pause 1000
   s$ = chr$(9)
   res% = dll_call2("SendStringAsText",hnd%,adr(s$))
   res% = dll_call2("SendStringAsText",hnd%,adr(s$))
   res% = dll_call2("SendStringAsText",hnd%,adr(s$))
   s$ = chr$(13)
   res% = dll_call2("SendStringAsText",hnd%,adr(s$))
   pause 1000
   show 0
return

Close0:
   dll_off
return


Dernière édition par ygeronimi le Lun 6 Jan 2014 - 15:34, édité 3 fois (Raison : Modification du code 2)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Dim 5 Jan 2014 - 23:54

Je n'ai pas ce problème, chez moi. Je lance ton programme et il semble marcher, bien que le mot de passe n'est apparemment pas transmis comme il faut. L'identifiant est bien rempli avec la bonne valeur, Le mot de passe aussi est rempli, mais ne semple bas être bon? D'où l'échec au login, mais pas de plantage. Par contre, il y a un plantage lorsque tu cliques sur la poubelle ou sur l'éclair SANS avoir sélectionné une ligne dans la liste - tu devrais y ajouter un test.

Joli exemple pour la toolbar !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 6 Jan 2014 - 4:34

Je fais court, j'écris depuis une tablette 7'' et c'est pas coton quand on a des gros doigts... Laughing 
Ce petit programme s' exécute très bien depuis Editor mais ce message vient quand je demande au compilateur de compiler.... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Compilateur : version de travail disponible   Lun 6 Jan 2014 - 5:35

Salut Ygeronimi.

Je n’ai pas testé ton programme, mais en parcourant le code, je relève que tu as commis une erreur dans la déclaration des variables à la ligne 7
Code:
 dim D$,x%,M%,sep%,L$,L%

En interpréteur ça marche, mais le compilateur n’accepte pas de déclarer deux variables avec le même identificateur.
L$ et L% sont deux variables distinctes pour l’interpréteur, alors que le compilateur (qui est plus strict) considère qu’il s’agit du même identificateur donné à deux variables et ça ne va pas !

Donne un autre nom à l’une des variables et fais un essai pour voir si ça marche.
N’oublie pas qu’on attend ta réponse ! Laughing 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Compilateur : version de travail disponible   

Revenir en haut Aller en bas
 
Compilateur : version de travail disponible
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 3 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» Compilateur : version de travail disponible
» Nouvelle version 8.0A3 disponible
» Version 7.0F8 disponible!
» (RESOLU)Impossible de télécharger Garmin Map Update
» La version 8.0A1 disponible au téléchargement

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC Le compilateur :: Le Compilateur-
Sauter vers: