Utilisateur anonyme
-
20 août 2006 à 21:36
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
21 août 2006 à 23:44
Yop!
Bon je sais le titre n'est pas très explicite mais je ne savais comment mettre en titre ce que je vaix expliquer :-° (du moins tenter d'expliquer)
Voilou j'ai fais un spectre visuel pour le son, donc le probleme, il est que l'on doit rentrer dans le code pour changer le son.mp3 qui est visualiser et jouer, or moi j'aimerais savoir s'il est possible de creer une boite de recherche comme quand on installe qqc on peut naviguer sur son disque dur a travers une ptite boite je ne sais plus le nom qui nous montre tout nos fichier et l'arborescence, j'aimerais savoir si c'est possible de la recreer en C pour pouvoir jouer n'importe quelle son !????!!!???!
Merci
A voir également:
L'instruction emploie l'adresse mémoire la mémoire ne peut pas être written
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 20 août 2006 à 23:10
Aucune idée. À tu inclus le bon header (windows.h) et la bonne librairie (comdlg32.lib) à ton projet? Ensuite, j'ignore comment tu va procéder mais d'après ce que je vois, tu ne pourra jamais utiliser le nom du fichier avec une autre fonction car elle est en variable local. Si tu veux utiliser FileName avec plusieurs fonction, il faut la déclarer en global ou alors, la retourner de cette façon:
FileName sera alors déclaré en dehors de la fonction (dans le main par exemple) et pourra être utilisé (encore en paramètre) avec d'autre fonction l'utilisant comme suit par exemple:
Bon c'est pas grave j'abandonne, je pige jamais rien a la MSDN, pour faire une fonction faut aller en voir des dizaines d'autres, etc, et quand tu copie/Colle ca marche pas etc, donc tant pis ^^ merci quand meme, et si tu as plus simple ou du deja fais je suis preneur :p
int main (int argc, char *argv[])
{
OPENFILENAME ofn;
char FileName[MAX_PATH]; //Contiendera le nom complet du fichier (c:\windows\test.txt par exemple)
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 20 août 2006 à 22:36
Tu est en console? Ben alors remplace:
ofn.hwndOwner = hWnd;
par
ofn.hwndOwner = 0;
Ensuite, FileName va contenir le fichier que tu aura sélectionner dans la boite de dialogue (créé par GetOpenFileName). Si tu appuis sur Annuler, il ne contiendra que le 0 final.
C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation
Ben ca marche pas en SDL, ca me met des erreurs, et ca en rajoute a mon pgm, je dois mal le placer je pense, je creer un box.c dans le quel je mets:
void box()
{
OPENFILENAME ofn;
char FileName[MAX_PATH+1]; //Contiendera le nom complet du fichier (c:\windows\test.txt par exemple)
arf ca marche pas entierement, mais je te remercie pour tout ce que tu as fait, now avec tes commentaires et tout, j'ai compris et je peux le refaire moi même et modifier la fonction, alors merci !
Mais le petit probleme, il est sur la memoire, ca doit etre une histoire de pointeur, que je n'ai pas su resoudre en m'y étant bien penché ^^
en effet a la fin de mon programme, windows me marque: erreur d'application, l'instruction à "0x0036..." emploi l'adresse mémoire "0x000000", peut pas etre written, etc etc
ps: pour mon probleme précédent ou tu as dit aucune idée, en fait j'avais défini une fonction Son_Load 2 fois dans 2 fichier.h dont un qui n'avais pas de IFNTDEFINE donc voilou le probleme est reglé ^^
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 21 août 2006 à 23:44
"windows me marque: erreur d'application, l'instruction à "0x0036..." emploi l'adresse mémoire "0x000000", peut pas etre written, etc etc"
Ce n'est peut-être pas dû à mon bout de code. Généralement, quand une erreur comme celle-ci survien, c'est qu'il y a écriture dans une zone mémoire non aloué. Par exemple:
char test[5];
test[3] = 'a'; <- OK
test[78] = 'b'; <- !!!! ÉCRITURE DANS UNE MAUVAISE ZONE !!!!
C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation