IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Remplacer des fichiers par C++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par défaut Remplacer des fichiers par C++
    Chères amies, chers amis du forum,
    je souhaite remplacer un fichiers par un autre, de manières à ce que windows affiche la fenêtre "Enregistre sous".
    Mon code actuel remplace bien le fichiers mais directement, sans passer par la fenetre, ce qui lui empeche de me demander si je veux remplacer le fichiers par le nouveaux créer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int main()
    {
     
    ofstream file("c:\\Documents and Settings\\Propriétaire\\Bureau\\Test.tex" , ios::out); 
    file.close();
    return 0;
    }
    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 188
    Par défaut
    je ne sais pas si tu peux faire ça sans passer par une lib d'IHM comme Qt ou WxWidget.

  3. #3
    Membre éclairé Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par défaut
    je me suis mal exprimé
    lorsque par exemple tu telecharge un fichier dans un dossiers tu a la fenetre enregegistrer sous qui apparait, moi à la fin de mon programme lorsque le fichiers .tex est créer il faudrait qu'il me demande la meme chose.
    Autre exemple losque tu veut faire apparatre cette fenetre sous VBA Xl tu utilise la fonction ActiveWorkbook.SaveAs Filename

  4. #4
    Invité
    Invité(e)
    Par défaut
    Il n'existe pas en C++ d'IHM standard comme dans d'autre langage, il faut donc, dès que l'on sort de l'affichage console, utiliser une bilbiothèque graphique. Tu peux soit utiliser les apis de base de ta plateforme(sous Windows par exemple c'est win32 ou win64) ou utiliser,comme l'a dit atttchoum, une bibliothèque du genre WxWidget ou Qt. Après tu fait ton choix en fonction de divers paramètres : portabilité, dépendances de la bibliothèque.... Chaque IHM a des fonctions ou des classes spécifiques pour créer une fenêtre d'enregistrement

  5. #5
    Membre éclairé Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par défaut
    merci
    j'ai justement recupere un code qui va dans ce sens.
    je penser qu'il aurait quelque chose de plus simple mais bon

  6. #6
    Membre éclairé Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par défaut
    Cheres amies amis du forum
    voici le code que j'ai recupere
    le probleme est qu'a la compilation il m'affiche plusiseur erreur toute du meme type:
    error C2440: '='*: impossible de convertir de 'const char [69]' en 'LPCWSTR'
    ou
    error C2440: '='*: impossible de convertir de 'char []' en 'LPWSTR',
    Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction

    j'ai essayé de changer les char en string mais rien n'y fait
    pourriez vous m'aider SVP

    merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /********************************************************/
    /*							*/
    /*					tools.h		*/
    /*							*/
    /********************************************************/
    /* prototypage des fonctions tools */
    void LoadDirectory  ( HWND, char [] );
    int SelectDir( char []);
    void DateJour (char []);
    void ConvertDate ( char [], char []);
    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
     
    /********************************************************/
    /*							*/
    /* Plusieurs Méthode Outils 				*/
    /*							*/
    /* LoadDirectory : 					*/
    /* Fenetre de type Enregistrer Sous			*/
    /*							*/
    /* SelectDir     :					*/
    /* Fenetre du type Sélectionner un dir 			*/
    /*							*/
    /* DateJour	  : 					*/
    /* Retourne la date courante 01/01/2003			*/
    /*							*/
    /* ConvertDate	  :					*/
    /* Converti la chaine date sans les caracteres '/'	*/
    /*							*/
    /* Créé le 01/12/2002	Par Trinita			*/
    /* Modifié le 24/01/2003				*/
    /* Version 1.0.4					*/
    /********************************************************/
     
    #include <windows.h>
    #include <shlobj.h>
    #include <time.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    #include "tools.h"
     
    #define	MAIN_LEN		80
    #define IDC_MAIN_TEXT		100
     
    /* Fenêtre ENREGISTRER SOUS */
    void LoadDirectory(HWND hDlgTools, char szFileName[MAIN_LEN+1])
    {
            /* Déclaration des variables */
    	OPENFILENAME ofn;
     
    	/* Init des variables */				
    	ZeroMemory(&ofn, sizeof(ofn));
    	szFileName[0]=0;
     
    	/* Déclaration de la structure de OPENFILENAME */
    	ofn.lStructSize = sizeof(ofn); 
    	ofn.hwndOwner = hDlgTools; 
    	// ofn.hInstance =; 
    	ofn.lpstrFilter = "Fichiers xls (*.xls)\0*.xls\0Fichiers txt (*.txt)\0*.txt\0Tous (*.*)\0*.*"; 
    	// ofn.lpstrCustomFilter; 
    	// ofn.nMaxCustFilter; 
    	// ofn.nFilterIndex; 
    	ofn.lpstrFile = szFileName; 
    	ofn.nMaxFile = MAIN_LEN+1; 
    	// ofn.lpstrFileTitle = "Exportation"; 
    	// ofn.nMaxFileTitle; 
    	ofn.lpstrInitialDir = "c:\\"; 
    	// ofn.lpstrTitle; 
    	ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR; 
    	// ofn.nFileOffset; 
    	// ofn.nFileExtension =; 
    	ofn.lpstrDefExt = "xls"; 
    	// ofn.lCustData; 
    	// ofn.lpfnHook; 
    	ofn.lpTemplateName ="Exportation"; 
     
    	/* Ouverture de la fenetre de selection */
    	if ( GetSaveFileName ( &ofn ) )
    	{
    		/* Récupération du nom de fichier */
       		SendMessage(GetDlgItem(hDlgTools,IDC_MAIN_TEXT),WM_GETTEXT,sizeof(szFileName),(LPARAM)szFileName);
    	}
    }
     
    /* Sélection d'un répertoire */
    HWND hDlgTool;
     
    int SelectDir( char szPath[MAX_PATH] )
    {
     
    	BROWSEINFO bi;
    	ITEMIDLIST *il;
    	char Buffer[MAX_PATH];
     
    	bi.hwndOwner=hDlgTool;
    	bi.pidlRoot=NULL;
    	bi.pszDisplayName=&Buffer[0];
    	bi.lpszTitle="Choisissez un répertoire :";
    	bi.ulFlags=0;
    	bi.lpfn=NULL;
    	if( (il=SHBrowseForFolder(&bi)) ==NULL ) return 0;
    	return SHGetPathFromIDList(il, &szPath[0]);
    }
     
    /* Donne la date du jour du PC */
    /* Format CHAR 11 */
    void DateJour (char DateCourante[11])
    {
     
    	SYSTEMTIME SystemTime;
    	GetSystemTime(&SystemTime);  //Initialisation
     
    	/* La structure
    	SystemTime.wDay        		=> le jour
    	SystemTime.wMonth     		=> le mois
    	SystemTime.wYear      		=> l'année
    	SystemTime.wHour       		=> l'heure
    	SystemTime.wMinute    		=> les minutes
    	SystemTime.wSecond  		=> les secondes
    	SystemTime.wMilliseconds  	=> les milli-secondes
    	*/
     
    	// Construction de la chaine de retour
    	char*JourCourant=new char;
    	wsprintf(JourCourant,"%d",SystemTime.wDay);
    	strcpy ( DateCourante, JourCourant );
     
    	strcat ( DateCourante, "/" );
     
    	char*MoisCourant=new char;
    	wsprintf(MoisCourant,"%d",SystemTime.wMonth);	
    	strcat ( DateCourante, MoisCourant );
     
    	strcat ( DateCourante, "/" );
     
    	char*AnneeCourante=new char;
    	wsprintf(AnneeCourante,"%d",SystemTime.wYear);	
    	strcat ( DateCourante, AnneeCourante );	
     
    	return;
     
    }
     
    /* Converti une chaine char de type date <01/01/2002> au format <01012002> */
    void ConvertDate ( char ChaineDate[11], char NewChaineDate[9])
    {
        char	*pointeur;
        char	*separateur = { "/" };
    	char 	*buffer;
     
    	buffer = strdup ( ChaineDate );
     
        // premier appel, le jour
        pointeur = strtok( buffer, separateur  );
    	strcpy ( NewChaineDate, pointeur );
     
        // pour le mois et l'année
        while( pointeur != NULL ) 
        {
     
          // Cherche les autres separateur
          pointeur = strtok( NULL, separateur  );
          if ( pointeur != NULL )
          {
          	strcat ( NewChaineDate, pointeur );
          }
        }
     
        return ;
    }

Discussions similaires

  1. Remplacer des variables par un fichier properties
    Par stanilas dans le forum Maven
    Réponses: 1
    Dernier message: 01/06/2012, 08h56
  2. Réponses: 5
    Dernier message: 23/07/2009, 19h49
  3. Réponses: 1
    Dernier message: 14/02/2006, 00h40
  4. Remplacer des boutons par des menus déroulants?
    Par drthodt dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 17h37
  5. Réponses: 5
    Dernier message: 30/05/2005, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo