Ecrire en couleur dans un fichier .rtf avec streamWriter
cs_couret
Messages postés9Date d'inscriptiondimanche 5 août 2007StatutMembreDernière intervention28 octobre 2007
-
25 août 2007 à 00:49
cs_couret
Messages postés9Date d'inscriptiondimanche 5 août 2007StatutMembreDernière intervention28 octobre 2007
-
25 oct. 2007 à 14:10
Bonjour,
Je suis sous VB2005.
Je n'arrive pas à ecrire en couleur dans un fichier crée NomFichier.rtf que je lis avec WordPad
et les caractères û ou ° sont écrit û et °
Apparemment le fichier NomFichier.rtf n'est pas reconnu comme fichier RTF mais comme un fichier texte simple.
Comment puis forcé le fichier en fichier RTF ?
Et est-ce que ma commande pour écrire en couleur est correcte ?
sw.WriteLine("Bonjour. Nous sommes n° le {0} et il est {1} ", _
DateTime.Now.ToLongDateString, _
DateTime.Now.ToLongTimeString, Color.Red)
-------------le programme ------
Dim
sw As StreamWriter
Dim path AsString
Dim NomFichier AsStringPath = "C:/"
NomFichier = Path & "logSynchro" & "_" & Now.Year & "-" & Now.Month & "-" & Now.Day & ".rtf"
IfNot File.Exists(NomFichier) Then
'Le fichier n'existe pas. On le crée
sw = New StreamWriter(NomFichier)
' identification dans le fichier
sw.WriteLine("Synchronisation du : " & DateTime.Now)
sw.WriteLine("-------------------")
'force à vider le buffer et ferme le fichier
sw.Flush()
sw.Close()
sw = Nothing
EndIf
'pour ajouter du texte à un fichier existant (ou le crée s'il n'existe pas)
sw = File.AppendText(NomFichier)
' texte en rouge indiquant la date et l'heure de l'écriture
sw.WriteLine("Bonjour. Nous sommes n° le {0} et il est {1} ", _
DateTime.Now.ToLongDateString, _
DateTime.Now.ToLongTimeString, Color.Red)
sw.Flush()
sw.Close()
--------------------------
cs_couret
Messages postés9Date d'inscriptiondimanche 5 août 2007StatutMembreDernière intervention28 octobre 2007 25 août 2007 à 13:25
Je viens déjà de voir que le fait de mettre l'extension .rtf ou .doc au moment de la création d'un fichier n'en fait pas un fichier RTF ou DOC.
Les Fichiers crées sont restés en format TEXTE brut.
Si j'effectue des modifications de format (gras, sousligné, italique ou couleur) sur le texte contenu dans ces fichiers, WordPad ou Word me demandent d'enregister sous un autre format pour garder les modifications.
De plus Word demande de chosir un format UTF-8 ce qui montre que le texte est enregistré sous format ASCII.
Une fois enregistré sous le format .RTF ou .DOC de WordPad ou Word, le programme n'arrive plus à écrire dans ces fichiers et je n'ai aucun message d'erreur sur l'ouverture du fichier ou sur l'écriture.
Donc, comment créer un fichier qui soit réellement au format .RTF ?
cs_couret
Messages postés9Date d'inscriptiondimanche 5 août 2007StatutMembreDernière intervention28 octobre 2007 26 août 2007 à 14:01
Bonjour,
J'avance,
J'arrive à écrire une phrase en rouge dans un fichier .rtf crée avec :
sw = New StreamWriter(NomFichier) ' fichier .rtf
avec le format suivant :
sw.WriteLine(PhrInit1) ou PhrInit1 = PreRed & "Synchronisation du n° août :" & Suffixe
ou PreRed as string = "{\rtf1\ansi {\colortbl \red0\green0\blue0;\red255\green0\blue0;\red0\green255\blue0;} \cf1 "
et Suffixe as string = " \cf0 }"
Le fichier .rtf et bien crée en fichier RTF mais :
1) les carctères ° et û sont toujours mal écrit,
2) je n'arrive pas rajouter d'autres lignes à la suite de la première