Ecrire dans un fichier (savedialog??)

Résolu
cleecky Messages postés 49 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 30 mars 2011 - 25 mai 2010 à 15:10
cleecky Messages postés 49 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

8 réponses

ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
25 mai 2010 à 19:18
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
3
cleecky Messages postés 49 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 30 mars 2011
25 mai 2010 à 15:21
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
0
cleecky Messages postés 49 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 30 mars 2011
26 mai 2010 à 09:14
Merci ! j'avais finir par comprendre ! Mais un conseil de connaisseur éclaire toujours le jeune padawn(?!?)


TY
0
cleecky Messages postés 49 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 30 mars 2011
26 mai 2010 à 09:31
rectifi ->
Padawan !!!


@++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cleecky Messages postés 49 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 30 mars 2011
26 mai 2010 à 09:57
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
0
cleecky Messages postés 49 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 30 mars 2011
26 mai 2010 à 10:31
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...
0
ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
26 mai 2010 à 10:52
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
0
cleecky Messages postés 49 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 30 mars 2011
26 mai 2010 à 11:06
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
0
Rejoignez-nous