[BASIC QB64] le topic officiel du meilleur basic au monde ?
+17
65c02
nemokantio
ocin
vingazole
rendomizer
philip
goux.m
Waltersmind
Goufablog
grostonton
chacs
ralphyfr
cammalleri
Leha
F.L
drfloyd
Serial Pixel
21 participants
Page 7 sur 10
Page 7 sur 10 • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
n'avez vous pas remarqué que QB64 comprenait tout mais a l'envers ?
un exemple simple je lui demande d'executer une condition if _sndgetpos musichndle >5 and inkey$="a" then _sndstop musichandle et bien la condition s'execute malgres que _sndgetpos musichndle < a 5 ! est-je oublié que chose ?
un exemple simple je lui demande d'executer une condition if _sndgetpos musichndle >5 and inkey$="a" then _sndstop musichandle et bien la condition s'execute malgres que _sndgetpos musichndle < a 5 ! est-je oublié que chose ?
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
bah oui c'est juste pas possible, tu merdes quelque part
QB64 n'est pas buggé à ce point
QB64 n'est pas buggé à ce point
_______________________________________________________
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
peut-être pas QB64 mais mon eeepc peut être...car en ce qui me concerne j'ai encore toutes mes facultés !
faites l'exemple si dessous vous me dirais si ça marche pour vous...
300 note = _SNDOPEN("BASSD.WAV", "setpos,sync")
350 k$ = INKEY$: PRINT k$
400 IF _SNDGETPOS(note) < 6 AND k$ = "A" THEN _SNDSTOP note
401 IF _SNDGETPOS(note) = 0 AND k$ = "A" THEN _SNDPLAY note
402 IF _KEYDOWN(65) = 0 THEN _SNDSTOP note
500 GOTO 350
explication je veux que la note s'arrete quand sa position est inferieur a 6 seconde et que "A" est appuyé...Alors que le resultat devrait être ça:
300 note = _SNDOPEN("BASSD.WAV", "setpos,sync")
350 k$ = INKEY$: PRINT k$
400 IF _SNDGETPOS(note) > 6 AND k$ = "A" THEN _SNDSTOP note
401 IF _SNDGETPOS(note) = 0 AND k$ = "A" THEN _SNDPLAY note
402 IF _KEYDOWN(65) = 0 THEN _SNDSTOP note
500 GOTO 350
et vous ça fait quoi ?
faites l'exemple si dessous vous me dirais si ça marche pour vous...
300 note = _SNDOPEN("BASSD.WAV", "setpos,sync")
350 k$ = INKEY$: PRINT k$
400 IF _SNDGETPOS(note) < 6 AND k$ = "A" THEN _SNDSTOP note
401 IF _SNDGETPOS(note) = 0 AND k$ = "A" THEN _SNDPLAY note
402 IF _KEYDOWN(65) = 0 THEN _SNDSTOP note
500 GOTO 350
explication je veux que la note s'arrete quand sa position est inferieur a 6 seconde et que "A" est appuyé...Alors que le resultat devrait être ça:
300 note = _SNDOPEN("BASSD.WAV", "setpos,sync")
350 k$ = INKEY$: PRINT k$
400 IF _SNDGETPOS(note) > 6 AND k$ = "A" THEN _SNDSTOP note
401 IF _SNDGETPOS(note) = 0 AND k$ = "A" THEN _SNDPLAY note
402 IF _KEYDOWN(65) = 0 THEN _SNDSTOP note
500 GOTO 350
et vous ça fait quoi ?
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
Normal, avec des if tu dois surement avoir un QB64 anglais, donc tout est inversémusichandle et bien la condition s'execute malgres que _sndgetpos musichndle < a 5 ! est-je oublié que chose ?
Non sérieusement t'aurais pas un ! après le if ??
style : if ! _sndgetpos musichndle > a 5
Invité- Invité
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
Je ne suis pas contre les plaisanteries mais j'aimerai des réponses un peu plus concretes...
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
Peut-être un problème de priorité des opérateurs entre le '<', le '=' et le 'AND' ?
Essaie d'ajouter des parenthèses :
Essaie d'ajouter des parenthèses :
- Code:
400 IF (_SNDGETPOS(note) < 6) AND (k$ = "A") THEN _SNDSTOP note
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
pas besoin de paranthèses,
tu t'es trompé quelque part AILLEURS
verifie que _SNDGETPOS(note) est bien < à 6 en affichant la valeur en permanence à l'ecran durant le jeu.
Forcement qu'il doit etre toujours inferieur à 6 si ca s'execute en permanence !
OU ALORS sinon ligne 402
IF _KEYDOWN(65) = 0 THEN _SNDSTOP note
j'ai un peu oublié le QB64, mais ce n'est pas =1 pour "appuyé" ???? Parce que sinon l'erreur vient de la, et le son s'arrete toujours.
tu t'es trompé quelque part AILLEURS
verifie que _SNDGETPOS(note) est bien < à 6 en affichant la valeur en permanence à l'ecran durant le jeu.
Forcement qu'il doit etre toujours inferieur à 6 si ca s'execute en permanence !
OU ALORS sinon ligne 402
IF _KEYDOWN(65) = 0 THEN _SNDSTOP note
j'ai un peu oublié le QB64, mais ce n'est pas =1 pour "appuyé" ???? Parce que sinon l'erreur vient de la, et le son s'arrete toujours.
_______________________________________________________
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
non ça ne vient pas de la drfloyd ... sinon pour repondre a ta question c'est -1 quand la touche est enfoncé.
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
qb64 est un basic moderne, il traduit les codes en basic en C. avec la vitesse des ordis modernes il vaut mieux programmer de maniere "moderne" pour lui faciliter la conversion et pour eviter les bugs quand le programme tournera
deja, ne pas numeroter les lignes; on n'est pas sur amstrad
a la place de ton goto 350, il faut mettre un DO a 350 et un LOOP a 500
et placer un _limit 50 juste avant. sinon ton programme va tourner à la vitesse de l'enfer
ensuite je te conseille vivement la fonction _keydown pour tes entrées clavier
les anciennes commandes a$=inkey$ m'ont deja fait des bugs dans mes premiers programmes
ensuite, tu verras si ton programme fonctionne ou pas
bon courage
deja, ne pas numeroter les lignes; on n'est pas sur amstrad
a la place de ton goto 350, il faut mettre un DO a 350 et un LOOP a 500
et placer un _limit 50 juste avant. sinon ton programme va tourner à la vitesse de l'enfer
ensuite je te conseille vivement la fonction _keydown pour tes entrées clavier
les anciennes commandes a$=inkey$ m'ont deja fait des bugs dans mes premiers programmes
ensuite, tu verras si ton programme fonctionne ou pas
bon courage
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
J'ai numeroté les ligne pour y voir plus claire mais sinon je pense y venir car il va falloir de la place entre les lignes...bizarrement quand j'utilise _keydown il loupe la touche enfoncée alors qu'un inkey$ il ne le loupe pas ? sinon j'était plutot commodore64 dans le temps. Quelle rivalité entre les deux n'est-ce pas ? Sans parler du standard MSX qui avait pris tout le macher avec amstrad, commodore étant trop vieux pour rivaliser ...le bon vieux temps
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
Bah j'ai donné une piste !!rendomizer a écrit:Je ne suis pas contre les plaisanteries mais j'aimerai des réponses un peu plus concretes...
Non sérieusement t'aurais pas un ! après le if ??
style : if ! _sndgetpos musichndle > a 5
Mais vu ton listing, c'est non
Sinon es tu sur que ce soit cette condition qui merde et pas : k$ = "A" ??
Invité- Invité
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
TOUKO a écrit:Non sérieusement t'aurais pas un ! après le if ??
style : if ! _sndgetpos musichndle > a 5
Mais vu ton listing, c'est non
Le '!' c'est la négation logique en C, en BASIC c'est 'NOT', si mes souvenirs sont exacts
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
Ah ok, je pensais que ça existait en basic aussi, car le !, existe dans bcp de langages, même des shell .Le '!' c'est la négation logique en C, en BASIC c'est 'NOT', si mes souvenirs sont exacts
Invité- Invité
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
sa condition ne merde pas, il y a une erreur de logique ailleurs.
sinon "numéroter les ligne spour y voir plus clair" ???
sinon "numéroter les ligne spour y voir plus clair" ???
_______________________________________________________
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
Déjà il devrait essayer avec 1 seule condition
IF _SNDGETPOS(note) > 6 THEN _SNDSTOP note
Si ça marche tester :
IF _SNDGETPOS(note) k$ = "A" THEN _SNDSTOP note
si ça marche aussi, c'est que c'est le AND qui se fait pas .
Ensuite enlever ça:
IF _SNDGETPOS(note) = 0 AND k$ = "A" THEN _SNDPLAY note
Lancer la musique ou le son et voir si la condition d'arrêt marche .
IF _SNDGETPOS(note) > 6 THEN _SNDSTOP note
Si ça marche tester :
IF _SNDGETPOS(note) k$ = "A" THEN _SNDSTOP note
si ça marche aussi, c'est que c'est le AND qui se fait pas .
Ensuite enlever ça:
IF _SNDGETPOS(note) = 0 AND k$ = "A" THEN _SNDPLAY note
Lancer la musique ou le son et voir si la condition d'arrêt marche .
Invité- Invité
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
drfloyd a écrit:OU ALORS sinon ligne 402
IF _KEYDOWN(65) = 0 THEN _SNDSTOP note
j'ai un peu oublié le QB64, mais ce n'est pas =1 pour "appuyé" ???? Parce que sinon l'erreur vient de la, et le son s'arrete toujours.
Ca me semble bizarre aussi, cette ligne... D'après ce que je comprends, ça effectue le _SNDSTOP quand la touche 'A' (code ASCII =65) est relâchée, donc à moins que tu demandes à l'utilisateur de maintenir la touche enfoncée pour jouer la musique, ça coupera effectivement dès qu'il relâchera le 'A'.
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
merci les gars mais je vais me contenter de mon > qui est l'inverse de ma condition mais bon si ça marche comme ça...j'ai pourtant essaillé des multitude de combinaisons mais il y a que cette formule qui marche !
amicalement sergio
amicalement sergio
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
vingazole a écrit:drfloyd a écrit:OU ALORS sinon ligne 402
IF _KEYDOWN(65) = 0 THEN _SNDSTOP note
j'ai un peu oublié le QB64, mais ce n'est pas =1 pour "appuyé" ???? Parce que sinon l'erreur vient de la, et le son s'arrete toujours.
Ca me semble bizarre aussi, cette ligne... D'après ce que je comprends, ça effectue le _SNDSTOP quand la touche 'A' (code ASCII =65) est relâchée, donc à moins que tu demandes à l'utilisateur de maintenir la touche enfoncée pour jouer la musique, ça coupera effectivement dès qu'il relâchera le 'A'.
oui le probleme est sur cette ligne.
_______________________________________________________
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
t'avais raison drfloyd j'avais merdé en créant un conflit entre <6 et =0 ! logique damned j'ai honte
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
bé oui....
Ta ligne etait bonne, donc le probleme venait forcement d'ailleurs... Avec l'habitude ce genre de blocage tu en rencontreras moins.
Ne jamais accuser une ligne en particulier, il faut voir le probleme dans sa globalité.
Ta ligne etait bonne, donc le probleme venait forcement d'ailleurs... Avec l'habitude ce genre de blocage tu en rencontreras moins.
Ne jamais accuser une ligne en particulier, il faut voir le probleme dans sa globalité.
_______________________________________________________
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
silence radio sur le forum bon j'espere n'avoir offensé personne !
Dernière édition par rendomizer le Dim 24 Mai 2015 - 7:36, édité 2 fois
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
attends tu m'accuses d'avoir des infirmières virtuelles ???!!!
_______________________________________________________
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
ton avatar est tellement réussit que l'on s'y tromperait ! et puis tellement cliché que je me suis interrogé..je me trompe ???!!
amicalement sergio
amicalement sergio
Dernière édition par rendomizer le Lun 18 Mai 2015 - 15:25, édité 1 fois
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
j'ai enfin réussit a enregistrer une serie de notes pris a la volé sur le clavier et a les rejouer en playback, pfffiou ! ce fut pas une mince affaire ... l'objectif est presque atteint !
Dernière édition par rendomizer le Dim 17 Mai 2015 - 13:50, édité 1 fois
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
Y a t'il quelqu'un qui connait SFLM et l'usage du micro ? j'ai essayé dans tous les sens les programmes du wiki mais le compileur plante a chaque fois
voici le lien ou j'ai trouvé ça: http://weeklyqbasicandqb64lesson.smfforfree.com/index.php?topic=223.0
voici le lien ou j'ai trouvé ça: http://weeklyqbasicandqb64lesson.smfforfree.com/index.php?topic=223.0
Dernière édition par rendomizer le Sam 30 Mai 2015 - 21:30, édité 1 fois
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
rien
Dernière édition par rendomizer le Mer 22 Nov 2017 - 12:44, édité 1 fois
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
C'est passionnant de lire et relire les topics de ce QB64 et la narration et digne d'un roman "serial pixel"... j'aimerai que ce topic reprenne vie et que l'on ce donne des idées pour développer. pour ma pare j'ai fait un sequencer de base avec 4 pistes et 6 instruments j'ai mis 1 moi a le faire (long,court...) je ne sais pas mais j'y est mis tout ce que je sais en basic et une aide certaine de F.L encore merci pour ce forum qui me donne le gout de programmer. voici ici mon homebrew avec le fichier .bas pour le consulter et en discuter.
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
Je me demande si le QB64 peut reconnaitre un clavier midi externe? si quelqu'un sait ...
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
désole, je n'ai pa sla réponse,
Il est vrai que le topic du QB64 est un peu mort en ce moment
Je suis passé sur Blitz
Vetea sur BEX
Dub s'est attaqué à BEX aussi
Il est vrai que le topic du QB64 est un peu mort en ce moment
Je suis passé sur Blitz
Vetea sur BEX
Dub s'est attaqué à BEX aussi
_______________________________________________________
Re: [BASIC QB64] le topic officiel du meilleur basic au monde ?
demande sur le forum de qb64, tu auras tes reponses (en anglais)
Page 7 sur 10 • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Sujets similaires
» [BLITZ BASIC] le topic officiel du meilleur basic au monde ?
» PURE BASIC - Le Topic officiel
» X11 Basic (GFA Basic style)
» LE MEILLEUR BASIC 8 BITS
» Développer du homebrew en langage basic aujourd'hui... c'est possible
» PURE BASIC - Le Topic officiel
» X11 Basic (GFA Basic style)
» LE MEILLEUR BASIC 8 BITS
» Développer du homebrew en langage basic aujourd'hui... c'est possible
Page 7 sur 10
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum