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

  FORUM HardWare.fr
  Programmation
  C++

  [C++ Builder] Problème étrange entre OpenDialog & écriture de fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++ Builder] Problème étrange entre OpenDialog & écriture de fichier

n°564927
petit prin​ce
Dessine moi un mouton :)
Posté le 12-11-2003 à 14:54:10  profilanswer
 

J'ai l'impression que c'est un bug de borland,
 
j'ai fait un programme qui isole le probleme
 
le fait de faire appel à un "OpenDialog", ça empeche de faire un "fprintf"
 
Et ce même si les 2 actions n'ont aucun lien!!!!
 
Avez vous eu ce pb?
 
Voilà mon programme

Code :
  1. //---------------------------------------------------------------
  2. void __fastcall TForm1::SpdBtnLancerClick(TObject *Sender)
  3. {
  4. FILE *script ;
  5. script=fopen("script.txt","w+" ) ;
  6. fprintf(script,"test" ) ;
  7. fclose(script) ;
  8. }
  9. //---------------------------------------------------------------
  10. void __fastcall TForm1::SpdBtnExplorerClick(TObject *Sender)
  11. {
  12. if (OpenDialog1->Execute())
  13.     Edit->Text=OpenDialog1->FileName ;
  14. }
  15. //---------------------------------------------------------------


Message édité par petit prince le 12-11-2003 à 15:08:07

---------------
Black List : FABD!!! <-ne pas lui faire confiance!
mood
Publicité
Posté le 12-11-2003 à 14:54:10  profilanswer
 

n°564983
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-11-2003 à 15:35:43  profilanswer
 

- T'as testé la valeur de retour de fopen ?
- Tu as songé au fait que si tu sélectionnes un fichier dans un dossier différent via ton OpenDialog, le dossier en cours est celui du fichier sélectionné et non celui d'avant la sélection ? (vu que tu as navigué vers un autre dossier avec l'OpenDialog). Vu que tu ne spécifie pas de chemin dans ton fopen, je suppose que la réponse est non :D


Message édité par antp le 12-11-2003 à 15:36:10

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°564998
petit prin​ce
Dessine moi un mouton :)
Posté le 12-11-2003 à 15:50:07  profilanswer
 

rho je suis trop une cruche
Pour le 1/, j'ai corrigé
Et mon pb était dans le 2/, mon fichier était en fait créé dans le fichier sélectionné par l'OpenDialog
 
Merchi antp (je remarque que t'es tjs celui qui me sauve :) )


---------------
Black List : FABD!!! <-ne pas lui faire confiance!
n°565003
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-11-2003 à 15:53:05  profilanswer
 

Au cas où ça serait l'objet d'une future question : pour récupérer le chemin du programme (où est l'exe) tu peux utiliser ExtractFilePath(Application->ExeName)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°565009
petit prin​ce
Dessine moi un mouton :)
Posté le 12-11-2003 à 15:59:48  profilanswer
 

celui là je le connaissais (ouf quand meme)


---------------
Black List : FABD!!! <-ne pas lui faire confiance!
n°1766259
damameri
Posté le 29-07-2008 à 11:51:23  profilanswer
 

Bonjour,
 
Effectivement ExtractFilePath(Application->ExeName) permet de retrouver le chemind e l'exécutable, mais cependant, comment changer, après l'appel de OpenDialog1, le répertoire en cours de l'application, pour éviter à chaque fois de retaper ExtractFilePath(Application->ExeName) ?
Merci

n°1766280
damameri
Posté le 29-07-2008 à 13:02:33  profilanswer
 

J'ai trouvé tout seul et sans aide :)
 
 
Il faut mettre dans le code OpenDialog1->Options << ofNoChangeDir; ou bien dans l'éditeur Borland, changer la propriété Options de OpenDialog1, et mettre ofNoChangeDir à true.
 
Cette option permet de ne pas changer le répertoire courant de l'application à chaque appel à OpenDialog1->Execute();
 
Voilà, si ça peut aider !


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

  [C++ Builder] Problème étrange entre OpenDialog & écriture de fichier

 

Sujets relatifs
ecriture de donner dans un fichier[PHP] petit problème (validation de textarea)
Probleme avec Excel et les bibliothequesProblème (surrement très con) pour passer une chaine en paramètre.
Problème de liens entre diverses versions de gccPetit probleme; pas de php => pas d'include. Que choisir ?Framset ?
[C/Unix] SIGSEGV > écriture, lecture | siginfo, sigcontext[PHP/JS] Associer un fichier à une variable PHP
[CMD] remplacer un fichier par une version plus ancienne ? 
Plus de sujets relatifs à : [C++ Builder] Problème étrange entre OpenDialog & écriture de fichier


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