Avril 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | Calendrier |
|
| | Compilateur : version de travail disponible | |
|
+7Francis-mr pan59 jean_debord papydall Jicehel mindstorm Jack 11 participants | |
Auteur | Message |
---|
papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Mer 27 Nov 2013 - 17:53 | |
| OK. Merci ça marche et voici ce que j’obtiens | |
| | | jean_debord
Nombre de messages : 1246 Age : 69 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur : version de travail disponible Mer 27 Nov 2013 - 19:14 | |
| Oui, c'est bien le résultat attendu 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 | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Compilateur : version de travail disponible Mer 27 Nov 2013 - 22:37 | |
| bonjour a tous @Jack desolé mais mes programmes 3D ne se compilent pas. Ils ne sont pourtant pas bien compliqué tout marche pourtant avec l'interpreteur c'est peut etre une fause manoeuvre de ma part - erreur.txt:
C:\Program Files\Panoramic Editor V 0.9.24\general.bas(1) error 136: Default types or suffixes are only valid in -lang deprecated or fblite or qb, found ',' in 'dim i,j,k,n,o,v' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(2) error 41: Variable not declared, label in 'label stp' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(3) error 41: Variable not declared, scene3d in 'scene3d 99' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(4) error 41: Variable not declared, full_space in 'full_space 0 : full_space 99 : border_hide 0' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(4) error 10: Expected '=' in 'full_space 0 : full_space 99 : border_hide 0' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(4) error 41: Variable not declared, border_hide in 'full_space 0 : full_space 99 : border_hide 0' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(5) error 3: Expected End-of-Line, found ',' in 'color 99,219,243,165' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(6) error 41: Variable not declared, on_click in 'on_click 99,stp' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(7) error 41: Variable not declared, cam_position in 'cam_position 0,1,10' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(10) error 135: Only valid in -lang deprecated or fblite or qb in '3d_plane 4' C:\Program Files\Panoramic Editor V 0.9.24\general.bas(10) error 123: Too many errors, exiting
- 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 | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Mer 27 Nov 2013 - 23: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 | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Compilateur : version de travail disponible Mer 27 Nov 2013 - 23: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' | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Mer 27 Nov 2013 - 23: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 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 !!! | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 0:09 | |
| cela ne marche pas il reste plein d'erreurs si tu veus tester charge les orbjets dans mon webdav merci | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 0: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 ... | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 1: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. | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 9: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. | |
| | | pan59
Nombre de messages : 367 Age : 66 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Compilateur. Jeu 28 Nov 2013 - 9: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 | |
| | | jean_debord
Nombre de messages : 1246 Age : 69 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 9: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 | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 10: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 3Compilateur ----- > : ç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 - 11:00, édité 1 fois | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 10: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! | |
| | | jean_debord
Nombre de messages : 1246 Age : 69 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 11:05 | |
| Why do you speak english ? La capture, c'est un peu comme un jeu video 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. | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 11: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 | |
| | | jean_debord
Nombre de messages : 1246 Age : 69 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 14: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. | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 16: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
| |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 18: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 ? | |
| | | Invité Invité
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 18: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) |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 19:13 | |
| ou la la 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 | |
| | | Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 21: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 | |
| | | pan59
Nombre de messages : 367 Age : 66 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Compilateur. Jeu 28 Nov 2013 - 22: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. | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 22: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 ». 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 - 1:56, édité 3 fois | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Compilateur : version de travail disponible Jeu 28 Nov 2013 - 22: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 | |
| | | Contenu sponsorisé
| Sujet: Re: Compilateur : version de travail disponible | |
| |
| | | | Compilateur : version de travail disponible | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |