File Extension

vez_from_hell Messages postés 14 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 15 mars 2006 - 27 févr. 2005 à 22:58
vez_from_hell Messages postés 14 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 15 mars 2006 - 28 févr. 2005 à 19:43
Bonjour

pour commencer je développe un programme de texte (un peu comme bloc notes) mais je ne sais pas comment, lorsque j'enregistre un fichier, donné l'extension à un fichier (comme par exemple .txt avec bloc notes).
J'espere que vous pourrez m'aider

2 réponses

jeromedu94 Messages postés 83 Date d'inscription mardi 24 février 2004 Statut Membre Dernière intervention 10 mars 2006
28 févr. 2005 à 00:38
il suffit de mettre ton extension dans le nom du fichier.

ex : file = fopen("tonfichier.txt","wt");
0
vez_from_hell Messages postés 14 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 15 mars 2006
28 févr. 2005 à 19:43
je ne comprend pas vraiment, je vais vs donner ma source et pourriez vous me dire comment je pourrais créer un extension de fichier et lorsque je vais cliquer sur ouvrir, ce soit inscrit dans fichier de type(dans la boite de dialogue en bas de nom du fichier) et lorsque j'enregistre je voudrais aussi que ce soit l'extension par défaut (sans avoir besoin de l'ajouter apres le nom du fichier)

voici ma source:

//---------------------------------------------------------------------------


#include <vcl.h>
#pragma hdrstop
#include <windows.hpp>
#include <stdlib.h>
#include <stdio.h>
#include "Main.h"
#include "ReConst.hpp"
#include "reconst.hpp"






//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;


//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)



{
SetFileName(Reconst_SUntitled);


}


//----------------------------------------------------------------------------
TTextAttributes *__fastcall TForm1::CurrText(void)
{
return RichEdit1->SelAttributes;
}
//----------------------------------------------------------------------------
int __stdcall EnumFontsProc(TLogFontA &LogFont, TTextMetricA &/*TextMetric*/,
int /*FontType*/, Pointer Data)
{
TCharsetObject *FontCharset;
FontCharset = new TCharsetObject((int)LogFont.lfCharSet);
((TStrings *)Data)->AddObject((AnsiString)LogFont.lfFaceName,FontCharset);
return 1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::GetFontNames(void)
{ HDC hDC = GetDC(0);
void * cTmp = (void *)FontName->Items;
EnumFonts(hDC, NULL, (FONTENUMPROC) EnumFontsProc, (long) cTmp );
ReleaseDC(0,hDC);
FontName->Sorted = True;
}
//----------------------------------------------------------------------------
void __fastcall TForm1::SetFileName(const AnsiString FileName)
{
LPSTR lpBuf = new char[MAX_PATH];
sprintf(lpBuf, Reconst_SPercent_s.c_str(), ExtractFileName(FileName).c_str(),
Application->Title.c_str());
Caption = (AnsiString)lpBuf;
FFileName = FileName;
delete lpBuf;
}
//----------------------------------------------------------------------------
void __fastcall TForm1::CheckFileSave(void)
{ if ( RichEdit1->Modified ) {
switch(MessageBox(Handle, Reconst_SSaveChanges.c_str(),
Reconst_SConfirmation.c_str(),MB_YESNOCANCEL | MB_ICONQUESTION))
{ case ID_YES : Save1Click(this);
case ID_CANCEL : Abort();
};
}
}


//----------------------------------------------------------------------------
void __fastcall TForm1::ShowHint(TObject* /*Sender*/)
{ StatusBar1->SimpleText = Application->Hint;
}
//----------------------------------------------------------------------------


void __fastcall TForm1::NewButtonClick(TObject *Sender)
{
CheckFileSave();
SetFileName(Reconst_SUntitled);
RichEdit1->Lines->Clear();
RichEdit1->Modified = False;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::OpenButtonClick(TObject *Sender)
{
CheckFileSave();
if (OpenDialog1->Execute()) {
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
SetFileName(OpenDialog1->FileName);
RichEdit1->SetFocus();
RichEdit1->Modified = False;
RichEdit1->ReadOnly = OpenDialog1->Options.Contains(ofReadOnly);
}
}
//---------------------------------------------------------------------------


void __fastcall TForm1::SaveButtonClick(TObject *Sender)
{
if ( !strcmp(FFileName.c_str(), Reconst_SUntitled.c_str()) )
SaveAs1Click(Sender);
else
{
RichEdit1->Lines->SaveToFile(FFileName);
RichEdit1->Modified = False;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SaveAs1Click(TObject* /*Sender*/)
{ if ( SaveDialog1->Execute() ) {
RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
SetFileName(SaveDialog1->FileName);
RichEdit1->Modified = False;
}
}


//---------------------------------------------------------------------------


void __fastcall TForm1::PrintButtonClick(TObject *Sender)
{
if ( PrintDialog1->Execute() ) RichEdit1->Print( FFileName );
}
//---------------------------------------------------------------------------


void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
if ( RichEdit1->HandleAllocated() )
SendMessage(RichEdit1->Handle, EM_UNDO, 0, 0);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Cut1Click(TObject *Sender)
{
RichEdit1->CutToClipboard();
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Copy1Click(TObject *Sender)
{
RichEdit1->CopyToClipboard();
}
//---------------------------------------------------------------------------


void __fastcall TForm1::C1Click(TObject *Sender)
{
RichEdit1->PasteFromClipboard();
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Font1Click(TObject *Sender)
{
FontDialog1->Font->Assign( RichEdit1->SelAttributes );
if ( FontDialog1->Execute() )
CurrText()->Assign( FontDialog1->Font );


RichEdit1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::New1Click(TObject *Sender)
{ CheckFileSave();
SetFileName(Reconst_SUntitled);
RichEdit1->Lines->Clear();
RichEdit1->Modified = False;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Open1Click(TObject *Sender)
{
CheckFileSave();
if (OpenDialog1->Execute()) {
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
SetFileName(OpenDialog1->FileName);
RichEdit1->SetFocus();
RichEdit1->Modified = False;
RichEdit1->ReadOnly = OpenDialog1->Options.Contains(ofReadOnly);
}
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Saveas1Click(TObject *Sender)
{
if ( SaveDialog1->Execute() ) {
// Options + OverwritePrompt = True thus no need to check.
RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
SetFileName(SaveDialog1->FileName);
RichEdit1->Modified = False;
}
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Save1Click(TObject *Sender)
{
if ( !strcmp(FFileName.c_str(), Reconst_SUntitled.c_str()) )
SaveAs1Click(Sender);
else
{
RichEdit1->Lines->SaveToFile(FFileName);
RichEdit1->Modified = False;
}
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Print1Click(TObject *Sender)
{
if ( PrintDialog1->Execute() ) RichEdit1->Print( FFileName );
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Exit1Click(TObject *Sender)
{
CheckFileSave();
Close();
}
//---------------------------------------------------------------------------
__fastcall TCharsetObject::TCharsetObject(int FCharset)
: TObject()
{
Charset = FCharset;
}


//---------------------------------------------------------------------------


void __fastcall TForm1::FontNameChange(TObject* /*Sender*/)
{
TCharsetObject* ChasrsetObject;


if ( !FUpdating )
{
int FontIndex = FontName->ItemIndex;
if ((FontIndex > -1) & (FontIndex < FontName->Items->Count))
{
ChasrsetObject = (TCharsetObject*)FontName->Items->Objects[FontName->ItemIndex];
CurrText()->Charset = (unsigned char)ChasrsetObject->Charset;
CurrText()->Name = FontName->Items->Strings[FontName->ItemIndex];
}
}
}
//----------------------------------------------------------------------------
void __fastcall TForm1::SelectFont(TObject* /*Sender*/)
{ FontDialog1->Font->Assign( RichEdit1->SelAttributes );
if ( FontDialog1->Execute() )
CurrText()->Assign( FontDialog1->Font );


RichEdit1->SetFocus();
}
//----------------------------------------------------------------------------
void __fastcall TForm1::FormCloseQuery(TObject* /*Sender*/,
bool & CanClose)
{ try {
CheckFileSave();
}
catch (...) {
CanClose = False;
}
}
//----------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
CheckFileSave();
for(int n = 0;n < FontName->Items->Count;n++)
if( FontName->Items->Objects[n] ){
delete FontName->Items->Objects[n];
FontName->Items->Objects[n] = NULL;
}
}
//----------------------------------------------------------------------------
void __fastcall TForm1::Undo1Click(TObject *Sender)
{
if ( RichEdit1->HandleAllocated() )
SendMessage(RichEdit1->Handle, EM_UNDO, 0, 0);
}
//----------------------------------------------------------------------------

et le fichier .h:
//---------------------------------------------------------------------------


#ifndef MainH
#define MainH
//---------------------------------------------------------------------------
#include <Outline.hpp>
#include <Grids.hpp>
#include
#include <ExtCtrls.hpp>
#include <StdCtrls.hpp>
#include <ComCtrls.hpp>
#include <Menus.hpp>
#include <Dialogs.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <System.hpp>
#include <ToolWin.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // Composants gérés par l'EDI
TMainMenu *MainMenu1;
TMenuItem *File1;
TRichEdit *RichEdit1;
TLabel *Label1;
TSaveDialog *SaveDialog1;
TOpenDialog *OpenDialog1;
TPrintDialog *PrintDialog1;
TMenuItem *New1;
TMenuItem *Save1;
TMenuItem *Saveas1;
TMenuItem *N1;
TMenuItem *Open1;
TMenuItem *Print1;
TMenuItem *N2;
TComboBox *FontName;
TCoolBar *CoolBar1;
TSpeedButton *OpenButton;
TSpeedButton *SaveAsButton;
TSpeedButton *NewButton;
TSpeedButton *SaveButton;
TSpeedButton *PrintButton;
TSpeedButton *SpeedButton1;
TSplitter *Splitter1;
TBevel *Bevel3;
TBevel *Bevel1;
TBevel *Bevel2;
TMenuItem *Exit1;
TStatusBar *StatusBar1;
TMenuItem *Edit1;
TMenuItem *C1;
TMenuItem *Copy1;
TMenuItem *Cut1;
TMenuItem *N4;
TMenuItem *About1;
TMenuItem *N3;
TMenuItem *Font1;
TFontDialog *FontDialog1;
TMenuItem *Undo1;
TMenuItem *N5;
void __fastcall NewButtonClick(TObject *Sender);
void __fastcall OpenButtonClick(TObject *Sender);
void __fastcall SaveButtonClick(TObject *Sender);
void __fastcall PrintButtonClick(TObject *Sender);
void __fastcall SpeedButton1Click(TObject *Sender);
void __fastcall Cut1Click(TObject *Sender);
void __fastcall Copy1Click(TObject *Sender);
void __fastcall C1Click(TObject *Sender);
void __fastcall Font1Click(TObject *Sender);
void __fastcall SaveAs1Click(TObject *Sender);
void __fastcall New1Click(TObject *Sender);
void __fastcall Open1Click(TObject *Sender);
void __fastcall Saveas1Click(TObject *Sender);
void __fastcall Save1Click(TObject *Sender);
void __fastcall Print1Click(TObject *Sender);
void __fastcall Exit1Click(TObject *Sender);
void __fastcall SelectFont(TObject *Sender);
void __fastcall FontNameChange(TObject *Sender);
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall Undo1Click(TObject *Sender);
private: // Déclarations utilisateur
void __fastcall ShowHint(TObject *Sender);
AnsiString FFileName;
bool FUpdating;
TTextAttributes *__fastcall CurrText(void);
void __fastcall GetFontNames(void);
void __fastcall SetFileName(const AnsiString FileName);
void __fastcall CheckFileSave(void);
public: // Déclarations utilisateur
virtual __fastcall TForm1(TComponent* Owner);


};
//----------------------------------------------------------------------------
class TCharsetObject : public TObject
{
public:
int Charset;
__fastcall TCharsetObject(int FCharset);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

j'espere que vous pourrez m'aider
0
Rejoignez-nous