Forum Liberty Basic France
• Index
Bonjour à toute la communautés,
Je suis, comme dit précédemment, un débutant. J'ai des bonnes bases en Ti basic mais en "Just basci" c'' est pas encote ça ^^.
Mes question sont les suivantes
-Sur le modèle de :Getkey en Ti basic comment contrôler une entré sur une touche ? (Autre que input)
-comment définir la taille de la console ?
Merci d'avance de vos réponses !
Pierre
Edité par pmp Le 06/03/2016 à 11h16
Je suis, comme dit précédemment, un débutant. J'ai des bonnes bases en Ti basic mais en "Just basci" c'' est pas encote ça ^^.
Mes question sont les suivantes
-Sur le modèle de :Getkey en Ti basic comment contrôler une entré sur une touche ? (Autre que input)
-comment définir la taille de la console ?
Merci d'avance de vos réponses !
Pierre
Edité par pmp Le 06/03/2016 à 11h16
Salut pmp et bienvenue chez les fous
Pour le clavier, il faut oeuvrer en mode graphique (graphicbox ou graphic window)
(input étant réservé à la console) (d'après ce que j'ai compris)
Avec: #w, "when characterInput [sousprog]" on teste le clavier
A l'appui d'une touche, ça branche à: [sousprog]
[sousprog]
Et dans le sous prog, on a le caractère de la touche dans la variable: Inkey$ (qui est un mot clé)
Pour la taille de la console, c'est le 4eme icône de la barre d'outil de l'éditeur en partant de la droite (préférences)
Je mets ce truc dans lequel il faut frapper une touche, puis cliquer gauche dans la fenêtre
Code VB :
Pour le clavier, il faut oeuvrer en mode graphique (graphicbox ou graphic window)
(input étant réservé à la console) (d'après ce que j'ai compris)
Avec: #w, "when characterInput [sousprog]" on teste le clavier
A l'appui d'une touche, ça branche à: [sousprog]
[sousprog]
Et dans le sous prog, on a le caractère de la touche dans la variable: Inkey$ (qui est un mot clé)
Pour la taille de la console, c'est le 4eme icône de la barre d'outil de l'éditeur en partant de la droite (préférences)
Je mets ce truc dans lequel il faut frapper une touche, puis cliquer gauche dans la fenêtre
Code VB :
NOMAINWIN WindowWidth=500 WindowHeight=400 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) open "In graph" for graphics AS #w print #w, "trapclose [quit]" #w, "down" #w, "fill black" #w, "setfocus" #w "when characterInput [letter]" #w "when leftButtonDown [yes]" yes=1 wait [letter] a$=a$+Inkey$ 'méfiance au I majuscule sinon ça marche pas eff=eff+10 'pour chaque lettre ajoutée on ajoute 10 pour l'effacement wait 'a$ contient toutes les lettres entrées [yes] #w, "place ";oldmX;" ";oldmY 'on positionne à l'ancien emplacement #w, "color red; backcolor black" 'on efface l'ancien texte #w, "boxfilled ";oldmX+oldeff;" ";oldmY-20 mX=int(MouseX):mY=int(MouseY)' on stocke la position souris oldmX=mX:oldmY=mY 'on mémorise la position print text("yellow","black",mX,mY,a$) 'on affiche le texte a$="":oldeff=eff:eff=0 'on vide a$:on mémorise la longueur d'effacement et on remets à 0 #w, "flush" ' pour que la fenetre soit rafrachie... ' ...aprés avoir été couverte ou réduite wait Function text(col$,bak$,x,y,msg$) '------fonction d'affichage de textes #w, "font Comic_sans_ms 12" 'on déclare une police et une taille #w, "color ";col$;" ; backcolor ";bak$ #w,"Place ";x;" ";y;";|";msg$ End Function [quit] CLOSE #w END
____________________
Roro
Roro
Merci beaucoup Roland de cette réponse si rapide et si complète.
Mais alors pourquoi quand je fais cela sa ne marche pas ?
NOMAINWIN
WindowWidth=500
WindowHeight=400
UpperLeftX=INT((DisplayWidth-WindowWidth)/2)
UpperLeftY=INT((DisplayHeight-WindowHeight)/2)
open "Fenêtre" for graphics AS #w
[début]
#w "when characterInput [A]"
wait
[A]
Print #w, Inkey$
goto [début]
Edité par pmp Le 16/02/2016 à 11h50
Mais alors pourquoi quand je fais cela sa ne marche pas ?
NOMAINWIN
WindowWidth=500
WindowHeight=400
UpperLeftX=INT((DisplayWidth-WindowWidth)/2)
UpperLeftY=INT((DisplayHeight-WindowHeight)/2)
open "Fenêtre" for graphics AS #w
[début]
#w "when characterInput [A]"
wait
[A]
Print #w, Inkey$
goto [début]
Edité par pmp Le 16/02/2016 à 11h50
Ah, je crois que je grille Roland sur ce coup là ^^
Bonjour pmp, et bonjour Roland,
Dans une fenetre graphics il faut "\" avant la chaine à afficher. Si tu dois afficher un caractère "\", alors commence la chaîne par "|" (barre verticale).
Code VB :
Tu fais une erreur dans ton raisonnement : on ne travaille pas comme ça avec les fenêtres.
On a la fenêtre proprement dite, qui commence avec l'instruction "open "nom de la fenetre" etc...
On trouve ensuite les instructions qui brancheront sur les sous-programmes, comme ton characterInput
Tu as oublié l'instruction "trapclose" et son sous-programme, qui te permettent de quitter le programme correctement avec le gadget de fermeture de la fenêtre
et on termine avec un "wait", qui demande probablement à l'ordi d'attendre qu'on clique quelque part pour bouger
Il n'y a pas besoin de mettre une étiquette "début" et d'y retourner avec un goto. Evite les accents, ça passe pas toujours.
Tu as écrit : (pour afficher un listing basic dans le forum, on l'encadre entre les balises code=VB et /code, chacune entre crochets )
Code VB :
Voici ton programme écrit selon ce que j'ai compris des normes depuis que je fais du JB :
Code VB :
Un dernier truc : la première frappe n'apparait pas dans la fenêtre. Je suppose qu'elle est masquée par la barre de titre, c'est le fonctionnement normal.
Edité par Christophe Le 16/02/2016 à 18h43
Bonjour pmp, et bonjour Roland,
Dans une fenetre graphics il faut "\" avant la chaine à afficher. Si tu dois afficher un caractère "\", alors commence la chaîne par "|" (barre verticale).
Code VB :
print #w,"\blabla" print #w,"\"+"blabla"
Tu fais une erreur dans ton raisonnement : on ne travaille pas comme ça avec les fenêtres.
On a la fenêtre proprement dite, qui commence avec l'instruction "open "nom de la fenetre" etc...
On trouve ensuite les instructions qui brancheront sur les sous-programmes, comme ton characterInput
Tu as oublié l'instruction "trapclose" et son sous-programme, qui te permettent de quitter le programme correctement avec le gadget de fermeture de la fenêtre
et on termine avec un "wait", qui demande probablement à l'ordi d'attendre qu'on clique quelque part pour bouger
Il n'y a pas besoin de mettre une étiquette "début" et d'y retourner avec un goto. Evite les accents, ça passe pas toujours.
Tu as écrit : (pour afficher un listing basic dans le forum, on l'encadre entre les balises code=VB et /code, chacune entre crochets )
Code VB :
NOMAINWIN WindowWidth=500 WindowHeight=400 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) open "Fenêtre" for graphics AS #w [début] #w "when characterInput [A]" wait [A] Print #w, Inkey$ goto [début]
Voici ton programme écrit selon ce que j'ai compris des normes depuis que je fais du JB :
Code VB :
NOMAINWIN WindowWidth=500 WindowHeight=400 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) open "Fenêtre" for graphics AS #w print #w, "setfocus" 'la fenêtre a le focus, sinon il faudrait le lui donner 'en cliquant dessus #w "when characterInput [A]" 'quand on appuie sur une touche on va à [A] #w, "trapclose [quit]" 'quand le gadget de fermeture de la fenêtre est cliqué, on va à [quit] wait end [A] Print #w, "\"+ Inkey$ 'dans une fenetre graphics il faut "\" avant la chaine à afficher wait [quit] close #w end
Un dernier truc : la première frappe n'apparait pas dans la fenêtre. Je suppose qu'elle est masquée par la barre de titre, c'est le fonctionnement normal.
Edité par Christophe Le 16/02/2016 à 18h43
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Il faut d'abord mettre la phrase dans une variable (chaine) et ensuite l'envoyer à l'affichage
Dans l'exemple, si la touche n'est pas: "Enter"(code 13), on stocke les caractères ^(key$) dans var$
L' exemple
Tu tape des touches qui s'affichent au fur et à mesure (espacement à régler (x=x+15)
Et à l'appui d'Enter, la phrase entière s'affiche plus bas et en rouge
Code VB :
Dans l'exemple, si la touche n'est pas: "Enter"(code 13), on stocke les caractères ^(key$) dans var$
L' exemple
Tu tape des touches qui s'affichent au fur et à mesure (espacement à régler (x=x+15)
Et à l'appui d'Enter, la phrase entière s'affiche plus bas et en rouge
Code VB :
NOMAINWIN WindowWidth = 280 WindowHeight = 460 UpperLeftX = (DisplayWidth-WindowWidth)-200 UpperLeftY = 20 ' (DisplayHeight-WindowHeight) ' BUTTON #w.go, "Change", [go], UL, 10, 50, 60, 20 GRAPHICBOX #w.m 0, 0, 280, 460 OPEN "Help" FOR window_nf AS #w #w, "TRAPCLOSE [closeHelp]" #w.m , "down" x=20: y=50 [ret] #w.m, "setfocus" #w.m, "when characterInput [fetch]" wait [fetch] 'a character was typed! key$ = Inkey$ if asc(key$)=13 then #w.m, "color red;backcolor white" #w.m, "place ";"10";" ";"100";" ;|";var$ 'affichage phrase end if var$=var$+key$ #w.m, "place ";x;" ";y;" ;|";key$ 'affichage lettres x=x+15 goto [ret] wait [closeHelp] CLOSE #w END
____________________
Roro
Roro
Mmm je commence a comprend le raisonnement, j'ai suivit votre démarche et marche 
Code VB :
Comment trouver Les codes touches du clavier en basic, sur google image je ne trouve pas ..
Je voudrait faire e sorte que lorsque que l'on presse la bar d'espace sa fasse un espace et lorsque l'on presse La touche Del que sa surprime une caractère
Edité par pmp Le 18/02/2016 à 12h28

Code VB :
NOMAINWIN WindowWidth=500 WindowHeight=400 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) open "Fenêtre" for graphics AS #w GRAPHICBOX #w.m 0, 0, 280, 460 print #w, "setfocus" x=20: y=50 [DEBUT] #w "when characterInput [A]" #w, "TRAPCLOSE [closeHelp]" wait [A] Key$=Inkey$ if asc(key$)=13 then print #w, "place ";"10";" ";"100";" ;|";a$ end if a$=a$+Inkey$ print #w, "place ";x;" ";y;" ;|";Key$ x=x+15 goto [DEBUT] [closeHelp] CLOSE #w END
Comment trouver Les codes touches du clavier en basic, sur google image je ne trouve pas ..
Je voudrait faire e sorte que lorsque que l'on presse la bar d'espace sa fasse un espace et lorsque l'on presse La touche Del que sa surprime une caractère
Edité par pmp Le 18/02/2016 à 12h28
J'ai modifié l'exemple précédent pour qu'il affiche en haut les codes ASCII des touches sollicitées
Il y a des '§§§§§§§§§§§§§§§§§§§§§§§ en com des lignes ajoutées ou modifiées (largeur fenêtre)
la barre d'espace, c'est: 32
Code VB :
EDIT: Pour le "Del", mes yeux horrifiés ont vu apparaître un zéro et un 8
Il faut je pense décortiquer le code avec du left$(chaine, N); du mid$(cahine, x, N)) et du right$(chaine, N)
Ce qui est bizarre, c'est que le zéro et le 8 ont l'air d'êtres séparés; mais par quoi ?
That's the question...
Il y a des '§§§§§§§§§§§§§§§§§§§§§§§ en com des lignes ajoutées ou modifiées (largeur fenêtre)
la barre d'espace, c'est: 32
Code VB :
NOMAINWIN WindowWidth = 800 '§§§§§§§§§§§§§§§§§§§§§§ WindowHeight = 460 UpperLeftX = (DisplayWidth-WindowWidth)-200 UpperLeftY = 20 ' (DisplayHeight-WindowHeight) ' BUTTON #w.go, "Change", [go], UL, 10, 50, 60, 20 GRAPHICBOX #w.m 0, 0, 780, 460 '§§§§§§§§§§§§§§§§§§ OPEN "Help" FOR window_nf AS #w #w, "TRAPCLOSE [closeHelp]" #w.m , "down" x=20: y=80 xx=10 '§§§§§§§§§§§§§§§§§§§§§ [ret] #w.m, "setfocus" #w.m, "when characterInput [fetch]" wait [fetch] 'a character was typed! key$ = Inkey$ if asc(key$)=13 then #w.m, "color red;backcolor white" #w.m, "place ";"10";" ";"120";" ;|";var$ 'affichage phrase end if var$=var$+key$ #w.m, "place ";x;" ";y;" ;|";key$ 'affichage lettres #w.m, "place ";xx;" ";40;" ;|";asc(key$); "..." '§§§§§§§§§§§§§§§ x=x+15: xx=xx+40 '§§§§§§§§§§§§§§§§§§§§§§§§§§ goto [ret] wait [closeHelp] CLOSE #w END
EDIT: Pour le "Del", mes yeux horrifiés ont vu apparaître un zéro et un 8
Il faut je pense décortiquer le code avec du left$(chaine, N); du mid$(cahine, x, N)) et du right$(chaine, N)
Ce qui est bizarre, c'est que le zéro et le 8 ont l'air d'êtres séparés; mais par quoi ?
That's the question...
____________________
Roro
Roro
Roland:
Même constat que toi.
aide de JustBasic, instruction Inkey$:
la touche backspace (retour en arrière) ferait partie de cette liste ?
On en arrive à chercher la signification d'une Virtual Key, et on apprend dans la page "Using virtual key constants with Inkey$" qu'une virtual key est la touche actuellement pressée sur le clavier, elle est la même que ce soit pour un "a" ou un "A", et qu'elle ne reflète donc pas le code ascii. Le "0, 8" qu'on voit apparaître serait donc le numéro de la touche backspace codé sur deux octets ?
Les "?" pour dire que je cogite, j'en sais pas plus que ça.
Pour l'espace entre le 0 et le 8, j'aurais pensé à un caractère non imprimable dans une fenêtre, mais ça ne tient pas la route, les deux octets du backspace sont bien là
EDIT: Pour le "Del", mes yeux horrifiés ont vu apparaître un zéro et un 8... ...c'est que le zéro et le 8 ont l'air d'êtres séparés; mais par quoi ?
That's the question...
That's the question...
Même constat que toi.
aide de JustBasic, instruction Inkey$:
...The virtual keycodes are standard Windows constants, and include arrow keys, function keys, the ALT, SHIFT, and CTRL keys, etc.
la touche backspace (retour en arrière) ferait partie de cette liste ?
On en arrive à chercher la signification d'une Virtual Key, et on apprend dans la page "Using virtual key constants with Inkey$" qu'une virtual key est la touche actuellement pressée sur le clavier, elle est la même que ce soit pour un "a" ou un "A", et qu'elle ne reflète donc pas le code ascii. Le "0, 8" qu'on voit apparaître serait donc le numéro de la touche backspace codé sur deux octets ?
Les "?" pour dire que je cogite, j'en sais pas plus que ça.
Pour l'espace entre le 0 et le 8, j'aurais pensé à un caractère non imprimable dans une fenêtre, mais ça ne tient pas la route, les deux octets du backspace sont bien là
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
En considérant que c'est une chaine, et en découpant, ça ne marche pas.
If val(right$(asc(keys$), 1))=8 then notice, "ça marche !"
Comme il y a les pointillés entre le zéro et le 8 ça donne à penser que le 8 sort après le zéro (en deux chaines séparés, comme deux caractères)
Auquel cas il suffit sauter le zéro
EDIT: Et avec ça:
if val(left$(asc(key$),1))=0 then
if val(right$(asc(key$),1))=8 then notice,"OUI"
end if
ça ne marche pas non plus
Je crains que la bestiole ne soit coriace
If val(right$(asc(keys$), 1))=8 then notice, "ça marche !"
Comme il y a les pointillés entre le zéro et le 8 ça donne à penser que le 8 sort après le zéro (en deux chaines séparés, comme deux caractères)
Auquel cas il suffit sauter le zéro
EDIT: Et avec ça:
if val(left$(asc(key$),1))=0 then
if val(right$(asc(key$),1))=8 then notice,"OUI"
end if
ça ne marche pas non plus
Je crains que la bestiole ne soit coriace
____________________
Roro
Roro
Et bien c'est tout connement 8
Il asc(key$)=8 then notice, "ça marche"
A mettre avant le goto [ret] pour tester
Pour mettre un espace, il faut juste l'ajouter dans la chaine (var$=var$ +key$ + " "
Par contre pour effacer, il faut mettre une boxfilled de la couleur du fond sur ce qu'on veut effacer
Il est conseillé de faire d'abord une box d'une autre couleur pour la voir et la placer au bon endroit
Il asc(key$)=8 then notice, "ça marche"
A mettre avant le goto [ret] pour tester
Pour mettre un espace, il faut juste l'ajouter dans la chaine (var$=var$ +key$ + " "
Par contre pour effacer, il faut mettre une boxfilled de la couleur du fond sur ce qu'on veut effacer
Il est conseillé de faire d'abord une box d'une autre couleur pour la voir et la placer au bon endroit
____________________
Roro
Roro
Roland:
Oki. C'est un peu surprenant quand même, car la touche BK envoie bien un code de deux caractères, (edit:il y a peut-être un raccourci logiciel qui ne tient pas compte du premier octet quand il s'agit d'une touche non alphanumérique ?), ce qu'on peut voir en supprimant "nomainwin" et en mettant un print len(key$) juste en dessous de key$=Inkey$
Pour effacer le caractère dans la chaine, il faut retirer le dernier caractère de var$ avec un truc du genre var$=left$(var$,(len(var$)-1))
Au fait, pour jouer mon malin, je dirais qu'on peut très bien mettre en commentaire les lignes [ret] et goto [ret] et voir que le programme fonctionne toujours...
Edité par Christophe Le 19/02/2016 à 15h02
Et bien c'est tout connement 8
Il asc(key$)=8 then notice, "ça marche"
Il asc(key$)=8 then notice, "ça marche"
Oki. C'est un peu surprenant quand même, car la touche BK envoie bien un code de deux caractères, (edit:il y a peut-être un raccourci logiciel qui ne tient pas compte du premier octet quand il s'agit d'une touche non alphanumérique ?), ce qu'on peut voir en supprimant "nomainwin" et en mettant un print len(key$) juste en dessous de key$=Inkey$
Pour effacer le caractère dans la chaine, il faut retirer le dernier caractère de var$ avec un truc du genre var$=left$(var$,(len(var$)-1))
Au fait, pour jouer mon malin, je dirais qu'on peut très bien mettre en commentaire les lignes [ret] et goto [ret] et voir que le programme fonctionne toujours...
Edité par Christophe Le 19/02/2016 à 15h02
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Bon partons du principe que je tape qu'un seul caractère ..
Pourquoi cela ne marche ?
Ni Del, ni quand je fait entrée (sa me fait une espace a la place )
Code VB :
Ps : c'est du morse
Edité par pmp Le 19/02/2016 à 19h00
Pourquoi cela ne marche ?
Ni Del, ni quand je fait entrée (sa me fait une espace a la place )
Code VB :
NOMAINWIN WindowWidth=300 WindowHeight=200 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) open "Fenêtre" for graphics AS #w GRAPHICBOX #w.m 0, 0, 280, 460 print #w, "setfocus" x=20: y=50 [DEBUT] #w "when characterInput [A]" #w, "TRAPCLOSE [closeHelp]" wait [A] Key$=Inkey$ a$=a$+Inkey$ If asc(key$)=8 then a$=left$(a$,(len(a$)-1)) if x=200 then x=20: y=y+20 end if if asc(key$)=13 then goto [B] print #w, "place ";x;" ";y;" ;|";Key$ x=x+12 goto [DEBUT] [B] if ( a$="a" ) then print #w,".-" if ( a$="b" ) then print #w,"-..." if ( a$="c" ) then print #w,"-.-." if ( a$="d" ) then print #w,"-.." if ( a$="d" ) then print #w,"." if ( a$="d" ) then print #w,"..-." if ( a$="d" ) then print #w,"--." if ( a$="d" ) then print #w,"...." if ( a$="d" ) then print #w,".." if ( a$="d" ) then print #w,".---" if ( a$="d" ) then print #w,"-.-" if ( a$="d" ) then print #w,".-.." if ( a$="d" ) then print #w,"--" if ( a$="d" ) then print #w,"-." if ( a$="d" ) then print #w,"---" if ( a$="d" ) then print #w,".--." if ( a$="d" ) then print #w,"--.-" if ( a$="d" ) then print #w,".-." if ( a$="d" ) then print #w, "..." if ( a$="d" ) then print #w,"-" if ( a$="d" ) then print #w,"..-" if ( a$="d" ) then print #w,"...-" if ( a$="d" ) then print #w,"-..-" if ( a$="d" ) then print #w,"-..-" if ( a$="d" ) then print #w,"-.--" if ( a$="d" ) then print #w,"--.." [closeHelp] CLOSE #w END
Ps : c'est du morse
Edité par pmp Le 19/02/2016 à 19h00
L'instruction de type: if ( a$="a" ) then print #w,".-" concerne la fenêtre principale (#w); qui est couverte par la graphicbox. (et ça n'est pas la bonne procédure; la bonne est:
#w "place 20 35"
#w "\ .-"
Qu'on peut mettre sur une seule ligne en séparant les deux instructions par les deux points (
Pour afficher dans la graphicbox, c'est:
#w.m, "place ";x;" ";y;" ;|";".-"
Qu'on peut faire en deux instructions pour éviter la syntaxe exotique du guillemet tout seul entre points virgules
Teste et étudie ce code
Code VB :
#w "place 20 35"
#w "\ .-"
Qu'on peut mettre sur une seule ligne en séparant les deux instructions par les deux points (

Pour afficher dans la graphicbox, c'est:
#w.m, "place ";x;" ";y;" ;|";".-"
Qu'on peut faire en deux instructions pour éviter la syntaxe exotique du guillemet tout seul entre points virgules
Teste et étudie ce code
Code VB :
NOMAINWIN WindowWidth = 800 '§§§§§§§§§§§§§§§§§§§§§§ WindowHeight = 460 UpperLeftX = (DisplayWidth-WindowWidth)-200 UpperLeftY = 20 ' (DisplayHeight-WindowHeight) ' BUTTON #w.go, "Change", [go], UL, 10, 50, 60, 20 GRAPHICBOX #w.m 0, 0, 780, 460 '§§§§§§§§§§§§§§§§§§ OPEN "Help" FOR window_nf AS #w #w, "TRAPCLOSE [closeHelp]" #w.m , "down" dim trans$(2,27) '----on déclare le tableau (qui commence à 0) base$=".- ... -.-. -.. . ..-. --. .... .. "+_ 'le + aditionne les chaines ".--- -.- .-.. -- -. --- .--. --.- .-. ... "+_ 'le _ passe le reste à la ligne suivante "- ..- ...- -..- -..- -.-- --.." alpha$="a b c d e f g h i j k l m n o p q r s t u v w x y z" for a=1 to 27 '-----on mets tout ça en tableau trans$(2,a)= word$(base$,a) trans$(1,a)= word$(alpha$,a) next a '--------- for b=1 to 26 print trans$(1,b); "******";trans$(2,b) next b '---------- x=20: y=80 xx=10 '§§§§§§§§§§§§§§§§§§§§§ [ret] #w.m, "setfocus" #w.m, "when characterInput [fetch]" wait [fetch] 'a character was typed! key$ = Inkey$ if asc(key$)=13 then #w.m, "color red;backcolor white" #w.m, "place ";"10";" ";"160";" ;|";var$ 'affichage phrase end if var$=var$+key$ #w.m, "color black;backcolor white" #w.m, "place ";x;" ";y;" ;|";key$ 'affichage lettres #w.m, "place ";xx;" ";40;" ;|";asc(key$); "..." '§§§§§§§§§§§§§§§ x=x+15: xx=xx+40 '§§§§§§§§§§§§§§§§§§§§§§§§§§ for b=1 to 26 '---On va tester quelle lettre du tableau if key$=trans$(1,b) then #w.m, "color red;backcolor white" #w.m, "place ";xxa;" ";"120";" ;|";trans$(2,b) xxa=xxa+30 end if next b goto [ret] wait [closeHelp] CLOSE #w END
____________________
Roro
Roro
d'accord mais pourquoi quand je fait entrée cela ne marche pas ? sa me fait juste un espace ...
Tu as tout copié ? Chez moi ça marche. Le code morse continue sur la même ligne, mais la chaine de caractère correspondant s'affiche bien comme dans les versions précédentes
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Chris:
Ouf...Tu me rassure
Je teste toujours avant de poster; mais on n'est jamais à l'abri d'une fausse manip.
Pour supprimer le dernier caractère il suffit de reculer d'un pas; la nouvelle valeur écrasera l'ancienne.
@pmp: Si tu dis ce que tu veux faire (au final), on peut te guider
Mais il faut que ce soit expliqué dans le détail (cahier des charges)
Chez moi ça marche
Ouf...Tu me rassure
Je teste toujours avant de poster; mais on n'est jamais à l'abri d'une fausse manip.
Pour supprimer le dernier caractère il suffit de reculer d'un pas; la nouvelle valeur écrasera l'ancienne.
@pmp: Si tu dis ce que tu veux faire (au final), on peut te guider
Mais il faut que ce soit expliqué dans le détail (cahier des charges)
____________________
Roro
Roro
Oui pour ce que je veut faire je vous copierait le code entier a la fin (car la ce n'est qu'une partie). Enfaite ici se que je veut faire c'est qu'on puisse taper du texte et que l'algo nous le retranscrive en code Morse.
J'ai bien pris tous le code mais sa ne marche pas ... Voila ce que sa me met

même "Del" ne marche pas ..
et je ne sais pas si sa a un rapport mais quand j'ouvre JB il y a se message
Edité par pmp Le 20/02/2016 à 11h14
J'ai bien pris tous le code mais sa ne marche pas ... Voila ce que sa me met

même "Del" ne marche pas ..
et je ne sais pas si sa a un rapport mais quand j'ouvre JB il y a se message

Edité par pmp Le 20/02/2016 à 11h14
J'ai essayé en utilisant LB booster, sa ne marche pas non plus ..

Alors là, c'est original.
Nous ne parlons pas du même programme : j'ai utilisé celui du post de Roland en date du 19/02/16 à 19h17, et ton prog est celui de ton post du 19/02/16 à 18h48, forcément ça peut pas le faire... Pour ton prog je te rassure j'obtiens le même résultat que toi. Chez moi, la touche "retour arrière" est figurée par deux petits carrés, mais pour le reste c'est identique.
pour le message d'erreur "iniFilename not undestood", à mon avis c'est juste le fichier d'initialisation qui n'est pas lu, théoriquement il ne devrait pas y avoir de gêne pour toi tant que tu ne modifie rien dans le menu "setup" de JB.
Revenons à ton programme :
On te laisse réfléchir, le temps que je fasse une petite manip pour voir si je m'en sors mieux que toi sur ce coup-là.
Nous ne parlons pas du même programme : j'ai utilisé celui du post de Roland en date du 19/02/16 à 19h17, et ton prog est celui de ton post du 19/02/16 à 18h48, forcément ça peut pas le faire... Pour ton prog je te rassure j'obtiens le même résultat que toi. Chez moi, la touche "retour arrière" est figurée par deux petits carrés, mais pour le reste c'est identique.
pour le message d'erreur "iniFilename not undestood", à mon avis c'est juste le fichier d'initialisation qui n'est pas lu, théoriquement il ne devrait pas y avoir de gêne pour toi tant que tu ne modifie rien dans le menu "setup" de JB.
Revenons à ton programme :
- tel qu'il est, il ne peut pas afficher de code morse au delà du "d", tous les caractères au dela de "d"'afficheront rien.
- le "if asc(key$)=13" ne marche pas, pour une raison qui reste à déterminer, mais qui est probablement très logique. Le programme s'arrêterait tout seul si la condition fonctionnait : qu'y a-t-il en fin de [B] ?
Code VB :[closeHelp] CLOSE #w END
c'est imparable
On te laisse réfléchir, le temps que je fasse une petite manip pour voir si je m'en sors mieux que toi sur ce coup-là.
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie