[C++] Ouverture via explorer pour choix de fichier

Ouverture via explorer pour choix de fichier [C++] - C++ - Programmation

Marsh Posté le 05-06-2003 à 11:05:34    

J'ai un programme qui lit un fichier texte et qui extrait des informations .  
J'aimerais que lors de l'ouverture ou sur un bouton de l'ihm on puisse via l'exploreur de windows (ou n'importe quel autre moyen le plus simple  :jap: ) on choissise l'emplacement du fichier.
 
Quel est la méthode à utiliser ?  
 
Je n'ai quasiment aucune experience en ihm ( à part CVI ...) .

Reply

Marsh Posté le 05-06-2003 à 11:05:34   

Reply

Marsh Posté le 05-06-2003 à 11:08:35    

Soit SHBrowserForFolder pour choisir un dossier, soit GetOpenFileName/GetSaveFileName pour choisir un fichier et son emplacement


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-06-2003 à 11:13:30    

Merci de ta rapiditer  :)  
 
Je travail sous Visual c++ et dans l'aide je n'ai pa trouver la fonction exacte j'ai ca :
 
-GetOpenFileNameViaDlg Method       a lire les discription ca doit etre ca mais ca ma l'air compliquer a utiliser  :whistle: ...  Ca fait a peine un an que je code  :D  ...
 

Code :
  1. HRESULT __stdcall GetOpenFileNameViaDlg(
  2.    BSTR bstrDlgTitle,
  3.    BSTR bstrInitialDir,
  4.    BSTR bstrFilter,
  5.    BSTR bstrFileName,
  6.    /* [out, retval] */ BSTR* retVal
  7. );


 
Je doit utiliser tout ces parametre ?

Reply

Marsh Posté le 05-06-2003 à 11:13:55    

Ou CFileDialog si t'utilises les MFC

Reply

Marsh Posté le 05-06-2003 à 11:15:06    

Je sais pas, j'utilise les trucs de Borland moi :D
les fonctions que je t'ai donné sont celles de l'API Win32


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-06-2003 à 11:17:21    

El_gringo a écrit :

Ou CFileDialog si t'utilises les MFC


 
Moi pas parler meme langue que toi  :(  
 
les MFC c quoi ?  :whistle:

Reply

Marsh Posté le 05-06-2003 à 11:20:24    

Un ensemble de classes qui encapsulent l'API Win32, pour faire un truc vaguement orienté objet. C'est dans Visual C++.
Dans C++Builder t'as la VCL qui fait le même genre.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-06-2003 à 11:24:09    

antp a écrit :

Un ensemble de classes qui encapsulent l'API Win32, pour faire un truc vaguement orienté objet.  


 
Oui ! mais non ... J'utilise pas  :D  
 
Je vais essayer d'utiliser GetOpenFileNameViaDlg  :wahoo:

Reply

Marsh Posté le 05-06-2003 à 11:33:00    

Erf je n'y comprend rien sur ce coup ....  
 
L'exemple de la Msdn est pas du tout comprehensible ...Il utilise plein de  trucs que je n'ai pas vu , mais je ne pense pas que ca intervienne dans ma petite boîte de dialogue, enfin j'espere  :lol:  
 

Reply

Marsh Posté le 05-06-2003 à 11:36:43    

antp a écrit :

Un ensemble de classes qui encapsulent l'API Win32, pour faire un truc vaguement orienté objet. C'est dans Visual C++.
Dans C++Builder t'as la VCL qui fait le même genre.


 
C pas "vaguement" orienté objet mais fortement en fait.
Par contre c sur ke ca sert a rien.

Reply

Marsh Posté le 05-06-2003 à 11:36:43   

Reply

Marsh Posté le 05-06-2003 à 11:37:28    

MaXXXXXX a écrit :


 
Oui ! mais non ... J'utilise pas  :D  
 
Je vais essayer d'utiliser GetOpenFileNameViaDlg  :wahoo:  


 
Tu peux chercher ds le forum, ya 12 exemples d utilisation de GetOpenFileName()

Reply

Marsh Posté le 05-06-2003 à 11:39:14    

Pas bete  :jap:  
 
Mici
 
Edit  
------
 
Bin je n'ai trouvé que 2 sujets et les lignes de codes marqué sont faux, j'ai appliquer les solutions du problemes mais soit je suis pas douer soit euh  :ange:  
 
 
Il n'y en a pas un qui a un bout de code simple pour cette boite de dialogue ( les noms des includes ossi :D ) ?
 
Merci


Message édité par maxxxxxx le 05-06-2003 à 11:51:39
Reply

Marsh Posté le 05-06-2003 à 11:57:12    

konar_spreme a écrit :


 
C pas "vaguement" orienté objet mais fortement en fait.
 


 
ça dépend par rapport à quoi...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-06-2003 à 12:30:10    

Mais déja, laisse tomber ton "GetOpenFileNameViaDlg" que tu sors de je n'sais où, et utilises "GetOpenFileName", c'est tout bête !

Reply

Marsh Posté le 05-06-2003 à 13:06:40    

Je veux bien l'utiliser mais comment ? La Msdn ne connait pas cette fonction ...
 
Ou est ce que je peux trouver comment fonctionne GetOpenFileName ? Quel parametre à passer et que me retourne t'elle ?

Reply

Marsh Posté le 05-06-2003 à 13:08:50    

C koi ta MSDN la ... ou alors faudrait apprendre a chercher
 
efnin bon


GetOpenFileName
The GetOpenFileName function creates an Open dialog box that lets the user specify the drive, directory, and the name of a file or set of files to open.  
 
BOOL GetOpenFileName(
  LPOPENFILENAME lpofn   // initialization data
);
Parameters
lpofn  
[in/out] Pointer to an OPENFILENAME structure that contains information used to initialize the dialog box. When GetOpenFileName returns, this structure contains information about the user's file selection.  
Return Values
If the user specifies a file name and clicks the OK button, the return value is nonzero. The buffer pointed to by the lpstrFile member of the OPENFILENAME structure contains the full path and file name specified by the user.
 
If the user cancels or closes the Open dialog box or an error occurs, the return value is zero. To get extended error information, call the CommDlgExtendedError function, which can return one of the following values:  
 
CDERR_DIALOGFAILURE
CDERR_FINDRESFAILURE
CDERR_NOHINSTANCE
CDERR_INITIALIZATION
CDERR_NOHOOK
CDERR_LOCKRESFAILURE
CDERR_NOTEMPLATE
CDERR_LOADRESFAILURE
CDERR_STRUCTSIZE
CDERR_LOADSTRFAILURE
FNERR_BUFFERTOOSMALL
CDERR_MEMALLOCFAILURE
FNERR_INVALIDFILENAME
CDERR_MEMLOCKFAILURE
FNERR_SUBCLASSFAILURE
 
Remarks
The Explorer-style Open dialog box provides user-interface features that are similar to the Windows Explorer. You can provide an OFNHookProc hook procedure for an Explorer-style Open dialog box. To enable the hook procedure, set the OFN_EXPLORER and OFN_ENABLEHOOK flags in the Flags member of the OPENFILENAME structure and specify the address of the hook procedure in the lpfnHook member.  
 
Windows continues to support the old-style Open dialog box for applications that want to maintain a user-interface consistent with the old-style user-interface. To display the old-style Open dialog box, enable an OFNHookProcOldStyle hook procedure and ensure that the OFN_EXPLORER flag is not set.
 
To display a dialog box that allows the user to select a directory instead of a file, call the SHBrowseForFolder function.
 
Note, when selecting multiple files, the total character limit for the file names depends on the operating system and the version of the function:  
 
Windows 95/98/Me: (only ANSI is supported) no restriction  
Windows NT4 and earlier: 32k limit  
Windows 2000/XP: (ANSI) 32k limit, (Unicode) no restriction  
Windows NT 4.0: The OPENFILENAME structure includes additional members on more recent versions of Windows. However, this causes problems for applications on previous versions of Windows. To use the current header files for applications that must run on Windows NT 4.0, either use the #define "/D_WIN32_WINNT=0x0400" or use OPENFILENAME_SIZE_VERSION_400 for the lStructSize member of OPENFILENAME.
 
Windows 95/98/Me: GetOpenFileNameW is supported by the Microsoft Layer for Unicode. To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.
 
Example Code
For an example, see Opening a File.  
 
Requirements  
  Windows NT/2000/XP: Included in Windows NT 3.1 and later.
  Windows 95/98/Me: Included in Windows 95 and later.
  Header: Declared in Commdlg.h; include Windows.h.
  Library: Use Comdlg32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000/XP. Also supported by Microsoft Layer for Unicode.
 
See Also
Common Dialog Box Library Overview, Common Dialog Box Functions, CommDlgExtendedError, GetSaveFileName, OFNHookProc, OFNHookProcOldStyle, OPENFILENAME, SHBrowseForFolder  

Reply

Marsh Posté le 05-06-2003 à 14:15:54    

Erf en fete je vous explique je suis en stage et il m'on fournit Visual .net et c pas du tout pareil que le Visual que j'utilisais ...  
 
Merci Bien Visual C++  :)

Reply

Marsh Posté le 05-06-2003 à 14:45:42    

Euh l'aide la il vient d'un .NET :p

Reply

Marsh Posté le 05-06-2003 à 15:19:14    

:cry:  :cry:  :cry:  :cry:  :cry:  :cry:  
 
Tu la prend ou l'aide directement sous visual ?
Ou comme avant tu a un lien externe ds le dossier "Tous les programmes "?
 
 
Bon sinon moi ca marche toujours pas .... lol  
 
J'ai trouver ce qu'il faut inclure: <windows.h> arreter de vous foutre de moi la !  :lol:  
 

Reply

Marsh Posté le 05-06-2003 à 16:21:11    

Direct sous Visual.Net (et le fait d avoir ou non l'aide ds une page de l'ide ou une fenetre a part c une conf a la page de demarage quand tu lances .Net)

Reply

Marsh Posté le 05-06-2003 à 16:30:22    

Oki merci sinon j'ai trouver aussi l'Msdn en ligne  
 
MSDN   :jap:  
 
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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