Ecrire dans un fichier (savedialog??) [Résolu]

Messages postés
50
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
30 mars 2011
- - Dernière réponse : cleecky
Messages postés
50
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
30 mars 2011
- 26 mai 2010 à 11:06
Bonjour !
J'aurai besoin de quelques renseignements SVP
J'ai vu dans un tuto sur la lecture/écriture dans des fichiers (je souhaite écrire ligne par ligne) qu'il fallait utiliser 'savedialog' !
Après quelques recherches, je constate que savedialog et apparemment utilisé pour copier un fichier...
Pouvez-vous me donner quelques infos un peu plus clair?
En effet je me perd un peu...
Je souhaite écrire dans un fichier texte des requêtes SQL pour pouvoir ensuite migrer ma base de données (paradox) vers mySQL !!
L'utilisation de savedialog est -t-elle alors nécessaire?

En effet je ne suis pas encore très à l'aise avec l'objet, si j'ai bien compris savedialog fait en fait référence a TSavedialog ?!?

J'espère avoir étais clair
TY

i'm a newbieeees
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
424
Date d'inscription
mardi 3 janvier 2006
Statut
Membre
Dernière intervention
26 novembre 2013
2
3
Merci
Salut.

SaveDialog n'est utile que pour demander à l'utilisateur de donner un nom de fichier et un endroit où enregistrer.

Pour écrire un fichier texte sur disque, Delphi propose plusieurs solutions :
1) utiliser un stream (TFileStream) : à déconseiller pour un débutant
2) utiliser un composant qui stocke des strings et a une fonction SaveToFile : TMemo, TStringList...
3) utiliser la méthode classique du langage Pascal. Dans l'aide Delphi, tu cherches "fichier texte" ou "rewrite", et tu auras des exemples et des conseils d'utilisation. Je te donne tout de même un petit code :

procedure SaveQueryToFile;
var
   F: TextFile;
begin
  AssignFile(F, 'C:\mondossier\monfichier.txt');
  Rewrite(F); // création et ouverture d'un nouveau fichier
  Writeln(F, 'ma requête 1'); // on écrit puis on va à la ligne
  Writeln(F, 'ma requête 2');
  //... 
  CloseFile(F); // fermeture du fichier
end;


A +
Thierry

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ThWilliam
Messages postés
50
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
30 mars 2011
0
Merci
J'ai fini par comprendre le savedialog...
Mon problème n'est donc pas là !
Est-il possible de supprimer ce ''post?
Ou bien quelqu'un est il par la pour répondre à une petite question Hors Sujet


i'm a newbieeees
Commenter la réponse de cleecky
Messages postés
50
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
30 mars 2011
0
Merci
Merci ! j'avais finir par comprendre ! Mais un conseil de connaisseur éclaire toujours le jeune padawn(?!?)


TY
Commenter la réponse de cleecky
Messages postés
50
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
30 mars 2011
0
Merci
rectifi ->
Padawan !!!


@++
Commenter la réponse de cleecky
Messages postés
50
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
30 mars 2011
0
Merci
Rebonjour !
Du coup je me permet une autre petite question qui semble rester plus ou moins dans le thème du sujet !
(Je suis désolé mais l'aide de delphi est trop vague pour moi... )

F1 :
#
Syntaxe Delphi :
function Delete(const Filename: WideString): Integer; overload;
#

Alors moi avant de faire ma boucle qui assign les fichiers à leur destination je veux supprimer les existants.
Donc voici mon code :
#
sauvgFic :='F:\Developpement-Vista\Desktop\stage\tables\';
mkdir(sauvgFic);

{ supprime le fichier s'il existe et réécris }
if fileexists(sauvgFic+'_refDev.csv')
then delete(sauvgFic+'_refDev.csv');
#

Ce qui bien sur ne marche pas car :
"Pas assez de paramètres originaux"

J'espère ne pas abuser de votre patience !
D'avance merci


@ bientot

Cleecky
Commenter la réponse de cleecky
Messages postés
50
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
30 mars 2011
0
Merci
Ok j'ai trouvé !
Je n'arette pas de faire des fautes d'inattention...
Alors pour tous les débutants comme moi :

Quand on manipule des fichiers
------ non pas assign, delete ------- mais
deleteFile
assignFile
etc...
Commenter la réponse de cleecky
Messages postés
424
Date d'inscription
mardi 3 janvier 2006
Statut
Membre
Dernière intervention
26 novembre 2013
2
0
Merci
Salut.

Si ton problème est de vouloir supprimer un fichier avant de faire "AssignFile...Rewrite" : pas besoin de supprimer le fichier portant le même nom, puisque Rewrite va écraser le fichier existant.

Pour supprimer un fichier : function DeleteFile

Pour créer un dossier, utilise de préférence : function ForceDirectories
Celle-ci a l'avantage de créer en une fois le dossier parent et les sous-dossiers renseignés dans ton Path.

A +
Thierry
Commenter la réponse de ThWilliam
Messages postés
50
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
30 mars 2011
0
Merci
yop !
Merci de repondre si rapidement
La fonction ForceDirectories semble efectivement mieux ! merci

Comme ma table paradox contient plusieurs tables facture (genre facture01 , facture02,...) je suis obligé d'utiliser un append (après le assignFile) pour écrire dans mes fichiers si ils existent.
C'est pourquoi je voulais les supprimer avant !

@ t'aleur merci
Commenter la réponse de cleecky