i need YOUR HElp!!! MERCI!

i need YOUR HElp!!! MERCI! - Programmation

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  :lol:  
 
 
 
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]

Reply

Marsh Posté le 18-03-2002 à 21:18:29   

Reply

Marsh Posté le 18-03-2002 à 21:55:11    

:bounce:

Reply

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...


---------------
Chaos is found in greatest abundance wherever order is being sought. It always defeats order, because it is better organized.
Reply

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)


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

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 :)

Reply

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 ??

Reply

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 :)

Reply

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]


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

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

Reply

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....
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 19-03-2002 à 11:45:38   

Reply

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

Reply

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 !

Reply

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 !

Reply

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...


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

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 ?

Reply

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 ?? :??:  :??:  :??:  :??:  :??:


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

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) :jap:  
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
 :sol:


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 20-03-2002 à 13:43:27    

Encore MErci alaintech , lol le prof y va alluciné :)
 
Pilou

Reply

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) :jap:  
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...  :D


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed