bonjour, j'aimerais savoir comment faire pour ouvrir une boite de dialogue pour que l'utilisateur puisse choisir l'endroit ou il veut enregistrer un fichier
pouvez vous m'aider?
bonjour, j'aimerais savoir comment faire pour ouvrir une boite de dialogue pour que l'utilisateur puisse choisir l'endroit ou il veut enregistrer un fichier
pouvez vous m'aider?
bonjour, j'aimerais savoir ce que tu utilises comme bibliothèque graphique, parce qu'en C++ standard on ne peut pas faire de boîte de dialogue.
Précise aussi la plate-forme : Certaines (au hasard: Windows) proposent en natif une fonction pour les boites de dialogue de choix de fichier...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
bibliothèque graphiqueoèu je peux savoir ça?, je suis sur widows et j'utilise visual c++ 6.0 .... on m'A dit d'essayer avec jfilechooser, mais rien ne se passe
Utilises-tu les classes de VC++ (MFC) oubien développes-tu en Win32 pur ?
oui j'utilise mfc
je viens de me rendre compte que je ne fouillait pas dans la bonne faq....
http://c.developpez.com/faq/vc/?page...etOpenFileName
et je crois que ça marche...
oh non!!! ça donne une erreur:
vous savez ce que çaveut dire?error LNK2005: "int __cdecl DlgSelFicName(class CWnd *,class CString &,char const *,int)"
J'ai déplacé vers le bon forum.
Donne le message d'erreur complet.
Bn alors voila, j'ai util.h qui contien ma fonction:
et dans mon StdAfx.h j'inclut
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 BOOL DlgSelFicName(CWnd *pParent,CString& rstrFileName,LPCTSTR pszExt,BOOL bUnlink=FALSE) { #define MAXPATH 256 char szDrive[_MAX_DRIVE]; char szDir[_MAX_DIR]; char szFname[_MAX_FNAME]; char szExt[_MAX_EXT]; OPENFILENAME ofn; char szFileBuf[MAXPATH]; char szpathDir[128],*pszPath=NULL, szbufDir[128]; CString strRet; pszPath=(char *)_getcwd(NULL,127); szFileBuf[0] = 0; if(!rstrFileName.IsEmpty()) { _splitpath((const char *)rstrFileName, szDrive, szDir, szFname, szExt); strcpy(szpathDir,szDrive); strcat(szpathDir,szDir); strcpy(szFileBuf,szFname); strcat(szFileBuf,szExt); } else { strRet=AfxGetApp()->GetProfileString( "OpenFileName","Path",""); strcpy(szbufDir,strRet); if(strlen(szbufDir)) strcpy(szpathDir,szbufDir); else strcpy(szpathDir,pszPath); } ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner =(pParent?pParent->GetSafeHwnd():NULL); ofn.lpstrFilter =pszExt; ofn.lpstrCustomFilter = NULL; ofn.nFilterIndex = 0; ofn.lpstrFile = szFileBuf; ofn.nMaxFile = MAXPATH; ofn.lpstrFileTitle = NULL; ofn.lpstrInitialDir = szpathDir; ofn.lpstrTitle = NULL; ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST; ofn.lpstrDefExt = NULL; rstrFileName=""; BOOL bOK=FALSE; if (GetOpenFileName(&ofn)) { CString e; _splitpath(szFileBuf, szDrive, szDir, szFname, szExt); sprintf(szpathDir,"%s%s",szDrive,szDir); AfxGetApp()->WriteProfileString("OpenFileName","Path",szpathDir); sprintf(szFileBuf,"%s%s%s",szDrive,szDir,(strlen(szFname)?szFname:"")); e=pszExt; e=e.Right(5); e=e.Left(4); strcat(szFileBuf,(strlen(szExt)?szExt:e)); rstrFileName=szFileBuf; if(bUnlink) _unlink(szFileBuf); bOK=TRUE; } else rstrFileName=""; if(pszPath) { _chdir(pszPath); free(pszPath); } return bOK; }dans une dialog, je veuz appeller ma fonction (j'ai inclut "StdAfx.h")
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include "util.h"
alors je faismais ça me donne cette erruer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part DlgSelFicName(AfxGetMainWnd(),strFileName,"Fichiers Txt (*.txt)\0*.txt\0");
Pourtant je ne pense l'Ai déclarer nulle part ailleur que dans util.h"int __cdecl DlgSelFicName(class CWnd *,class CString &,char const *,int)" (?DlgSelFicName@@YAHPAVCWnd@@AAVCString@@PBDH@Z) already defined in DlgFindInFiles.obj
: fatal error LNK1169: one or more multiply defined symbols found
auriez vous une idée de mon erruer?
c bizarre en plus defois ça marque l'erreur, et desfois non....:
:
:
Tu l'as déclarée et implémentée dans le .h, et ça pose porblème. Il faut déclarer dans le .h, et implémenter dans le .cpp.
http://c.developpez.com/faq/cpp/?pag...ASS_header_cpp
Partager