Petite gâterie pédagogique en PureBasic francophone

Partagez votre expérience de PureBasic avec les autres utilisateurs.
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Petite gâterie pédagogique en PureBasic francophone

Message par fweil »

Bon j'ai commis ça. C'est pour montrer une approche de ce qu'est la programmation en évitant d'effrayer les personnes qui veulent étudier le langage sans étudier les langues :)

C'est juste un joke. Mais comme il n'y a pas de rubrique pour les "cas marade", j'ai là mis.

Code : Tout sélectionner

Structure RIEN
EndStructure

Define.RIEN

Macro     Pour :                    For :             EndMacro
Macro     jusque :                  To :              EndMacro
Macro     Suivant :                 Next :            EndMacro
Macro     Si :                      If :              EndMacro
Macro     FinSi :                   EndIf :           EndMacro
Macro     Appel_Mode_Pas_a_pas :    CallDebugger :    EndMacro
Macro     Fin_du_Programme :        End :             EndMacro
Macro     Creer_Tableau :           Dim :             EndMacro
Macro     Afficher_trace :          Debug :           EndMacro
Macro     Cadrer_a_droite :         RSet :            EndMacro
Macro     Nombre_en_texte :         Str :             EndMacro

Taille_Tableau_en_bits.l = 100
Taille_Tableau_en_octets.l = Taille_Tableau_en_bits >> 3
Si Taille_Tableau_en_octets << 3 < Taille_Tableau_en_bits
  Taille_Tableau_en_octets + 1
FinSi
  
Creer_Tableau Mon_Tableau.b(Taille_Tableau_en_octets)

Pour i.l = 0 jusque Taille_Tableau_en_octets
  Mon_Tableau(i) = i
Suivant

BitValue.l

Pour Pointeur_octet.l = 0 jusque Taille_Tableau_en_octets
  Afficher_trace Cadrer_a_droite(Hex(Mon_Tableau(Pointeur_octet), #PB_Byte), 8, "0") + #TAB$ + Cadrer_a_droite(Bin(Mon_Tableau(Pointeur_octet), #PB_Byte), 8, "0")
  Pour Position_bit.l = 0 jusque 7
    !  mov     ecx, dword [a_Mon_Tableau]
    !  add     ecx, dword [v_Pointeur_octet]
    !  mov     edx, dword [v_Position_bit]
    !  mov     ax, word [ecx]
    !  bt      ax, dx
    !  jc      Le_bit_est_a_1
    !  Le_bit_est_a_0:
    !  mov     dword [v_BitValue], 0
    !  jmp     Fin_du_test_de_bit
    !  Le_bit_est_a_1:
    !  mov     dword [v_BitValue], 1
    !  Fin_du_test_de_bit:
    Afficher_trace Nombre_en_texte(Pointeur_octet) + #TAB$ + Nombre_en_texte(Position_bit) + #TAB$ + Nombre_en_texte(BitValue)
  Suivant
Suivant

  Appel_Mode_Pas_a_pas
Fin_du_Programme
Dernière modification par fweil le dim. 23/oct./2016 21:02, modifié 1 fois.
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par falsam »

Hello fweil. Merci pour ce joke ^^

Seulement voila ...... la chute est ratée.
[20:36:34] [COMPILER] Line 52: Syntax error.
Remplacer

Code : Tout sélectionner

Fin_du_Progreamme
par

Code : Tout sélectionner

Fin_du_Programme
PS : Je me demande quand même quelle image tu as des autres utilisateurs de ce forum ...
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par Ollivier »

Falsam a écrit :PS : Je me demande quand même quelle image tu as des autres utilisateurs de ce forum ...
On ne peut pas avoir réellement d'image des "autres utilisateurs" Falsam !
Je suis désolé de philosopher sur ta remarque. Mais je t'assure que je le fais constructivement.

"Je" suis ces autres utilisateurs, "Tu" es ces autres utilisateurs, "Il" est ces autres utilisateurs. Nous formons un groupe avec, chacun ses qualités et ses défauts.
Je suis d'accord avec toi qu'il y a parfois des personnes avec des défauts reprochables, et c'est le but de la modération.

Pour exemple, tu n'as pas encore saisi que, matériellement, il m'est quasi-impossible de tenir une conversation en mp! (par contre, par mail, c'est impeccable) Bon, je ne t'en fais pas un fromage. Car, j'apprécie tes apports et la rigueur que tu te contrains à la présenter au mieux.

Le type d'erreur que fweil a fait et que tu as souligné, c'est le genre d'erreur typique que l'on fait quand on se prend la tête à rédiger un message directement sur l'explorateur, sans avoir forcément le compilateur en route.

Je trouve ta remarque un peu forte, par rapport au travail nécessité.

Imagine : une seule lettre de l'alphabet en trop et "paf!" tu colles un pv, et en public!!! Ce temps et cette énergie, qu'est-ce que je l'aimerais bien...
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par fweil »

@falsam ... merci pour avoir pointé la coquille, j'ai fait l'oeuf ... c'est corrigé.

PS : je ne me fais pas d'image ... j'en fabrique de temps en temps. Je suis également doté d'un fort sens de l'autodérision.

Ce qui est à la fois un plus et un moins sur ce forum, c'est que tout le monde peut y passer et parfois ça donne des trucs super ... et parfois moins. Bon à chacun de faire le tri.

Quoiqu'il en soit, le langage de Fred mérite un peu de dynamisme côté utilisateurs. Quelle que soit la raison qui fait qu'on utilise PureBasic, c'est un langage tout à fait abouti et performant, et c'est l'un des piliers de ma production alimentaire et de loisirs.
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Petite gâterie pédagogique en PureBasic francophone

Message par djes »

Vue la méthode, j'ai hâte de voir, sacrebleu !

Mais pas de compilo avant demain, alors je comprends ollivier puisque je me retrouve souvent sur smartphone et que ce n'est vraiment pas l'idéal pour programmer (et encore, je ne vous explique pas à quoi ressemble un terminal bash sur un écran de 5 pouces)...
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par fweil »

Un terminal bash en 5" est un petit écran chargé d'insultes de bd, on pourrait dire un outil de bashing. Les mécréants pourraient penser qu'il s'agit d'un truc pour dire du mal des autres en se tournant les pouces.

C'est aussi un bijou d'intelligence pour celui qui arrive à s'en servir.

Etant à moitié unixien, je penche pour la deuxième possibilité.
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par Ollivier »

@fweil

Super le pti "a" de (a)rray ! Connaissais pas. C'est dans la doc?
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par fweil »

@Ollivier,

Le a_ en préfixe d'un tableau donne la valeur d'adresse du début de tableau soit a_tableau en assembleur = @tableau() = @tableau(0).

Je sais pas si c'est dans la doc quelque part, mais je pense que c'est écrit à différents endroits sur le forum.

En fait les règles de programmation entre PB et assembleur, si on utilise pas le inline asm qui évite de se prendre la tête, c'est que toutes les variables sont préfixées v_, les pointeurs p_ et les adresses tableaux a_. Il doit y avoir d'autres trucs comme ça à connaître, mais qui peuvent facilement être déduits en générant le code depuis la compilation avec le flag /COMMENTED.

A l'intérieur des procédures, les mêmes préfixes sont utilisablesz, avec un préambule sur le préfixe qui est p.

La variable locale toto dans une procédure est ainsi identifiée en asm avec p.v_toto
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par falsam »

@Ollivier (Le doigt de la justice).
Ollivier a écrit :Je suis désolé de philosopher sur ta remarque.
Moi aussi d'autant plus que tu es loin de philosopher.
Ollivier a écrit :Je trouve ta remarque un peu forte, par rapport au travail nécessité. .... Imagine : une seule lettre de l'alphabet en trop et "paf!" tu colles un pv, et en public!!!
Ou vois tu un procès verbal ?!!! Il ne s'agissait que d'un commentaire sans aucune agression contrairement à toi qui en public (Et oui tu fais la même chose) est en train de me faire un procès d'intention.
Le type d'erreur que fweil a fait et que tu as souligné, c'est le genre d'erreur typique que l'on fait quand on se prend la tête à rédiger un message directement sur l'explorateur, sans avoir forcément le compilateur en route.
Rhooo j'aime ce commentaire ou "que tu as souligné" me montre du doigts accusateur. La moindre des choses est de tester un code avant de le publier.
Ollivier a écrit :Ce temps et cette énergie, qu'est-ce que je l'aimerais bien...
Garde ton énergie pour faire de la méditation par exemple ou du yoga. C'est un bon exutoire à la colère et à l’énergie négative.

@fweil
falsam a écrit :PS : Je me demande quand même quelle image tu as des autres utilisateurs de ce forum ...
fweil a écrit :Je suis également doté d'un fort sens de l'autodérision.
Voila une réponse comme j'aime.
fweil a écrit :le langage de Fred mérite un peu de dynamisme côté utilisateurs.
+1

■ Pour conclure : Un bon sketch est encore plus drôle quand il finit par une chute maladroite. C'est le cas du code de fweil. ^^
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par Ollivier »

@Falsam

En disant "les autres", j'en fais partie. Ce n'est point de la colère que de te dire mon désaccord sur ton expression qui, explicitement, se signe au nom des autres, dont je fais partie.

Si tu n'es point content de cette réaction "publique" de ma part, tu peux retrouver mon mail vieux de deux ans et y apporter une réponse.
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Petite gâterie pédagogique en PureBasic francophone

Message par Zorro »

@Fweil :

je ne veux pas jouer les plombeurs d'ambiance
mais le forum contient une rubrique Asm
http://www.purebasic.fr/french/viewforum.php?f=12

je pense que ce code devrai y etre ;)

mais bon , ce n'est qu'une remarque lié a la logistique
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par falsam »

Zorro enlève ton masque tu pourras mieux décrypter le premier message. :mrgreen: <== Tu l'as bien vu hein?
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Petite gâterie pédagogique en PureBasic francophone

Message par Kwai chang caine »

Fweil a écrit :Bon j'ai commis ça. C'est pour montrer une approche de ce qu'est la programmation en évitant d'effrayer les personnes qui veulent étudier le langage sans étudier les langues
Cool, je viens d'essayer :lol: 8)
En fait au debut j'ai cru que c'etait de la magie....ASMiene 8O
Puis j'ai vu les MACROS... :idea:

D'un autre coté c'est une bonne idée, encore ce week end, le gamin me disait qu'il programmerait bien si ce n'etais pas en anglais
En vrai, il a trouvé cette excuse, pour réserver ses neurones aux jeux sur smartphone :?
Je vais pouvoir lui mettre le nez dedans :mrgreen:
Il va me dire maintenant, qu'il programmerait bien en français, si il fallait pas frapper sur un clavier :? :lol:

Merci FWEIL de cette bonne idée et du partage 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Petite gâterie pédagogique en PureBasic francophone

Message par falsam »

le gamin me disait qu'il programmerait bien si ce n'etais pas en anglais
Allez au boulot. Tu n'as plus qu'à faire des macros pour chacune des fonctionnalités de PureBasic. ^^
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Petite gâterie pédagogique en PureBasic francophone

Message par Kwai chang caine »

C'est vrai ces MACROS, c'est vraiment un truc tres fort 8O
Dans la vraie vie, faut attendre au moins une semaine hors du frigo, pour que ce soit aussi fort :mrgreen:

Et quand j'avais lu, que les MACROS etaient prioritaires sur les NATIVES...(on dirait une explication de Kholanta :D ) et ben je suis encore plus tombé sur le cul 8O
D'un autre coté, c'est pas pour ça que je les utilisent :oops:
Allez au boulot. Tu n'as plus qu'à faire des macros pour chacune des fonctionnalités de PureBasic. ^^
On pourrait demander à GOGOLE :lol:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre