Forum Liberty Basic France
• Index
Bonjour la communauté,
Besoin d'un conseil pour avancer dans mon programme.
Je m'amuse a faire des stats sur le tennis.
Je me suis fais un petit prog qui fonctionne bien mais qui est un peu pénible à long terme lorsque je rentre des données.
Je m'explique:
Lorsque je rentre le nombre de sets d'un match ayant eu lieu entre 2 joueurs,je suis obligé de le faire touche par touche.
Si le résultat du match est 62 pour le 1er set 57 pour le second set et 63 pour le 3 ème set,je dois rentrer à l'aide de 6 inputs différents,et donc 6 variables différentes la valeur de chaque set.Ainsi la manip au clavier se traduit par 6 (entrée),2 (entrée),5 (entrée),ect ... jusqu'a la dernière 3 (entrée).Donc beaucoup de manip lorqu'il y a beaucoup de match à rentrer et un risque d'erreur plus important.
L'idéal serait de rentrer au clavier 625763 puis (entrée),puis de pouvoir faire exploiter au programme chaque nombre séparemment pour qu'il puisse le mettre dans 6 variables différentes.Or je ne trouve pas la fonction qui permette de faire cela.
Si par exemple j'ecris l'ordre suivant dans mon programme:
input" Rentrer le résultat du match",resmatch,la variable resmatch contiendra bien 625763,mais comment dire au programme que le 6 doit aller dans la variable A,le 2 dans la variable B,le 5 dans la variable C ect ...
.En espérant ne pas avoir été trop brouillon quant à l'exposé de mon problème.
Si quelqu'un pouvait me donner un conseil ce serait sympathique,car j'ai essayé de mon coté de trouver une solution,mais sans succès.
Merci et au plaisir
Franck
Besoin d'un conseil pour avancer dans mon programme.
Je m'amuse a faire des stats sur le tennis.
Je me suis fais un petit prog qui fonctionne bien mais qui est un peu pénible à long terme lorsque je rentre des données.
Je m'explique:
Lorsque je rentre le nombre de sets d'un match ayant eu lieu entre 2 joueurs,je suis obligé de le faire touche par touche.
Si le résultat du match est 62 pour le 1er set 57 pour le second set et 63 pour le 3 ème set,je dois rentrer à l'aide de 6 inputs différents,et donc 6 variables différentes la valeur de chaque set.Ainsi la manip au clavier se traduit par 6 (entrée),2 (entrée),5 (entrée),ect ... jusqu'a la dernière 3 (entrée).Donc beaucoup de manip lorqu'il y a beaucoup de match à rentrer et un risque d'erreur plus important.
L'idéal serait de rentrer au clavier 625763 puis (entrée),puis de pouvoir faire exploiter au programme chaque nombre séparemment pour qu'il puisse le mettre dans 6 variables différentes.Or je ne trouve pas la fonction qui permette de faire cela.
Si par exemple j'ecris l'ordre suivant dans mon programme:
input" Rentrer le résultat du match",resmatch,la variable resmatch contiendra bien 625763,mais comment dire au programme que le 6 doit aller dans la variable A,le 2 dans la variable B,le 5 dans la variable C ect ...
.En espérant ne pas avoir été trop brouillon quant à l'exposé de mon problème.
Si quelqu'un pouvait me donner un conseil ce serait sympathique,car j'ai essayé de mon coté de trouver une solution,mais sans succès.
Merci et au plaisir
Franck
Salut Franck, il faut décrire (expliquer) en détail ce que tu veux.
Exemples:
Je voudrais une liste des matchs avec les dates, les noms et les résultats.
Ou:
Je voudrais qu'en cliquant sur deux noms dans une liste (ou deux), apparaissent les dates, et les résultats.
Pour la saisie, moi je suis pour le tout souris; le clavier me gonfle (quitte à faire des choses de out of no where)
La saisie/stockage des données est une chose
Leur traitement en est une autre; qui peut aller du simple (affichage brut) à l'ultra complexe (analyses variées, critères...ext)
Si tu poste ton code, on voit si il y a quelque chose à récupérer ou s'il faut partir sur une autre base.
Pour poster du code, mets une ligne: code=vb entre crochets [...] avant le code
Et: /code entre crochets après le code.
Mais comme il faudra stocker dans un fichier, on n'y coupera pas d'un dossier compressé.
Exemples:
Je voudrais une liste des matchs avec les dates, les noms et les résultats.
Ou:
Je voudrais qu'en cliquant sur deux noms dans une liste (ou deux), apparaissent les dates, et les résultats.
Pour la saisie, moi je suis pour le tout souris; le clavier me gonfle (quitte à faire des choses de out of no where)
La saisie/stockage des données est une chose
Leur traitement en est une autre; qui peut aller du simple (affichage brut) à l'ultra complexe (analyses variées, critères...ext)
Si tu poste ton code, on voit si il y a quelque chose à récupérer ou s'il faut partir sur une autre base.
Pour poster du code, mets une ligne: code=vb entre crochets [...] avant le code
Et: /code entre crochets après le code.
Mais comme il faudra stocker dans un fichier, on n'y coupera pas d'un dossier compressé.
____________________
Roro
Roro
Bonjour,
Je vais essayer de résumer plus brièvement ce que je veux:
je crée une variable numérique appelée var1 à laquelle j'attribue la valeur 123456
var1=123456
ensuite je voudrais créer 6 variables numériques (pos1,pos2,pos3....pos6) dont les valeurs correspondent à:
pos1=(premier nombre de la variable var1) c'est à dire 1
pos2=(2ème nombre de la variable var1) c'est à dire 2
pos3=(3ème nombre de la variable var1) c'est à dire 3
pos4=(4ème nombre de la variable var1) c'est à dire 4
pos5=(5ème nombre de la variable var1) c'est à dire 5
pos6=(6ème nombre de la variable var1) c'est à dire 6
Ce qui me permet d'avoir 6 variables numériques que je peux exploiter par la suite dans mon programme.
Or je n'arrive pas à trouver l'ordre qui permet d'extraire une partie de variable numérique.
En espérant avoir été plus clair dans ma question.
A l'avance merci pour ta réponse
Amicalement Franck
Je vais essayer de résumer plus brièvement ce que je veux:
je crée une variable numérique appelée var1 à laquelle j'attribue la valeur 123456
var1=123456
ensuite je voudrais créer 6 variables numériques (pos1,pos2,pos3....pos6) dont les valeurs correspondent à:
pos1=(premier nombre de la variable var1) c'est à dire 1
pos2=(2ème nombre de la variable var1) c'est à dire 2
pos3=(3ème nombre de la variable var1) c'est à dire 3
pos4=(4ème nombre de la variable var1) c'est à dire 4
pos5=(5ème nombre de la variable var1) c'est à dire 5
pos6=(6ème nombre de la variable var1) c'est à dire 6
Ce qui me permet d'avoir 6 variables numériques que je peux exploiter par la suite dans mon programme.
Or je n'arrive pas à trouver l'ordre qui permet d'extraire une partie de variable numérique.
En espérant avoir été plus clair dans ma question.
A l'avance merci pour ta réponse
Amicalement Franck
Hello Franck,
En attendant la version de Roland, ce qui ne saurait tarder, voici déjà un aperçu de comment on peut faire : convertir le nombre en chaine, parce qu'il existe une instruction qui s'applique aux chaines, et qui permet d'extraire un caractère à une position définie. This is the code :
Code VB :
En attendant la version de Roland, ce qui ne saurait tarder, voici déjà un aperçu de comment on peut faire : convertir le nombre en chaine, parce qu'il existe une instruction qui s'applique aux chaines, et qui permet d'extraire un caractère à une position définie. This is the code :
Code VB :
val1=456789 a$=str$(val1) 'str$ converti un nombre en une chaine de caractères 'mid$ permet d'extraire une chaine de n caractères qui commence à la position x dans la chaine$ : mid$(chaine$,x,n 'val converti un nombre contenu dans une chaine de caractère en véritable nombre qu'on peut utiliser dans les calculs pos1=val(mid$(a$,1,1)) pos2=val(mid$(a$,2,1)) pos3=val(mid$(a$,3,1)) pos4=val(mid$(a$,4,1)) pos5=val(mid$(a$,5,1)) pos6=val(mid$(a$,6,1)) print "les chiffres sont : ";pos1;", ";pos2;", ";pos3;", ";pos4;", ";pos5;" et ";pos6 end
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Non mais c'est pas ça qu'il faut dire
Il faut dire ce que tu veux qu'il se passe dans l'interface
Déjà que tu décrive l'interface telle que tu la voudrais.
Pour extraire le mieux est de mettre en chaine:
chaineun$= "123456"; ou chainedeux$="1 2 3 4 5 6"
Quand les caractères sont liés, il faut employer
left=(chaineun$, n); mid$(chaineun$, j, n); ou right$()
Quand ils sont espacés:
word$(chainedeux$,n)
Et pour passer en numérique:
val(nouvchaine$); val( chaineun$)=cent vingt trois mille quatre cents vingt six
Mais comme c'est de l'affichage, il vaut mieux tout faire en chaines.
S'il y a des calculs, on passe en numérique pour les faire.
Le programme ne sert qu'à obtenir ce que l'on veux dans l'interface.(et on s'en tape un peu de la façon de faire, c'est le résultat qui compte)
Il faut dire ce que tu veux qu'il se passe dans l'interface
Déjà que tu décrive l'interface telle que tu la voudrais.
Pour extraire le mieux est de mettre en chaine:
chaineun$= "123456"; ou chainedeux$="1 2 3 4 5 6"
Quand les caractères sont liés, il faut employer
left=(chaineun$, n); mid$(chaineun$, j, n); ou right$()
Quand ils sont espacés:
word$(chainedeux$,n)
Et pour passer en numérique:
val(nouvchaine$); val( chaineun$)=cent vingt trois mille quatre cents vingt six
Mais comme c'est de l'affichage, il vaut mieux tout faire en chaines.
S'il y a des calculs, on passe en numérique pour les faire.
Le programme ne sert qu'à obtenir ce que l'on veux dans l'interface.(et on s'en tape un peu de la façon de faire, c'est le résultat qui compte)
____________________
Roro
Roro
Christophe,Roland je vous remercie beaucoup !!Je viens de tester mon programme avec ces nouvelles fonctions,et ca fonctionne bien,plus d'aller retour sur la touche entrée,et un gain de temps énorme.
Merci encore et A +++++
Franck
Merci encore et A +++++
Franck
• 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