Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3308 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Ouvrir un fichier, quelles solutions?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ouvrir un fichier, quelles solutions?

n°2017216
scarecrows​'nox
Keep on D(r)ummin'!!!!
Posté le 16-08-2010 à 14:52:36  profilanswer
 

Salut à tous,
Je débute en c++, et j'aimerais savoir comment créer une boite de dialogue pour ouvrir un fichier (comme si on faisait Fichier->Ouvrir)
J'ai déjà chercher sur le forum mais j'ai rien trouvé...
Merci d'avance!


---------------
cpu: Intel E8500 @ 4.4Ghz, gpu: Crossfire HD4870 Vapor-X, mob: Asus P5E64 WS Evolution, ram: 6Go DDR3 PC10600, alm: 650W, dd: 5250 GO, box: Corsair Obsidian 800D, OS: Windows 7 Pro x64
mood
Publicité
Posté le 16-08-2010 à 14:52:36  profilanswer
 

n°2017261
tpierron
Posté le 16-08-2010 à 17:16:31  profilanswer
 

scarecrows'nox a écrit :

Salut à tous,
Je débute en c++, et j'aimerais savoir comment créer une boite de dialogue pour ouvrir un fichier (comme si on faisait Fichier->Ouvrir)
J'ai déjà chercher sur le forum mais j'ai rien trouvé...
Merci d'avance!


 
Ouch, tu débutes en C++ et tu veux t'attaquer à l'API Win32 ? Va t'en falloir de la motivation. À tout hasard regarde la fonction GetOpenFileName. Tu va devoir remplir une structure OPENFILENAME. Il n'y a pas besoin de créer de boite de dialogue pour utiliser cette fonction. Si tu veux une fenêtre avec quelques contrôles, ça va devenir très très gore....

n°2017267
boblenain2​00
Posté le 16-08-2010 à 17:48:04  profilanswer
 
n°2017270
theshockwa​ve
I work at a firm named Koslow
Posté le 16-08-2010 à 18:12:38  profilanswer
 

ouvrir ce genre de boite de dialogue ne se fait pas nécessairement en Win32. Il faudrait déjà voir si tu as un toolkit que tu utilises pour faire ton interface.


---------------
last.fm
n°2017341
scarecrows​'nox
Keep on D(r)ummin'!!!!
Posté le 17-08-2010 à 09:32:42  profilanswer
 

Merci à vous,  
Alors je ne peux pas utiliser de lib tierce comme Qt ou WxWidgets (je me suis renseigné un peu quand mm!!).
Ensuite tperrion il faut include quoi comme lib pour ca?


---------------
cpu: Intel E8500 @ 4.4Ghz, gpu: Crossfire HD4870 Vapor-X, mob: Asus P5E64 WS Evolution, ram: 6Go DDR3 PC10600, alm: 650W, dd: 5250 GO, box: Corsair Obsidian 800D, OS: Windows 7 Pro x64
n°2017421
tpierron
Posté le 17-08-2010 à 14:45:50  profilanswer
 

scarecrows'nox a écrit :

Merci à vous,
Alors je ne peux pas utiliser de lib tierce comme Qt ou WxWidgets (je me suis renseigné un peu quand mm!!).
Ensuite tperrion il faut include quoi comme lib pour ca?

 

Ouch, il ne reste donc que l'API Win32 (on va éviter les MFC). GetOpenFileName() est définie dans "windows.h". Il faut ajouter la lib "comdlg32" dans l'édition des liens. Ça c'est un exemple classique d'utilisation (faudra lire la doc pour le détail...):

 
Code :
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4. int WINAPI WinMain (HINSTANCE hThisInstance,
  5.                    HINSTANCE hPrevInstance,
  6.                    LPSTR lpszArgument,
  7.                    int nFunsterStil)
  8. {
  9.     OPENFILENAME ofn = {}; // common dialog box structure
  10.     char szFile[260]; // buffer for file name
  11.  
  12.     ofn.lStructSize = sizeof(ofn);
  13.     ofn.lpstrFile = szFile;
  14.  
  15.     //
  16.     // Set lpstrFile[0] to '\0' so that GetOpenFileName does not
  17.     // use the contents of szFile to initialize itself.
  18.     //
  19.     ofn.lpstrFile[0] = '\0';
  20.     ofn.nMaxFile = sizeof(szFile);
  21.     ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
  22.     ofn.nFilterIndex = 1;
  23.     ofn.lpstrFileTitle = NULL;
  24.     ofn.nMaxFileTitle = 0;
  25.     ofn.lpstrInitialDir = NULL;
  26.     ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
  27.  
  28.     // Display the Open dialog box.
  29.     if (GetOpenFileName(&ofn))
  30.     {
  31.         fprintf(stderr, "fichier = %s\n",ofn.lpstrFile);
  32.     }
  33.  
  34.     return 0;
  35. }


Message édité par tpierron le 17-08-2010 à 14:46:47
n°2017460
scarecrows​'nox
Keep on D(r)ummin'!!!!
Posté le 17-08-2010 à 16:45:44  profilanswer
 

Nickel tpierron ca marche nickel!!
Maintenant me reste plus qu'a finir mon soft!!


---------------
cpu: Intel E8500 @ 4.4Ghz, gpu: Crossfire HD4870 Vapor-X, mob: Asus P5E64 WS Evolution, ram: 6Go DDR3 PC10600, alm: 650W, dd: 5250 GO, box: Corsair Obsidian 800D, OS: Windows 7 Pro x64

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Ouvrir un fichier, quelles solutions?

 

Sujets relatifs
remplir une base de donnée à l'aide d'un fichier texteMacro: Changer le type du fichier dans Enregistrer sous
[RESOLU] Remplacement d'une chaine de caractères dans un fichier htmldeterminer l'origine d'un fichier
c# dezipper un fichier téléchargé dans un repertoiresupprimer tous espaces suivi par un ; dans un fichier
Ecriture dans un fichier de logConversion et sauvegarde de fichier JSF
Monitoring d'une MAJ d'un fichier située sur un lecteur réseauproblème avec la création d'un fichier php
Plus de sujets relatifs à : Ouvrir un fichier, quelles solutions?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR