Conserver mise en forme richtexbox enregistré au format txt [Résolu]

flamouth1 10 Messages postés dimanche 1 janvier 2017Date d'inscription 10 janvier 2017 Dernière intervention - 9 janv. 2017 à 22:35 - Dernière réponse : flamouth1 10 Messages postés dimanche 1 janvier 2017Date d'inscription 10 janvier 2017 Dernière intervention
- 10 janv. 2017 à 19:53
Bonjour, J'aimerai savoir si cela est possible de conserver une mise en forme de base chargé dans une richtexbox puis la sauvegarder grâce à mon bouton sans changement dans une fichiers txt.

Fichier de base:
(Cp) (Quantité)
123456 12
245621 9
...

Fichier après enregistrement:
123456 12 234567 9


Mon bouton:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

        System.IO.File.WriteAllText(TextBox1.Text, RichTextBox1.Text)

    End Sub



J'ai tenté en rtf, mais le logiciel de mon magasin le lit comme le "fichier après enregistrement" et du coup n'arrive pas importer la liste de code produit et la quantité
Je suis en Visual Basic Windows Form. Une idée ?

Merci pour vos réponses.


Afficher la suite 

4 réponses

Répondre au sujet
Whismeril 10586 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 16 décembre 2017 Dernière intervention - 9 janv. 2017 à 23:14
0
Utile
Bonsoir

ton exemple montre 4 nombres en 2 colonnes et 2 lignes qui deviennent 4 nombres en ligne.
Est ce que tu veux obtenir?

Par ce que là dedans, je ne vois pas bien ce que vient faire le rtf qui sert à pouvoir conserver des changements de police ou d'apparence (gras, italique, souligné, couleur....) de parties du texte. Ni même le RichTextBox qui sert à afficher ces changements ou à les appliquer.

Si ton but est de mettre en ligne un fichier en colonne, il suffit de charger tout le texte dans une variable, de remplacer le saut de ligne par un espace et d'écrire le résultat dans un autre fichier.
Commenter la réponse de Whismeril
flamouth1 10 Messages postés dimanche 1 janvier 2017Date d'inscription 10 janvier 2017 Dernière intervention - 10 janv. 2017 à 11:40
0
Utile
1
En faite j'ai un scanner de code pour inventaire. Lorsque l'on le vide sur notre logiciel, on peut récupérer le vidage en .VID. Il peut être lu par n'importe quel éditeur de texte. Sauf que le fichier est du type 2 colonnes X nombre de ligne.

Du coup je m'exprime mal. Je veux sauvegarder le fichier tel qu'il est de base pour que le logiciel du magasin le retrouve dans son format.

Sauf que pour le moment quand je sauvegarde il me met les colonnes en ligne dans le fichier .txt

Quand je recharge le fichier dans la RTB, il est en colonne.

Je l'ouvre ensuite avec un éditeur comme wordpad, il est en colonne.

Le logiciel du magasin le lit malgré tout en ligne donc au format txt pur et dur.

Là est mon problème.
Whismeril 10586 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 16 décembre 2017 Dernière intervention - 10 janv. 2017 à 12:17
Si je comprends bien
Wordpad le lit en colonne, ainsi que ton richtextbox et c'est ce que tu veux.

Par contre notepad le lit en ligne.

Si c'est bien ça c'est probablement un fichier au format unix. Pour Windows un saut de ligne c'est \r\n, alors que pour unix \n suffit.
Wordpad sait s'en débrouiller alors que notepad non.

Il est assez facile,de faire une replace sur le texte complet de \n à \r\n, par contre il y a le risque que le logiciel dédié ne sache plus le lire.

Tu peux faire un test.

Et si tu ne veux pas t'embêter tu associes le .vid à Wordpad
Commenter la réponse de flamouth1
flamouth1 10 Messages postés dimanche 1 janvier 2017Date d'inscription 10 janvier 2017 Dernière intervention - 10 janv. 2017 à 19:53
0
Utile
Du coup j'ai creusé sur l'enregistrement dans le fichier.

J'ai essayé avec ceci:
 RichTextBox1.SaveFile(TextBox1.Text, RichTextBoxStreamType.PlainText)


Au lieu de:
 System.IO.File.WriteAllText(TextBox1.Text, RichTextBox1.Text)


Et impeccable dans le bloc-note et compagnie. Il me fallait le paramètre "PlainText" pour reproduire à l'exacte dans le bloc-note.
Merci et bonne soirée à toi.

ps: je t’embête plus, tous marche impec :).
Commenter la réponse de flamouth1