begin process at 2012 02 16 18:14:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

stopper une fonction lancée sur clic


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

stopper une fonction lancée sur clic

samedi 23 octobre 2004 à 11:07:34 | stopper une fonction lancée sur clic

juliusius37

bonjour tlm!
alors mon petit pb c que j'ai une fonction lecture qui lance la lecture de sons(créés par mon programme) sur ma carte son.
Le pb c que une foi le bouton lecture enfoncé je doit attendre la fin de la lecture de tt les son pour reprendre la main et pouvoir faire autre chose sur mon programme. Et je souhaiterai faire un bouton stop afin d'interrompre la lecture mais la je sais pas du tt comment faire puisse que je n'ai pas la main(le bouton lecture reste enfoncé et je ne pe rien faire).Je sais qu'il faut surement revoir le systeme de lecture entierement mais je sais pas ce que je pe faire aidez moi svp!!!
pour une meilleur compréhension voici le code de la fonction lecture

Sub Lecture(Index)
Dim lanote As Integer
Dim TypeSon As Integer
Dim Temps As Integer
Dim Note1 As Long
Dim Note2 As Long
Dim Note3 As Long
Dim Note4 As Long
Dim Note5 As Long
Dim Note6 As Long
Dim i As Integer

TypeSon = frmPrincipale.CboType.ListIndex
If TypeSon = -1 Then
TypeSon = 0
End If

' Ouverture du port Midi
midiOutOpen hMidiOut, 0, 0, 0, 0
' Déclaration du type de son
midiOutShortMsg hMidiOut, RGB(192, TypeSon, 127) 'Permet de generer le nombre en Hexadecimal
'Creation de la note
i = 0
While Index < IndexMax
MsgBox (Index / 5)
Temps = (1 / frmPrincipale.Txttempo(i).Text)*frmPrincipale.txttemp.Text * 10
If frmPrincipale.txtNote(Index).Text <> "" Then
lanote = 30 + frmPrincipale.txtNote(Index).Text + 24 ' calcul note
Note1 = RGB(144, lanote, 127) 'astuce generer un entier long
midiOutShortMsg hMidiOut, Note1 ' envoie note sur port MIDI
End If
Index = Index + 1
If frmPrincipale.txtNote(Index).Text <> "" Then
lanote = 30 + frmPrincipale.txtNote(Index).Text + 19 'calcule note
Note2 = RGB(144, lanote, 127) 'astuce generer entier long
midiOutShortMsg hMidiOut, Note2 ' envoie note sur port MIDI
End If
Index = Index + 1
If frmPrincipale.txtNote(Index).Text <> "" Then
lanote = 30 + frmPrincipale.txtNote(Index).Text + 15 'calcule note
Note3 = RGB(144, lanote, 127) 'astuce generer entier long
midiOutShortMsg hMidiOut, Note3 'envoie note sur port MIDI
End If
Index = Index + 1

If frmPrincipale.txtNote(Index).Text <> "" Then
lanote = 30 + frmPrincipale.txtNote(Index).Text + 10 ' on calcule la note
Note4 = RGB(144, lanote, 127) 'astuce pour generer un entier long
midiOutShortMsg hMidiOut, Note4 ' on envoie la note sur le port MIDI
End If
Index = Index + 1

If frmPrincipale.txtNote(Index).Text <> "" Then
lanote = 30 + frmPrincipale.txtNote(Index).Text + 5 ' on calcule la note
Note5 = RGB(144, lanote, 127) 'astuce pour generer un entier long
midiOutShortMsg hMidiOut, Note5 ' on envoie la note sur le port MIDI
End If
Index = Index + 1

If frmPrincipale.txtNote(Index).Text <> "" Then
lanote = 30 + frmPrincipale.txtNote(Index).Text ' on calcule la note
Note6 = RGB(144, lanote, 127) 'astuce pour generer un entier long
midiOutShortMsg hMidiOut, Note6 ' on envoie la note sur le port MIDI
End If
Index = Index + 1
i = i + 1
Sleep (Temps)
Wend
midiOutClose hMidiOut 'ferme le port midi pour arreter la note

End Sub


mailto:S0KARISS@hotmail.com
samedi 23 octobre 2004 à 12:50:04 | Re : stopper une fonction lancée sur clic

Gobillot

d'abord tu devrais simplifier ton propramme et faire une boucle au lieu de faire 6 fois la même chose:

dim x As Integer
dim Note As Long

For x = 1 To 6
If Frmprincipale.txtNote(Index).Text <> "" Then
lanote = 30 + Frmprincipale.txtNote(Index).Text + 24
Note = RGB(144, lanote, 127)
midiOutShortMsg hMidiOut, Note
End If
Index = Index + 1
Next

ensuite, il faut changer la procédure Sleep par autre chose, une boucle avec des DoEvents pour éviter le blocage

Daniel

samedi 23 octobre 2004 à 12:58:55 | Re : stopper une fonction lancée sur clic

Gobillot

un truc du genre:


Private Declare Function GetTickCount Lib "kernel32" () As Long

Dim tp As Long

tp = GetTickCount + Temps
While GetTickCount < tp
DoEvents
Wend


Daniel
dimanche 15 mai 2005 à 22:56:13 | Re : stopper une fonction lancée sur clic


Cette discussion est classée dans : long, index, note, lanote, frmprincipale


Répondre à ce message

Sujets en rapport avec ce message

explication prog son [ par joxman ] bonjours  à tous j'ai  téléchargé un programme  que  mixe  2  wav  ca  marche  bien  c'est  super j'aimerai comprendre le programme je ne comprend pa mixage son wav [ par joxman ] bonjours  à tous j'ai  téléchargé un programme  que  mixe  2  wav  ca  marche  bien  c'est  super j'aimerai comprendre le programme je ne sos urgent svp aide moi [ par kev900000 ] bonjour,j'ai un petit probleme qui m'en pause un gros lolvoila j'ai fait un prog avec un clavier style tactil  il marche avec  la plupart des prog mai comment trouver l'index d'une cellule dans un range? [ par touf57 ] Bonjour,Je cherche à récupérer l'index d'une cellule dans son range voyez le code.En fait je voudrais me passer de la variable i tout simplement. Je s Probleme d'index [ par monaco63 ] Bonjour,J'ai un petit soucis qui me pose problème depuis plusieurs jours.Je travaille sous Visual Studio 2005 avec c#Mon probleme le voici :Je dispose vb6 - images dans picturebox [ par mstarsup5 ] Bonjour, j'ai un problème pour mettre des images dans un picturebox.Ce que je voudrais faire, c'est coller des images extérieures contenues dans d'aut bloc note [ par webanis ] salut    a tous j'ecrire dans un bloc note  et  je peut importer dans un listeview , j'essai comment faire importer dans une textbox et aussi dans un Fonction PolyA d'excel sur vba [ par husker ] Bonjour,Ce forum à l'air plus axé sur vb mais je poste quand meme le sujet et désolé si j'ai pas mis dans le bon theme.Je suis débutant sur vba et j'a Focus sur le pointeur de la souris [ par bigfish_le vrai ] Bonjour à tous,je cherche à supprimer la perte du focus sur le pointeur de ma souris. Je m'explique :j'ai créé une mire RGB(objet image) dans un formu Fermer word ouvert avec IE [ par NaNass15 ] Bonjourje vous expose mon probleme.J ai un formulaire word qui s'ouvre avec IE et je souhaiterai fermer cette fenetre quand l'utilisateur clique sur "


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,714 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales