begin process at 2012 05 29 16:26:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Prb avec CfileDialog


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Prb avec CfileDialog

mercredi 25 février 2004 à 10:54:11 | Prb avec CfileDialog

talaron

J'utilise CFileDialogue pour enregistrer des données dans mon prog et mon probleme est que l'orsque je fais autre chose que de taper le chemin le prog bug et tout ce ferme. Impossible de faire annuler ou de cliquer fermer.
Voici mon bout de code:


char ptr;
CString load;
CFileDialog dlg2(true);

dlg2.DoModal();
load=dlg2.GetPathName();

m_Donnees.stream = fopen(load,"r");
if(m_Donnees.stream==NULL)
{
perror("fopen");
exit(1);
}


// Algo d'ecriture //
for(int l=0 ; l<64 ; l++)
{
for(int c=0 ; c<64 ; c++)
{
fread(&ptr,1,1,m_Donnees.stream);
if (ptr=='X') m_Donnees.T1.Array2[l][c]="X";
if (ptr=='O') m_Donnees.T1.Array2[l][c]="O";
if (ptr=='\n') c--;
}
}

Si quelqu'un avait une petite idée que je n'ai pas eu ça serait sympa.
merci.
mercredi 25 février 2004 à 13:15:12 | Re : Prb avec CfileDialog

magic_Nono

Membre Club
controle avt load en faisant un essai d'ouverture...
personnellement, j'utilise CFileDialog avec bcp + d'options que ça,
et une des options spécifie que le fichier doit être valide...

Je te commuque ça prochainement...

Magicalement,

Magic Nono: l'informagicien!
mercredi 25 février 2004 à 14:36:55 | Re : Prb avec CfileDialog

talaron

J'attend ca avec impatience.

Ca m'interesse de programmer ca avec plus de rigueur.
merci.
mercredi 25 février 2004 à 15:34:46 | Re : Prb avec CfileDialog

ymca2003


// boîte de dialogue de demande d'ouverture de fichier
CFileDialog fileDlg(TRUE, NULL, NULL, OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_LONGNAMES, "Tout fichier (*.*)|*.*|", this);

// si on on a fermé la boîte de dialogue sans sélectionner de fichier
if(fileDlg.DoModal() != IDOK)
return;

// nom du fichier
CString strFileName = fileDlg.GetPathName();
mercredi 25 février 2004 à 15:38:43 | Re : Prb avec CfileDialog

ymca2003

oups sorry ce que je vient de mettre c'est pour ouvrir un fichier.


pour enregistrer un fichier :
// boîte de dialogue de demande d'ouverture de fichier
CFileDialog fileDlg(FALSE, NULL, NULL, OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY|OFN_LONGNAMES, "Tout fichier (*.*)|*.*|", this);

// si on on a fermé la boîte de dialogue sans sélectionner de fichier
if(fileDlg.DoModal() != IDOK)
return;

// nom du fichier
CString strFileName = fileDlg.GetPathName();

mercredi 25 février 2004 à 16:10:24 | Re : Prb avec CfileDialog

talaron

merci ymca

du coup ca donne ca:

char ptr;
CString load;
CFileDialog dlg2(true);

if(dlg2.DoModal() != IDOK)return;

load=dlg2.GetPathName();

m_Donnees.stream = fopen(load,"r");
if(m_Donnees.stream==NULL)
{
perror("fopen");
exit(1);
}


et tout fonctionne bien merci.
jeudi 26 février 2004 à 17:45:16 | Re : Prb avec CfileDialog

magic_Nono

Membre Club
ymca2003> tu m'enlève les mots du clavier...
bien répondu!
au fait, pour la liste des extentions, il me semble que cela doive se terminer par deux '|' !!

donc ta cde deviens
FileDialog fileDlg(FALSE, NULL, NULL, OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY|OFN_LONGNAMES, "Tout fichier (*.*)|*.*||", this);

je V tenté d'être + complet avec 2 exemples

talaron >
exemple complet d'un enregistrement...
spécifi au - le 2e param de CFileDialog !!!


void CTracePrgDlg::OnBToFichier()
{
/// --------------------------------------------------------------
/// ---------------- CTracePrgDlg::OnBToFichier() ----------------
/// --------------------------------------------------------------
/// ----- Objectif : envoi du contenu de la fenêtre de sortie dans un fichier dont le choix est proposé
/// ----- Auteur(s) : magic Nono 05/09/03
/// ----- PreCond : /
/// ----- PostCond : /
/// ----- Etat : 1 (-1<0<1<2)
/// ----- MaJ 23/10/03: boîte avec types par défauts
/// --------------------------------------------------------------
/// ----- Var Utilisées de la classe (1) : m_sRep
/// ----- Var Internes à la fonction (4) : boite ,ficC ,ficCible ,plomp
/// ----- Var Utilisées par adresse (1) : ficCible
/// ----- Var In Globales Constantes (6) : IDCANCEL ,OFN_EXTENSIONDIFFERENT ,OFN_NOCHANGEDIR ,OFN_NOREADONLYRETURN ,OFN_OVERWRITEPROMPT ,OFN_PATHMUSTEXIST
/// ----- Var In-Out (1) : m_sRep
UpdateData(true);
CFileDialog boite(false,"txt","resultatMetaProg", OFN_NOCHANGEDIR|OFN_EXTENSIONDIFFERENT|OFN_NOREADONLYRETURN|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST,"fichier texte (.txt)|*.txt|Note Bruno(.b)|*.b|autre |*.*||", NULL ); // NOM SOFT
if(boite.DoModal()==IDCANCEL)
return;
BString ficCible;
ficCible=boite.GetPathName(); //enregistre le chemin d'accès du fichier selectionné
if(ficCible !="" && ficCible[0]!='*') //un not in...
{
BFichierTxt ficC(ficCible,"wt");
BString plomp;
plomp=m_sRep;
plomp.winFormat(false);
ficC+=plomp;
}
UpdateData(false);
}


et 2e ex: 1 lect et un enregistrement...

void DParamTraitement::OnBTraceDestChoix()
{
UpdateData(true);
CFileDialog boite(false,"b",m_sDestTrace, OFN_NOCHANGEDIR|OFN_EXTENSIONDIFFERENT|OFN_NOREADONLYRETURN|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST,"Note ou Trace Bruno (.b)|*.b|fichier texte (.txt)|*.txt|autre |*.*||", NULL );
if(boite.DoModal()==IDCANCEL)
{
UpdateData(false);
return;
}
BString ficCible;
ficCible=boite.GetPathName(); //enregistre le chemin d'accès du fichier selectionné
m_sDestTrace=ficCible;
UpdateData(false);
}

void DParamTraitement::OnBBStringLightEmplacementChoix()
{
UpdateData(true);
BString chIni;
chIni=m_sBStringLightPath;
chIni+="BStringLight.*";
CFileDialog boite(true,NULL,chIni, OFN_NOCHANGEDIR|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,"headers|*.h;*.hpp||", this );
if(boite.DoModal()==IDCANCEL)
{
//m_sBStringLightPath="";
UpdateData(false);
return;
}
BString plomp=boite.GetPathName(); //enregistre le chemin d'accès du fichier selectionné
m_sBStringLightPath=BFichier::extraitChemin(plomp);
UpdateData(false);
}

rq: mes BString sont des chaines, dispo parmi mes srces

rq2: on n'a pas parlé ici de récupérer plsrs fichiers à la sélection...

Kenavo...
Magic Nono: l'informagicien!
jeudi 26 février 2004 à 17:49:09 | Re : Prb avec CfileDialog

magic_Nono

Membre Club
talaron >
oups, je voulais dire le 4e, pas le 2e:
celui ac : OFN_FILEMUSTEXIST


Magic Nono: l'informagicien!
jeudi 5 janvier 2006 à 12:13:56 | Re : Prb avec CfileDialog

max7544

bonjour magic nono et les autres,
voila j'ai un petit probleme:
j'aimerais forcer l'ouverture d'un fichier dans une apllication MFC, mais pas à partir d'un path mais , ouvrir le dernier fichier enregister à partir d'un path.
y'a t'il une fonction du CFileDialog qui me permette de réaliser cette objectif?
merci d'avance,
max.
jeudi 5 janvier 2006 à 15:27:03 | Re : Prb avec CfileDialog

magic_Nono

Membre Club
regarde du coté des "MRU"
Most Recent Used Files

___________________________________________________________
Magicalement
Nono

1 2

Cette discussion est classée dans : donnees, load, ptr, dlg2, cfiledialog


Répondre à ce message

Sujets en rapport avec ce message

pbm member function de CFileDialog [ par tweet ] Voilà, je cherche à récupérer un répertoire. J'ai vu qu'il existait une fonction membre de CfileDialog nommée GetFolderPath qui réalise cette opératio recuperation de donnees d un fichier texte. [ par coyotedef ] j'aimerai recuperer des donnees presente dans fichier texte et les classer dans un tableau. ces donnees sont toutes du meme format mais se trouve au m La valeur 26=0x1A pose un problème de lecture de fichier [ par sengr ] Salut!Jsuis en stage et jsuis pas un AS du dévelopement et ca URGE!J'ai rencontré un BIG problème : le coup du de la valeur 26=0x1A avec les fonctions Exploitation de fichier en C ?!?!?! [ par GazGaz ] lu allalors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je pb avec une CFileDialog avec visual C++ [ par pichu ] bonjour, en visual C++, lorsque j'utiise une CFileDialog en mode "enregistrer sous" le path de l'application change suivant le repertoire choisi dand recuperer des donnees d'un peripherique [ par chris13 ] SalutJe cherche a faire une procedure en C qui permet d'aller lire des donnees stockes sur un peripherique branche sur le port COM.Mais impossible de vc++ OFN_ALLOWMULTISELECT CFileDialog [ par pichu ] je comprends pas ce que je doit faire avec m_ofn.lpstrFile dans l'extrait de la msdn quand je veux recuperer plusieurs chemins de fichiers :To allow t Redimensionnement CFileDialog [ par isnotgood ] Bonjour,J?utilise la class CFileDialog et je ne souhaite pas redimensionner ma fenêtre donc Je n?ai pas positionné le flag OFN_ENABLESIZING. Ceci fonc RECEPTION DES DONNEES SUR LE PORT SERIE [ par tdjelleb ] COMMENT EN PEUT TRAITER LES DONNEES SRE9CU SUR LE PORT SERIEPAR EXEMPLE J4AI L4INFORMATION SUIVANT RE9U SUR LE PORT SERIE14H 40MN 45S app 251 OUVERT D pb avec nMaxFile dans CFileDialog vc++ [ par pichu ] Dans une CFileDialog on est limité dans le nombre de selection si on en selectionne plusieursle pb est que je veux etre illimite dans le nombreComment


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales