Ecrire en couleur dans un fichier .rtf avec streamWriter

cs_couret Messages postés 9 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 28 octobre 2007 - 25 août 2007 à 00:49
cs_couret Messages postés 9 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 28 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()
--------------------------

Merci

4 réponses

cs_couret Messages postés 9 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 28 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 ?

Merci


Daniel
0
cs_couret Messages postés 9 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 28 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

Si vous avez des idées ...

Merci
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
24 oct. 2007 à 22:00
0
cs_couret Messages postés 9 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 28 octobre 2007
25 oct. 2007 à 14:10
bonjour,
et
merci beaucoup,

j'avais laissé en suspend et je n'avais donc plus fait de recherche depuis un moment.

Je vais étudier le sujet.

Codialement

Daniel
0
Rejoignez-nous