Merci VincentRoy, cela fonctionne également![]()
Merci VincentRoy, cela fonctionne également![]()
Oh... mais Vince est avec nous !
Damien, tu ne crains plus rien car Vince a pratiqué .NET comme langue vivante 2.
Alors voilà la solution pour gérer un tableau d'objets .NET ?
Mais alors, l'aide en ligne de WinDev est "à la ramasse" puisqu'il y est dit que les tableaux ne sont pas gérés...![]()
Pour conclure, BON TRAVAIL !
_
Salut JBO, ca fesait longtemps
Je ne sais pas si c'est la solution pour gérer les tableaux d'objets .Net, mais en tout ca, j'ai toujours fait comme ça.
A+
Vince.
http://www.syscode.fr
en tout cas un grand merci à vous deux !![]()
Hé Vince !
As-tu remarqué à quelle vitesse Damien injecte des images dans ses messages.
Je pense qu'il a battu le record du plus grand nombre d'images dans un fil de discussion.
A défaut d'être développeur, il a une carrière toute trouvée dans le secteur de la pose d'affiches publicitaires !
Allez, à la prochaine !
_
Bonjour,
Une autre petite question, comment traduire "New" en .net vers Windev svp ? Pour traduire ceci :
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ' Render the wave form WF = New Un4seen.Bass.Misc.WaveForm("C:\test.mp3", New Un4seen.Bass.Misc.WAVEFORMPROC(AddressOf MyWaveFormCallback), Me) WF.FrameResolution = 0.01F WF.ColorBackground = Color.Transparent WF.ColorLeft = Color.White WF.ColorRight = Color.White WF.ColorLeftEnvelope = Color.Transparent WF.ColorRightEnvelope = Color.Transparent WF.RenderStart(True, BASSFlag.BASS_DEFAULT)![]()
Je me disais aussi... merci =JBO=
EDIT : Damien le retour lool
Alors j'ai essayé comme ceci :
Mais si je fais "Spectre." la liste disponible n'ai pas celle que j'attend :s C'est celle correspondante à WAVEFORMPROC et non WaveForm...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Spectre est un WAVEFORMPROC dynamique Spectre = allouer WaveForm("C:\test2.mp3")
Et ceci :
Ne fonctionne bien sur pas :s Y'a vraiment un canyon entre vb et windev ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part Spectre est un WaveForm("C:\test2.mp3") dynamique
Dans mon code .net, j'ai ceci en declaration de WF :
EDIT 2 : TROUVE !! Je suis content de trouvé tout seul parce que çà me gène de tout le temps vous solliciter et j'apprend mieux
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private WF As Un4seen.Bass.Misc.WaveForm
Voici le code final :
Mais j'ai une erreur en exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Spectre est un WaveForm Spectre = allouer WaveForm("C:\test2.mp3") Spectre.FrameResolution = 0.01 Spectre.ColorBackground = Transparent Spectre.ColorLeft = Blanc Spectre.ColorRight = Blanc Spectre.ColorLeftEnvelope = Transparent Spectre.ColorRightEnvelope = Transparent Spectre.RenderStart(Vrai, BASSFlag.BASS_DEFAULT) IMG_Spectre = Spectre.CreateBitmap(IMG_Spectre..Largeur, IMG_Spectre..Hauteur, -1, -1, Vrai)
Ligne 13 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Erreur à la ligne 13 du traitement Clic sur BTN_Player_2_PLAY. Types incompatibles durant une affectation.Vous avez une idée svp ? parce que là moi ... çà me dépasse lol
Code : Sélectionner tout - Visualiser dans une fenêtre à part Spectre = allouer WaveForm("C:\test2.mp3")
EDIT 3 :
J'ai tenter d'utilisé comme dans le code .net car pour Waveform il y a 2 facon de faire selon la doc :
Donc comme la première façon à l'air de bugger, j'essai la façon 2 mais bon guère mieux.
et la procèdure locale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Spectre = allouer WaveForm("C:\test2.mp3", allouer WAVEFORMPROC(Realise_Spectre()), Handle()) Spectre.FrameResolution = 0.01 Spectre.ColorBackground = Transparent Spectre.ColorLeft = Blanc Spectre.ColorRight = Blanc Spectre.ColorLeftEnvelope = Transparent Spectre.ColorRightEnvelope = Transparent Spectre.RenderStart(Vrai, BASSFlag.BASS_DEFAULT)
Mais Windev me renvoi : Mauvais paramètre pour le constructeur de la classe WaveForm.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 PROCEDURE Realise_Spectre() IMG_Spectre = Spectre.CreateBitmap(IMG_Spectre..Largeur, IMG_Spectre..Hauteur, -1, -1, Vrai)
Sur cette ligne : Spectre = allouer WaveForm("C:\test2.mp3", allouer WAVEFORMPROC(Realise_Spectre()), Handle())
![]()
Bonjour Damien,
Comme tu as simplement modifié ton dernier message (pour y ajouter un wagon d'images et de textes) je n'ai pas été notifié de ces ajouts, donc je réagis un peu tard... forcément.
Sans te blâmer (quoi que...), tu es passé à côté du problème.
Il y a tout un "bazar" à mettre en place pour que .NET puisse rappeler une procédure de ton projet WinDev.
C'est là que ça se passe: DotNetDélégué (Fonction)
A ce stade, je suis largement incompétent.
J'espère que VincentRoy ou d'autres "talents" .NET viendront à la rescousse.
_
Bonsoir =JBO=,
Ahhh! tu les aimes mes images hein ?? lol
Merci pour ton aide encore une fois, je vais me pencher sur cette fonction![]()
bonsoir damien,
dans ton code avec la syntaxe 1 tu as une erreur car tu ne déclares pas ton waveform en dynamique, il faut écrire :
j'ai rectifié aussi les couleurs qui sont des System.Drawing.Color et pas des entiers comme les constantes de couleurs dans windev.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Spectre est un WaveForm dynamique Spectre = allouer WaveForm("C:\test2.mp3") Spectre.FrameResolution = 0.01 Spectre.ColorBackground = Color.Transparent Spectre.ColorLeft = Color.White Spectre.ColorRight = Color.White Spectre.ColorLeftEnvelope = Color.Transparent Spectre.ColorRightEnvelope = Color.Transparent
Ami calmant, J.P![]()
Merci Jurassic Pork, je n'ai plus d'erreur mais au final je n'ai aucun spectre de créer :s
Voici le code total donc :
Ce n'est pas comme ceci ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Spectre est un WaveForm dynamique Spectre = allouer WaveForm("D:\Aloe Blacc - 01 - I Need A Dollar.MP3") Spectre.FrameResolution = 0.01 Spectre.ColorBackground = Color.Transparent Spectre.ColorLeft = Color.White Spectre.ColorRight = Color.White Spectre.ColorLeftEnvelope = Color.Transparent Spectre.ColorRightEnvelope = Color.Transparent Spectre.RenderStart(Vrai, BASSFlag.BASS_DEFAULT) IMG_Spectre = Spectre.CreateBitmap(IMG_Spectre..Largeur, IMG_Spectre..Hauteur, -1, -1, Vrai)
Merci
EDIT :
J'ai essayé ceci :
Mais ça ne correspond pas windev me dis : Aucune syntaxe de Save ne correspond.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Spectre_Bitmap est un Graphics dynamique Spectre_Bitmap = Spectre.CreateBitmap(372, 88, -1, -1, Vrai) Spectre_Bitmap.Save("C:\test.png", ImageFormat.Png)
bonjour damien,
au feeling (le hasard fait parfois bien les choses) j'essaierai un :
Ami calmant, J.P
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Spectre est un WaveForm dynamique g est un graphics dynamique prc est un Rectangle(1,1,IMG_Spectre..Largeur,IMG_Spectre..Hauteur) Spectre = allouer WaveForm("D:\Aloe Blacc - 01 - I Need A Dollar.MP3") Spectre.FrameResolution = 0.01 Spectre.ColorBackground = Color.Transparent Spectre.ColorLeft = Color.White Spectre.ColorRight = Color.White Spectre.ColorLeftEnvelope = Color.Transparent Spectre.ColorRightEnvelope = Color.Transparent Spectre.RenderStart(Vrai, BASSFlag.BASS_DEFAULT) g = Graphics::FromHwnd(Handle("IMG_Spectre")) Spectre.CreateBitmap(g,prc, -1, -1, Vrai)![]()
Bonjour jurassic pork,
Merci de ton aideJ'ai testé ton code, çà progresse mais çà ne fonctionne pas totalement, voici le résultat :
Il ne créer qu'un bout du spectre et dès que je clic sur le spectre il disparaît :s
Bonsoir,
J'essai maintenant d'utiliser les fonctions d'enregistrement de la dll Bass mais comme dis =JBO= il faut utiliser la fonction DotNetDélégué() mais l'aide n'est pas dutout "intuitive" on va dire ...
Quelqu'un saurais comment utiliser cette fonction ? Voici le code .net que j'essai de passer en Windev :
Donc j'ai tenter ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private _myRecProc As RECORDPROC Dim recChannel As Integer _myRecProc = New RECORDPROC(AddressOf MyRecording) recChannel = Bass.BASS_RecordStart(11025, 2, BASSFlag.BASS_RECORD_PAUSE, _myRecProc, IntPtr.Zero)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CallRecord est un RECORDPROC dynamique Rec_channel est un entier Rec_channel = Bass::BASS_RecordStart(11025, 2, BASSFlag.BASS_RECORD_PAUSE, CallRecord, IntPtr.Zero)
Merci![]()
bonsoir,
j'ai un peu fait joujou avec Bass.net et j'arrive maintenant à tracer les formes d'ondes d'un fichier mp3 dans un champ imageavec ceci :
pour Damien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Spectre est un WaveForm dynamique g est un Graphics dynamique dcim1 sont des entiers système prc est un Rectangle(1,1,SC_Fiche.Image1..Largeur,SC_Fiche.Image1..Hauteur) Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_LATENCY, Null) Spectre = allouer un WaveForm("F:\Kalimba.mp3") Spectre.FrameResolution = 0.1 Spectre.ColorBackground = Color.Black Spectre.ColorLeft = Color.White Spectre.ColorRight = Color.White Spectre.ColorLeftEnvelope = Color.Transparent Spectre.ColorRightEnvelope = Color.Transparent Spectre.RenderStart(Faux, BASSFlag.BASS_DEFAULT) g = Graphics::FromHwnd(Handle("SC_Fiche.Image1")) Spectre.CreateBitmap(g,prc, -1, -1, Vrai) dcim1=dDébutDessin(SC_Fiche.Image1) AppelDLL32("gdi32","BitBlt", dcim1 , 0 , 0 ,SC_Fiche.Image1..Largeur ,SC_Fiche.Image1..Hauteur ,g.GetHdc() , 0 , 0 , 0x00CC0020) g.dispose()
1) tu n'avais pas le rendu total car le renderStart était lancé en background ( 1er Paramètre était à true dans ce cas il faut gérer l'événement de fin de rendu). J'ai mis le 1er à paramètre à faux, dans ce cas la fonction est bloquante et attend la fin du rendu.
2) le plus dur çà a été de régler l'effacement du dessin sur recouvrement ou perte de focus du champ image. Je ne suis pas spécialiste mais avec un peu de chance je l'avoue, j'ai trouvé un procédé qui a l'air de fonctionner avec l'emploi de bitblt. Si quelqu'un est spécialiste dans ce domaine qu'il me dise si ce que j'ai fait est correct.
Ami calmant, J.P![]()
Merci à toi
J'essai de suite ton code
EDIT : c'est bon çà fonctionnej'ai rien dis lol
merci encore
EDIT 2 : As-tu essayé les fonctions d'enregistrement ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager