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   Mer 27 Nov 2013 - 19:53

OK. Merci
ça marche et voici ce que j’obtiens

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   Mer 27 Nov 2013 - 21:14

Oui, c'est bien le résultat attendu Smile

Cela montre que l'on peut utiliser des fonctions de FreeBasic directement dans le programme Panoramic, sans passer par des DLL

Certes, la procédure est un peu lourde pour le moment, mais Jack va certainement nous simplifier cela Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Compilateur : version de travail disponible   Jeu 28 Nov 2013 - 0:37

bonjour a tous
@Jack
desolé mais mes programmes 3D ne se compilent pas.
Ils ne sont pourtant pas bien compliqué Embarassed 
tout marche pourtant avec l'interpreteur
c'est peut etre une fause manoeuvre de ma part
erreur.txt:
 

Code:
dim i,j,k,n,o,v
label stp
scene3d 99
full_space 0 :  full_space 99  : border_hide 0
color 99,219,243,165
on_click 99,stp
cam_position 0,1,10


3d_plane 4
3d_scale 4,1,1,1
3d_x_rotate 4,90
3d_y_position 4,-0.6
rem 3d_load_texture 4,"herbe2.JPG"
3d_u_tile 4,400
3d_v_tile 4,400
3d_color 4,0,150,23


' creation du robot general

3d_mesh 5
3d_load_object 5,"corpskin.3ds"
3d_collision_as_faces 5
3D_scale 5,0.2,0.2,0.2
3d_position 5,0,0.2,0
3d_z_rotate 5,90
3D_load_texture 5,"skincorps.bmp"
3d_x_rotate 5,0


3d_mesh 6
3d_load_object 6,"teteskin.3ds"
3d_color 6,250,150,0
3D_scale 6,0.2,0.2,0.2
3d_position 6,0,1.6,0
3d_load_texture 6,"skintete.bmp"
rem 3d_chain 6,5
3d_y_rotate 6,0
3d_X_rotate 6,90
rem creation bras droit
3d_mesh 7
3d_load_object 7,"braskin.3ds"
rem 3d_chain 7,5
3D_scale 7,0.2,0.2,0.2
3D_z_rotate 7,88
3d_position 7,-0.63,1,0
3D_y_rotate 7,200
3d_x_rotate 7,0
3D_load_texture 7,"skinbrasd.bmp"

rem creation bras gauche
3d_mesh 8
3d_load_object 8,"braskin.3ds"
rem 3d_chain 8,5
3d_color 8,250,150,34
3d_position 8,0,0,1.3
3D_scale 8,0.2,0.2,0.2
3D_z_rotate 8,92
3d_position 8,0.63,1,0
3d_y_rotate 8,180
3d_x_rotate 8,0
3d_load_texture 8,"skinbrasg.bmp"
rem creation jambe droite
3d_mesh 9
3d_load_object 9,"braskin.3ds"
rem 3d_chain 9,5
3d_color 9,51,102,46
3d_position 9,-0.22,-0.2,0
3D_scale 9,0.2,0.2,0.2
3D_z_rotate 9,88
3d_y_rotate 9,180
3d_load_texture 9,"skinjambe.bmp"
3d_x_rotate 9,180
rem creation jambe gauche
3d_mesh 10
3d_load_object 10,"braskin.3ds"
rem 3d_chain 10,5
3d_color 10,86,76,47
3d_position 10,0.20,-0.2,0
3D_scale 10,0.2,0.2,0.2
3D_z_rotate 10,92
3d_y_rotate 10,180
3d_load_texture 10,"skinjambe.bmp"
3d_x_rotate 10,180

3d_cube 11,0.1:3d_chain 11,5 :3d_scale 11,0.5,0.5,0.5
3d_cube 12,0.1:3d_chain 12,6 :3d_scale 12,0.5,0.5,0.5
3d_cube 13,0.1:3d_chain 13,7 :3d_scale 13,0.5,0.5,0.5
3d_cube 14,0.1:3d_chain 14,8 :3d_scale 14,0.5,0.5,0.5
3d_cube 15,0.1:3d_chain 15,9 :3d_scale 15,0.5,0.5,0.5
3d_cube 16,0.1:3d_chain 16,10:3d_scale 16,0.5,0.5,0.5




for i=180 to 800
o=30 :if i>400 then o=0 :if i>500 then o=330
3d_y_rotate 11,o
3d_y_rotate 12,o
3d_y_rotate 13,o
3d_y_rotate 14,o
3d_y_rotate 15,o
3d_y_rotate 16,o
j=i/20
k=j+180
3d_y_rotate 9,(187+(30*cos(j)))
3d_y_rotate 10,(187+(30*cos(k)))
3d_y_rotate 7,(175+(30*cos(j)))
3d_y_rotate 8,(175+(30*cos(k)))
pause 10
v=50
3d_move 11,(v/4000)
3d_move 12,(v/4000)
3d_move 13,(v/4000)
3d_move 14,(v/4000)
3d_move 15,(v/4000)
3d_move 16,(v/4000)


next i

terminate

end



stp:
terminate





merci
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   Jeu 28 Nov 2013 - 1:30

Salut mindstorm
C’est peut-être à cause de le ligne 6
Code:
 on_click 99,stp
Mets cette ligne en REM, je pense que ça marchera
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Compilateur : version de travail disponible   Jeu 28 Nov 2013 - 1:43

bonsoir papydall
etrange , j'ai mis dans le spoiler le fichier des erreurs et elles sont nombreuses.Regarde c'est vraiment etrange.
malheureusement je ne comprend pas encore ce vocabulaire.
par exemple:
Default types or suffixes are only valid in -lang deprecated or fblite or qb, found ',' in 'dim i,j,k,n,o,v'
pale 
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   Jeu 28 Nov 2013 - 1:50

Hé oui, c’est bien connu avec les compilateurs  :  une seule erreur de rien de tout peut parfois déclencher une avalanche de message d’erreurs !
Mais as-tu testé en REMant Laughing  la ligne 6 ?

EDIT
Chez moi, si je compile ton code, j’obtient le message List index out of bounds(115).
Si je mets la ligne 6 en REM, la compilation est OK, quant à l’exécution, j’obtient un message d’erreur. Je pense que c’est normal puisque je ne dispose pas des OBJECT ni de TEXTURE à loader !!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Compilateur : version de travail disponible   Jeu 28 Nov 2013 - 2:09

cela ne marche pas
il reste plein d'erreurs
si tu veus tester charge les orbjets dans mon webdav
merci
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   Jeu 28 Nov 2013 - 2:15

En mettant la ligne 6 en REM la compilation est OK.
Pour l'exécution, la page s'affiche mais rien n'apparait  et quelques instant après on sort du programme : c’est la cause de TERMINATE.
J’ai mis TERMINATE en REM et j’ai recompilé et exécuté : Le robot s’affiche, se fige et … Plantage ! J’ai dû recourir au gestionnaire de tâche pour en sortir.


EDIT : Non ce n’est pas un plantage mais je n’arrive pas à sortir du programme puisque j’ai inhibé le ON_CLICK et que le BORDER_HIDE est actif.
J’ai supprimé BORDER_HIDE (pour pouvoir sortir avec la croix rouge) et j’ai recompilé (évidemment après avoir enregistré la modification) .
A l’exécution, je ne vois pas le robot se mouvoir, mais seule sa position finale.

Conclusion :
Le ON_CLICK empêche la compilation.
A l’exécution on ne voit pas les mouvements du robot mais seulement sa position finale. Est-ce dû à la vitesse de l’exécution ? Il serait peut-être nécessaire de ralentir le programme en plaçant des WAIT quelque chose aux bons endroits.
A approfondir !

RE EDIT : J'ai indiqué les chemins complets dans les lignes 3D_LOAD ...
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   Jeu 28 Nov 2013 - 3:54

Après quelques tests avec 3D… je constate :
3D_LOAD_TEXTURE provoque une erreur de compilation.
Aucune animation n’est visualisée avec 3D_POSITION …, 3D_X_ROTATE …, 3D_Y_ROTATE …., 3D_Z_ROTATE.
Seule la dernière image dans la dernière position est visualisée.
J’ai essayé de mettre un peu partout des WAIT mais sans résultat à part le ralentissement de l’exécution.


Autres constatations : Il s’agit vraiment d’une version très, très limitée.
Mon intention est loin de la sous estimer, mais je souhaite participer et apporter mes constatations.

Une simple déclaration DIM t(198) provoque à la compilation l’erreur : (39) Allowed capacity of array exeeced.
DIM t(197) est accepté.
DIM t(100) , v(97) : (39) Allowed capacity of array exeeced.

Et pour quelques variables de plus, on obtient : More variables than allowed number.

Je comprends parfaitement qu’il s’agit d’une version alpha mais elle est assez limitée pour pouvoir faire des essais fiables.
ça nous a donné une bonne impression mais on attends la suite.
De toutes les façons rien ne presse et une fois de plus merci Jack.
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   Jeu 28 Nov 2013 - 11:26

Bonjour tout le monde.

Une petite astuce :
Si,  lorsque vous voulez compiler un code et que ça semble coincé (le curseur de la souris se transforme en sablier) et aucun message est visible à l’écran  et bien sûr vous ne savez que faire, en réalité le système a affiché un message d’erreur mais sa fenêtre est invisible.
Pour la rendre visible, minimisez la fenêtre de COMPILER_EDITOR et vous verrez le message.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
pan59

avatar

Nombre de messages : 367
Age : 60
Localisation : Wattignies
Date d'inscription : 16/10/2011

MessageSujet: Compilateur.   Jeu 28 Nov 2013 - 11:44

Bonjour.

Le code suivant provoque l'erreur: k% is not a valid integer value !

Je ne comprends pas pourquoi, d'autant plus que ce code est valide avec l'interpréteur.

Merci de votre aide.


Code:
dim boite_dialogue_visible%, false%, form7_creee%, hauteur_boite%, hauteur_ecran%, hnd%, k%, largeur_boite%, largeur_ecran%, res%, sens_traduction_texte$, true%, zz99%
false%=0
true%=1
dim sens_traduction$(15)

sens_traduction$(1)="français -> espagnol"
sens_traduction$(2)="espagnol -> français"
sens_traduction$(3)="français -> allemand"
sens_traduction$(4)="allemand -> français"
sens_traduction$(5)="français -> polonais"
sens_traduction$(6)="polonais -> français"
sens_traduction$(7)="français -> anglais"
sens_traduction$(8)="anglais -> français"
sens_traduction$(9)="français -> italien"
sens_traduction$(10)="italien -> français"
sens_traduction$(11)="français -> néerlandais"
sens_traduction$(12)="néerlandais -> français"
sens_traduction$(13)="français -> portugais"
sens_traduction$(14)="portugais -> français"

label valider_dialogue7, valider_sens_traduction

dll_on "kgf.dll"

' Préchargement des drapeaux.
for k%=1 to 7
    res%=k%+470
    picture res%
    left res%,-300
    width res%,100
    height res%,70
    stretch_on res%

    file_load res%,"images\"+trim$(mid$("espagne        allemagne      pologne        grande_bretagne italie          pays_bas        portugal      ",k%*16-15,15))+"2.bmp"
next k%

creer_dialogue7()

dll_off

end

sub creer_dialogue7()

    if form7_creee%=true%
      show 7
          else
      form 7
    end_if

    largeur_ecran%=screen_x
    hauteur_ecran%=screen_y

    largeur_boite%=590
    hauteur_boite%=750

    boite_dialogue_visible%=true%

    ' Cacher les boutons de réduction, agrandissement et fermeture.
    hnd% = handle(7)
    res% = DLL_call2("SetMinimizeMaximize",hnd%,0)
    res% = DLL_call2("SetCloseBox",hnd%,0)

    left 7,(largeur_ecran%-largeur_boite%)/2
    top 7,(hauteur_ecran%-hauteur_boite%)/2
    width 7,largeur_boite%
    height 7,hauteur_boite%

    caption 7,"Choix du sens de traduction."

    for k%=1 to 14
        res%=k%+450

        if form7_creee%=false% then option res%
        parent res%,7
        mark_off res%
        caption res%,sens_traduction$(k%)
        font_size res%,12
        font_bold res%

        if mod(k%,2)=1
          zz99%=0
          font_color res%,255,0,200
          left res%,20
              else
          zz99%=-45
          font_color res%,45,0,255
          left res%,360
        end_if

        top res%,k%*45+zz99%
        width res%,200
        height res%,20

        on_click res%,valider_sens_traduction
    next k%

    if form7_creee%=false%
      for k%=1 to 7
          res%=k%+470
          parent res%,7
          left res%,largeur_boite%/2-50
          top res%,k%*90-70
          width res%,100
          height res%,70
      next k%

      creer_bouton(478,7,"OK",largeur_boite%/2-50,hauteur_boite%-80,100,30)
      font_size 478,12
      font_bold 478
    end_if

    on_click 478,valider_dialogue7

    form7_creee%=true%

end_sub

valider_sens_traduction:
  ' N° du dernier objet cliqué.
  sens_traduction_texte$=caption$(number_click)
return

valider_dialogue7:
  boite_dialogue_visible%=false%
  hide 7
return

sub creer_bouton(param1%, param2%, param3$, param4%, param5%, param6%, param7%)
    button param1%
    if param2%>0 then parent param1%,param2%
    caption param1%,param3$
    left param1%,param4%
    top param1%,param5%
    width param1%,param6%
    height param1%,param7%
end_sub
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   Jeu 28 Nov 2013 - 11:58

papydall a écrit:
Une simple déclaration DIM t(198) provoque à la compilation l’erreur : (39) Allowed capacity of array exeeced.
DIM t(197) est accepté.
DIM t(100) , v(97) : (39) Allowed capacity of array exeeced.
Le programme suivant passe très bien :

Code:

dim t(10), v(10), i%

for i% = 1 to 10
 t(i%) = i%
 v(i%) = 2 * i%
next i%

print t(10)
print v(10)

end
En revanche, si l'on remplace "10" par "100" cela ne marche plus !

Solution : "capturer" le code FreeBasic généré par le premier programme, faire la modification dans ce code et le passer à COMPILER.exe.

Code:

#include"MemoryModule.bi"
#include"incfile.bi"
IncFile(DLLdata,"panoramic.dll")
#lang "fblite"
option gosub
#include once"windows.bi"
dim shared _handl as HWND
dim shared _library as HMEMORYMODULE
_library = MemoryLoadLibrary(DLLdata)
dim shared pc_init as sub stdcall _
(byval operand1 as handle)
pc_init=MemoryGetProcAddress(_library,"pc_init")
dim shared pc_close as sub
pc_close=MemoryGetProcAddress(_library,"pc_close")
DIM SHARED V_T(100) AS DOUBLE
DIM SHARED V_V(100) AS DOUBLE
DIM SHARED V_I AS INTEGER
dim shared pc_print_number as sub stdcall _
(byval P1 as double)
pc_print_number=MemoryGetProcAddress(_library,"pc_print_number")
declare function WinMain _
(byval _hInstance as HINSTANCE,_
byval _hPrevInstance as HINSTANCE,_
byval _szCmdLine as string,_
byval _iCmdShow as integer)as integer
end WinMain(GetModuleHandle(null),null,Command(),SW_NORMAL)
function WndProc _
(byval _hWnd as HWND,_
byval _wMsg as UINT,_
byval _wParam as WPARAM,_
byval _lParam as LPARAM)as LRESULT
function=0
select case(_wMsg)
case WM_CREATE
exit function
case WM_DESTROY
pc_close()
sleep 200
MemoryFreeLibrary(_library)
PostQuitMessage(0)
exit function
end select
function=DefWindowProc(_hWnd,_wMsg,_wParam,_lParam)
end function
function WinMain (byval _hInstance as HINSTANCE,_
byval _hPrevInstance as HINSTANCE,_
byval _szCmdLine as string,_
byval _iCmdShow as integer)as integer
dim _wMsg as MSG
dim _wcls as WNDCLASS
dim _hWnd as HWND
function=0
with _wcls
.style=CS_HREDRAW or CS_VREDRAW
.lpfnWndProc=@WndProc
.cbClsExtra=0
.cbWndExtra=0
.hInstance=_hInstance
.hIcon=LoadIcon(NULL,IDI_APPLICATION)
.hCursor=LoadCursor(NULL,IDC_ARROW)
.hbrBackground=GetStockObject(WHITE_BRUSH)
.lpszMenuName=NULL
.lpszClassName=@"HelloWin"
end with
if(RegisterClass(@_wcls)=FALSE)then
MessageBox(null,"Failed to register _wcls","Error",MB_ICONERROR)
exit function
end if
_hWnd = CreateWindowEx(0,_
@"HelloWin",_
"PANORAMIC",_
WS_OVERLAPPEDWINDOW,_
10,_
10,_
200,_
100,_
NULL,_
NULL,_
_hInstance,_
NULL)
_handl=_hWnd
UpdateWindow(_hWnd)
pc_init(_hWnd)
sleep 100
'-------------------------------------------------------------------------------
' SOURCE
'-------------------------------------------------------------------------------
FOR V_I=1 TO 100
V_T(V_I)=V_I
V_V(V_I)=2*V_I
NEXT V_I
pc_print_number(V_T(100))
pc_print_number(V_V(100))
goto _end
_end:
while(GetMessage(@_wMsg,NULL,0,0)<>FALSE)
TranslateMessage(@_wMsg)
DispatchMessage(@_wMsg)
wend
function=_wMsg.wParam
end function
Donc, le problème vient de la traduction Panoramic --> FB, pas de la compilation.

Note : l'instruction " dim t(10) " de Panoramic est traduite par " DIM SHARED V_T(11) AS DOUBLE ". Je ne vois pas l'intérêt d'avoir un élément supplémentaire scratch
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   Jeu 28 Nov 2013 - 12:26

Des bonnes surprises avec le compilateur.
Regardez ce code

Code:
dim a%,b%,c%
b% = 2 : c% = 5
if a% = b% = c%   then message "ok" : else : message "ko"
Si vous tentez d’exécuter ce code sous l’interpréteur vous aurez droit au message d’erreur suivant : (33)Not correct logical expression : Line 3, car PANORAMIC interprété ne reconnait pas des telles expressions logiques contrairement à d’autres langages où ceci est permis.
Si vous compilez et exécutez  le code ça passe bien car Freebasic reconnait ce type d’expressions.
ça c’est très intéressant.

Code:
dim a$,b$
a$ = "Bonjour" : b$ = "Bonsoir"
if a$ < b$ then message "Vrai" : else : message "Faux"
Interpréteur ---- > : (33)Not correct logical expression : Line 3
Compilateur ----- > : ça passe et s’exécute correctement

Code:
dim a%,b%,c% , x
a% = 5 : b% = 10 : c% = 20
if a% < b% < c% then message "OK" : else : message "KO"
x = c% > a% < b%
if x then message "vrai" : else : message "faux"
ça passe!

J’en déduis que PANORAMIC_COMPILER en se basant sur le compilateur Freebasic nous apportera bien d’autres bonnes surprises.
Les exemples ci-haut mentionnés apportent une vraie souplesse de programmation et il y en aura sûrement d’autres !
Bravo et merci jack.


Dernière édition par papydall le Jeu 28 Nov 2013 - 13:00, é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   Jeu 28 Nov 2013 - 12:33

Bonjour Jean
How do I have to make "to capture" the code FB?

Tu veux bien me répondre in french car my english is limited!Laughing
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   Jeu 28 Nov 2013 - 13:05

Why do you speak english ? Smile

La capture, c'est un peu comme un jeu video Smile

Il faut se placer, avec l'explorateur Windows, dans le répertoire du compilateur et pointer le fichier .bas à compiler.

Puis, lancer la compilation et attendre que la taille du fichier .bas ait augmenté : cela signifie qu'il a été traduit en FB. On peut alors cliquer dessus pour l'ouvrir dans un éditeur p. ex.

Il y a sûrement plus simple, mais c'est tout ce que j'ai trouvé pour le moment !

Le mieux serait que Jack nous fasse une option pour empêcher l'effacement automatique du fichier FB.
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   Jeu 28 Nov 2013 - 13:09

Merci Jean, je vais essayer comme tu l’as expliqué.
Que penses-tu des surprises que j’ai évoquées ?

Edit : Mission accomplie! J'y suis arrivé, merci Jean
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   Jeu 28 Nov 2013 - 16:53

Ce sont effectivement de bonnes surprises que tu as signalées, Papydall !

En voici une autre : le moins unaire, qui ne passait pas avec l'interpréteur mais qui passe avec le compilateur !

Code:

dim x, y

x = 2
y = - x

print y

end
C'est bien la syntaxe de FreeBasic qui est reconnue ici.
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   Jeu 28 Nov 2013 - 18:33

Et les bonnes surprises continuent avec les expressions logiques qui permettent une programmation élégantes !


Code:
 dim true,false

false = 0 : true = not(false)
print true : print false
if true then message "Vrai" : else : message "Faux"
if not(true) then message "Vrai" : else : message "Faux"
Compilation et exécution : OK.

Essayez ce code
Code:
 dim annee, bissextille
' Essayez l'une puis l'autre valeur
 annee = 2013
' annee = 2012
bissextille = (mod(annee,400) = 0) or (mod(annee,4) = 0) and (mod(annee,100) <> 0)
 if bissextille
   message str$(annee) + " est bissextille"
 else
   message str$(annee) + " est Non bissextile"
 end_if
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
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   Jeu 28 Nov 2013 - 20:04

Bonnes surprises ? Peut-être... Cela laisse tout de même perplexe.

Si j'avais voulu utiliser FreeBasic, je l'aurais fait depuis le début. La syntaxe Panoramic est ce qu'elle est, telle qu'elle est documentée par Jack. Et c'est très bien ainsi. C'est un clone simple de Basic, clair et facile à comprendre.

FreeBasic est beaucoup plus complexe, et est plus proche d'autres clones de Basic, tels que Visual Basic. J'utilise également VisualBAsic V4 qui est un abandonware et disponible gratuitement. IDE complet, avec tous les outils souhaitables, etc.

Mais mon choix s'est porté sur Panoramic, surtout à cause de sa simplicité et facilité de mise en oeuvre. Et là, ce que tu laisses entendre, Papydall, on est en train de glisser vers autre chose.

Je pense qu'il serait bien que Jack précise son point de vue. Est-ce une évolution voulue de Panoramic, avec la documentation qui suivra ? Est-ce un effet secondaire, non prévu, de la compilation par le compilateur FreeBasic ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Compilateur : version de travail disponible   Jeu 28 Nov 2013 - 20:18

Bonjour,
Que cela permette d'avoir des apports ne me dérange pas, si Panoramic ne change pas sa méthode. Le script de Panoramic n'a rien à voir avec celui de fb, et sur ce dernier je bloque.

J'ai repris le dernier code de Papydall. Tel qu'il est fait cela marche. J'ai voulu ajouté un teste sur mid$ pour voir si le 3ème paramètre pouvait être optionnel et sur instr également.  J'ai retiré instr car ça ne marchait pas. Mais avec mid$ en remettant la syntaxe de panoramic, j'ai des erreurs. C'était juste un essai car je suis pris.
Code:
 dim annee, bissextille  ,a$,b$
' Essayez l'une puis l'autre valeur
 annee = 2013
' annee = 2012
bissextille = (mod(annee,400) = 0) or (mod(annee,4) = 0) and (mod(annee,100) <> 0)
 if bissextille
   message str$(annee) + " est bissextille"
 else
   message str$(annee) + " est Non bissextile"
 end_if
 
 a$ = "je regarde le temps passé, le dernier jour arrive"
 message mid$(a$,3,5)
Revenir en haut Aller en bas
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Compilateur : version de travail disponible   Jeu 28 Nov 2013 - 21:13

ou la la Very Happy 
c'est un peut trop pour moi
je commençais juste a piger quelque chose .
bref j'attendrai le temps qu il faudra
merci jack et merci a tous
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

Nombre de messages : 1738
Date d'inscription : 28/05/2007

MessageSujet: Re: Compilateur : version de travail disponible   Jeu 28 Nov 2013 - 23:41

Je viens de mettre à disposition une nouvelle version du compilateur.
Elle est "complète": il n'y a plus aucune restriction sur le nombre de variables, d'objets systèmes, d'objets 3D ou de sprites.

Le bug sur string$ est corrigé.
Il y a une visualisation forcée après chaque commande 3D : la 3D est maintenant pleinement utilisable.
L'ergonomie a été un peu améliorée quand des erreurs de syntaxe sont détectées.

Les "améliorations" que vous avez constatées (moins unaire, conditions logiques, boucle for, ...) sont en fait des effets de bord dus à un minimum de vérification avant la traduction du source Panoramic en source Freebasic. Ne comptez pas trop là-dessus car l'utilisation de Freebasic a été voulue par facilité et par soucis d'avoir rapidement un compilateur exploitable. Il existe une autre version du compilateur, moins avancée, qui utilise une traduction vers le C et qui donne elle-aussi satisfaction. J'ai aussi envisagé une traduction vers le Pascal. La version définitive utilisera peut-être une traduction vers le C, ou vers le Pascal, et peut-être pas vers le Freebasic...

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
pan59

avatar

Nombre de messages : 367
Age : 60
Localisation : Wattignies
Date d'inscription : 16/10/2011

MessageSujet: Compilateur.   Ven 29 Nov 2013 - 0:10

Bonsoir.

Je viens d'installer la nouvelle version du compilateur.

Et j'obtiens toujours le même message d'erreur que plus haut:

K% is not a valid integer value !!

Merci de votre aide.
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   Ven 29 Nov 2013 - 0:43

Jack a écrit:
La version définitive utilisera peut-être une traduction vers le C, ou vers le Pascal, et peut-être pas vers le Freebasic...
Personnellement je préfère Pascal que je connais suffisamment bien, mais je ne demande pas « des chaussures à mes pieds ». Embarassed 



Je viens de télécharger la nouvelle version du compilateur.

La fonction MID$ n’est pas reconnue par le compilateur
Code:
dim a$,b$
a$ = "Salut tout le monde"
b$ = mid$(a$,7,4)
message b$
Ce code est enregistré sous test17.bas.
Voici le message d’erreur :

test17.bas(88) error 67: Array not dimensioned, before '('
V_B=*pf_MIDd(V_A,7,4)
            ^


Dernière édition par papydall le Sam 30 Nov 2013 - 3:56, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Compilateur : version de travail disponible   Ven 29 Nov 2013 - 0:44

bonsoir jack
j'obtiens:
"list index out of bouds " (pardons pour l'anglais)
j'ai pourtant tenu compte des remarques de papydall
rien de grave ça avance
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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 2 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: