titre_site.jpg (51607 octets)

COPY MEMO

 

Commande dBase IV et suivants

 

Copie le contenu du champ Mémo spécifié dans un fichier.

Syntaxe

COPY MEMO <champ Mémo> TO <fichier> | ?[ADDITIVE]

<champ Mémo>

Spécifie le champ Mémo à copier.

TO <fichier> | ?

Spécifie le nom du fichier texte où le texte du champ Mémo sera copié. Par défaut, Visual dBASE affecte l'extension .TXT et sauvegarde le fichier dans le répertoire en cours. L'option ? affiche une boîte de dialogue dans laquelle vous spécifiez le nom du fichier cible et le répertoire de sauvegarde.

ADDITIVE

Ajoute le contenu du champ Mémo à la fin d'un fichier texte existant. Sans l'option ADDITIVE, Visual dBASE remplace le texte existant du fichier texte.

 ico_MsDos.jpg (1668 octets)  vdb5.gif (351 octets) Description



Utilisez COPY MEMO pour exporter le texte d'un champ Mémo de l'enregistrement en cours vers un fichier texte. Vous pouvez aussi utiliser COPY MEMO pour copier les images ou d'autres données de type binaire dans un fichier. Cependant, les champs Binaire sont recommandés pour le stockage des images, des sons et d'autres informations binaires utilisateur.
Si vous spécifiez l'option ADDITIVE, Visual dBASE ajoute le contenu du champ Mémo à la fin du fichier nommé, ce qui vous permet de combiner le contenu des champs Mémo de plusieurs enregistrements. Lorsque vous n'utilisez pas ADDITIVE, dBASE affiche un message d'avertissement avant d'écraser un fichier existant si SET SAFETY est à ON. Vous ne pouvez stocker qu'une seule image dans un champ Mémo ou dans un fichier, n'utilisez donc pas l'option ADDITIVE de la commande COPY MEMO lorsque vous copiez une image dans un fichier. RESTORE IMAGE peut afficher une image stockée dans un champ Mémo ou dans un fichier texte.

 

Plus2_5-Icon.jpg (1250 octets) xDML vers ooDML

Les commandes COPY MEMO et BINARY sont utilisées en xBase pour copier le contenu d'un champ binaire d'une table dans un fichier.

L'équivalent OODML est d'utiliser la méthode copyToFile() de l'objet field. L'exemple suivant est extrait de l'aide en ligne.

Pour effectuer l'opération inverse (importer un fichier dans un champ mémo), voir la méthode replaceFromFile( ).

 

Code   Plus2_5-Icon.jpg (1250 octets)

Le gestionnaire d'événement copie le contenu d'un champ Mémo nommé Notes de la ligne courante du rowset dans un fichier texte.

function exportMemoButton_onClick

local cFile

cFile = putfile( "Export memo", "*.txt" )

if "" # cFile

form.rowset.fields[ "Notes" ].copyToFile( cFile )

endif

 

bug_jpg.jpg (2635 octets)  Les difficultées rencontrées :  

Ajouter le contenu d'un champ mémo dans un fichier txt déjà existant :

local cFile, oFile, data, oMyRowset
// ouvre une base de données
  data = new database()
  data.databaseName := 'CIIR'
  data.active := true
// definit un rowset
  oMyRowset = new query()
  oMyRowset.database := data
  oMyRowset.sql := 'select * from assured'
  oMyRowset.active := true
// crée un fichier
  cFile = putfile( "Exportmemo ", "*.txt" )
  if not file(cFile) and "" # cFile
    oMyRowset.rowset.fields[ "longName" ].copyToFile( cFile )
  elseif file(cFile)
   oFile = new file()
   oFile.open(cFile, 'A')
   oFile.puts(oMyRowset.rowset.fields[ "longName" ].value)  // Read fixed
    length; write with line break
 oFile.close()
endif

 

Source de ce code :

Groupes de discussion : dbase.programming
De : "Juan M. Espinosa"
Date : Tue, 18 Dec 2001 18:09:34 -0600
Date/heure locale : Mer 19 déc 2001 02:09
Objet : Re: COPY MEMO Problem

 

Sur le point des éventuels problèmes des champs mémo. voir ce commentaire

 

retour

Sources :

Aide dBase 2.6.0

Aide Visual dbase V5.7
http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm

Groupe de discussion dbase.programming

Retour à l'accueil

Si vous voyez des erreurs, ou souhaitez apporter des compléments,  n'hésitez pas à le signaler.

Dernière modification : mercredi 04 août 2010

©  M.A.