i need YOUR HElp!!! MERCI! - Programmation
Marsh Posté le 18-03-2002 à 22:05:57
euh maniere tres tres tres porc:
une boucle for vide:
For i = 0 To 5000
Next i
je precise j'y connais rien en QBasic...
mais bon ça devrais marcher...
maintenant doit surment y'avoir mieux...
Marsh Posté le 18-03-2002 à 22:48:38
Un peu lourd ton prog, non.
Je rentre chez moi et j'y jette un oeil (chuis au taff)
Marsh Posté le 18-03-2002 à 23:36:15
Glopman a écrit a écrit : euh maniere tres tres tres porc: une boucle for vide: For i = 0 To 5000 Next i je precise j'y connais rien en QBasic... mais bon ça devrais marcher... maintenant doit surment y'avoir mieux... |
non en fait, j'ai jamais trouve un autre moyen... ya wait il me semble mais c'est en seconde.
Par contre fait plutôt ceci :
For i$ = 0 To 5000
i$ = i$
Next i$
j'ai rajouté la ligne à la con i$=i$ parce que j'ai remarqué que si la boucle est vide, alors l'interpréteur ne passe même pas dessus et ça sert a rien donc
Marsh Posté le 18-03-2002 à 23:39:38
si tu bien le ralentir, essaye de mettre des calculs sur des réèls ds la boucle
ya pas une fonction pour récupérer l'heure ??
Marsh Posté le 18-03-2002 à 23:41:16
trueslash a écrit a écrit : si tu bien le ralentir, essaye de mettre des calculs sur des réèls ds la boucle ya pas une fonction pour récupérer l'heure ?? |
TIME ou DATE non? enfin au moins en seconde... mais bon apres pour le calcul
Marsh Posté le 19-03-2002 à 00:30:15
Un peu plus court, mais loin d'être parfait:
DIM i AS INTEGER
DIM j AS LONG
DIM delay AS LONG
DIM table(10) AS INTEGER
CLS
delay = 3000000
table(1) = 121
table(2) = 36
table(3) = 48
table(4) = 25
table(5) = 18
table(6) = 2
table(7) = 120
table(8) = 0
table(9) = 16
table(10) = 64
FOR i = 1 TO 10
OUT &H378, table(i)
FOR j = 1 TO delay
j = j ' Pas forcément nécessaire, j'ai essayé sans, ça marche
NEXT j
NEXT i
[jfdsdjhfuetppo]--Message édité par AlainTech--[/jfdsdjhfuetppo]
Marsh Posté le 19-03-2002 à 09:05:16
AlainTech a écrit a écrit : FOR j = 1 TO delay j = j ' Pas forcément nécessaire, j'ai essayé sans, ça marche NEXT j NEXT i |
ha ok c'etait peut-être avec une autre version... mais bon c pas important
Marsh Posté le 19-03-2002 à 11:45:38
Pq pas utiliser SLEEP au lieu de la boucle for ? C quand même + propre.... même si le délai minimum est de 1s je crois....
Marsh Posté le 19-03-2002 à 19:38:16
J'aimerai essayé sleep...c ce q'a lair le mieux !
c koi la syntaxe ?
sinon pour le for i = 0 to 5000 j'aimerai en savoir un peu plus j comprend que dal
C une boucle oendant laquelle il va ajouter i a chaque tour ?
Je v me pencher sur le probleme dem1... la je peux pas , j'ai un put1 de Tp de SVT a rendre pour dem1 alors Je peux pas faire de l'ordi now ..
Merci beaucoup de votre Aide
Marsh Posté le 19-03-2002 à 19:52:13
Je vient de tester rapidement la fonction SLEEP
pour passer a letape suivante apres un sleep , je dois apuyer sur une touche ...
moi je veux quil attende 1 ou 2 segonde avant de passer au chiffre suivant , je veux pas avoir a le faire manuellement !
Merci !
Marsh Posté le 19-03-2002 à 20:09:48
MErci alain tech !
ça marche ..
COmment on utilise les fonction
time date sleep ?
kel et la syntaxe ?
Merci !
Marsh Posté le 19-03-2002 à 20:10:46
Pilou2001 a écrit a écrit : Je vient de tester rapidement la fonction SLEEP pour passer a letape suivante apres un sleep , je dois apuyer sur une touche ... moi je veux quil attende 1 ou 2 segonde avant de passer au chiffre suivant , je veux pas avoir a le faire manuellement ! Merci ! |
G répondu en cours et là G pas QBasic
Mais dans l'aide il y a un exemple d'utilisation de SLEEP donc je C pas il faut voir.... y a ptet qq chose à faire...
Marsh Posté le 19-03-2002 à 20:16:20
Dans le script de alaintech
je voudrai mettre
For i = 0 To 10
OUT &H378, table(i)
PRINT "affichage du chiffre" & i
For j = 1 To delay
j = j
Next j
Next i
Mais le & i , cha marche sur visual basic mais pas d qbasic , on remplace par koi ?
Marsh Posté le 19-03-2002 à 23:02:10
Je rentre chez moi et je teste, mais ça aura la forme
? "xxx "
?? i
ou l'inverse, je ne sais plus si le ? saute à la ligne ou le ??
Marsh Posté le 20-03-2002 à 00:28:16
(Re)Trouvé!
qbasic n'accepte pas le ??:
print "xxx ";
print i
Le point-virgule empêche le passage à la ligne.
Ok pour le SLEEP (merci Poire, dans tous les langages que j'utilise, je finis par m'y perdre)
la syntaxe sera SLEEP 1 dans ton cas
Voici donc le code amélioré
DIM i AS INTEGER
DIM table(10) AS INTEGER
CLS
table(1) = 121
table(2) = 36
table(3) = 48
table(4) = 25
table(5) = 18
table(6) = 2
table(7) = 120
table(8) = 0
table(9) = 16
table(10) = 64
FOR i = 1 TO 10
OUT &H378, table(i)
PRINT "xxx ";
PRINT i
SLEEP 1
NEXT i
Marsh Posté le 20-03-2002 à 18:32:52
AlainTech a écrit a écrit : (Re)Trouvé! qbasic n'accepte pas le ??: print "xxx "; print i Ok pour le SLEEP (merci Poire, dans tous les langages que j'utilise, je finis par m'y perdre) la syntaxe sera SLEEP 1 dans ton cas |
eh eh moi G consulté l'aide pour être sur... moi aussi je m'y perd
Surtout que C pas le dernier que G utilisé mais le 2e langage que G apris... C pour ça que G répondu.... souvenir souvenir...
Marsh Posté le 18-03-2002 à 21:18:29
VOILA UN CODE EN QBASIC <--- je c , c vieux mais bon .. je suis en segonde et ds mon bahut , ils ont que ça JE suis sur que ca reveille des souvenirs de plein de monde ici
Alors voila .. on a un projet ,, c reussir a faire un cronomettre rudimentaire allant de 0 à 9 . En fait on a un espece de 8 :
-
| |
-
| |
- .
il est pas bo mon huit ??? ..
chaque trait du 8 est une del qu'on allume avec les broches de la prise parallele on a donc 256 possibilité car le point en dessous a droite du 8 symbolise le 10 quand il est allumé 2 ^ 8 = 256 <--- whaa je suis fort hein ?
A partir du code que je vient de crée ( bha oui je me suis envoyé le soft par e-mail pdt le cours ) Je voudrai un moyen
de ralentir le processus .. cest a dire que je veut que chaque
nombre reste allumé assez longtemp avant que ça passe a l'autre
Comment on fait pour faire un espece de timer en QBASIC
MERCI
[/quote]
Rem
CLS: Key OFF
Dim ZERO
Dim UN
Dim DEUX
Dim TROIS
Dim QUATRE
Dim CINQ
Dim SIX
Dim SEPT
Dim HUIT
Dim NEUF
Dim PT
Dim FIN
ZERO = 1
If ZERO = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
ZERO = 0
UN = 1
End If
Next i
End If
If UN = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
DEUX = 1
UN = 0
End If
Next i
End If
If DEUX = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
DEUX = 0
TROIS = 1
End If
Next i
End If
If TROIS = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
TROIS = 0
QUATRE = 1
End If
Next i
End If
If QUATRE = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
QUATRE = 0
CINQ = 1
End If
Next i
End If
If CINQ = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
CINQ = 0
SIX = 1
End If
Next i
End If
If SIX = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
SIX = 0
SEPT = 1
End If
Next i
End If
If SEPT = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
SEPT = 0
HUIT = 1
End If
Next i
End If
If HUIT = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
HUIT = 0
NEUF = 1
End If
Next i
End If
If NEUF = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
NEUF = 0
PT = 1
End If
Next i
End If
If PT = 1 Then
For i = 0 To 255
If i = 140 Then
OUT &H378, i
PT = 0
FIN = 1
End If
Next i
End If
If FIN = 1 Then
Print "Merci d'avoir utilis? ce chronometre fait par Pilou"
End If
End
[quote]
a chaque fois qu'il y a : If i = 140 Then.. 140 est un nombre au pif que je remplacerai par le nombre entre 0 et 255 qu'il faut pour activer les bonne broche du mon cable parallele et ainsi faire apparraitre le chiffre que je veux <--- ça doit pas etre tres clair
MErci de VoTRE aide ... Pitiez , gaspillez un peu de votre precieux temp pour mon petit programme de merde.
MErci d'avance
[jfdsdjhfuetppo]--Message édité par Pilou2001--[/jfdsdjhfuetppo]