OVH Cloud OVH Cloud

Concaténer RTF

28 réponses
Avatar
Barsalou
Bonjour

Un expert en RichTextBox saurait-il me dire:
Si l'on peut concaténer deux RichText, avec leur mise en forme évidemment
(l'opérateur & ne fonctionne pas);
Si l'on peut calculer le nombre de lignes dans un RichText;
Enfin si, grâce à ce nombre de ligne, , on peut insérer au bon endroit un
saut de page (pour l'impression).

Merci d'avance

P.S. où peut-on trouver la syntaxe RTF ?

10 réponses

1 2 3
Avatar
LE TROLL
Salut,

Tu ne dis pas si tu veux faire ça en programmation ou en
vbA...

Tu peux simplement avec word par des copier/coller,
gérer tes rtf et leur mise en forme de facto (comme des
*.doc), ainsi que le saut de page et le nombre de lignes
donc...

Regardes l'aide de VB concernant les rtf, tu as plein de
méthodes, manifestement pour faire à peu près ce que tu
veux...
-----------


"Barsalou" a écrit
dans le message de news:

Bonjour

Un expert en RichTextBox saurait-il me dire:
Si l'on peut concaténer deux RichText, avec leur mise en
forme évidemment (l'opérateur & ne fonctionne pas);
Si l'on peut calculer le nombre de lignes dans un
RichText;
Enfin si, grâce à ce nombre de ligne, , on peut insérer au
bon endroit un saut de page (pour l'impression).

Merci d'avance

P.S. où peut-on trouver la syntaxe RTF ?


Avatar
Jean-Marc
"Barsalou" a écrit dans le message de
news:
Bonjour

Un expert en RichTextBox saurait-il me dire:
Si l'on peut concaténer deux RichText, avec leur mise en forme évidemment
(l'opérateur & ne fonctionne pas);
Si l'on peut calculer le nombre de lignes dans un RichText;
Enfin si, grâce à ce nombre de ligne, , on peut insérer au bon endroit un
saut de page (pour l'impression).

Merci d'avance

P.S. où peut-on trouver la syntaxe RTF ?



Hello,

il faut utiliser la propriété SelTF.

' sélectionne tout rt1
rt1.SelStart = 0
rt1.SelLength = Len(rt1.Text)

' se met à la fin de rt2, en sélectionnant "rien" mais à la fin
rt2.SelStart = Len(rt2.Text)
rt2.SelLength = 0

' toute la magie est la:

rt2.SelRTF = rt1.SelRTF


Pour les sauts de page, c'est plus compliqué. Il est facile de compter
les lignes (tu comptes les occurences de CRLF) mais pour placer les
sauts de page, ça ne suffit pas. En effet, ça dépend très fort de la
taille physique de ton texte (police plus ou moins grande). Donc sauf
si tu maitrises parfaitement la hauteur des fonts utilisés, c'est un
peu plus compliqué.

Pour la syntaxe: http://users.skynet.be/gfnjl/syntaxe_rtf.doc


--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Youky
Bonjour,
Je suis loin d'être un expert, voila un an que je bataille et est abandonné
le RichtextBox car je n'est jamais put imprimer plus de 40 lignes
Je vous conseil de faire l'essai d'imprimer de 1 à 100 pour voir, moi cela
va pas + de 40 (taille 10 ou 12 en police).
Peut être cela est dut à mon VB5.
voici mon code pour imprimer:

Printer.Print ""
RichTextBox1.SelPrint (Printer.hDC)
Printer.EndDoc

Pour faire du concatanage je procederai ainsi
à l'aide de la methode SelStart et SelLength (selection du texte) et
utiliser SendKeys pour un copier(CTRL+C)
fermer le RTF ouvrir l'autre et copier toujours par un SendKeys coller
(CTRL+V) "voir dans l'aide pour les touches"
il exsiste peut être d'autres méthodes mais je les connais pas.
Par contre je suis preneur de la solution pour imprimer +40 lignes si vous
l'avez.
Youky

"Barsalou" a écrit dans le message
news:
Bonjour

Un expert en RichTextBox saurait-il me dire:
Si l'on peut concaténer deux RichText, avec leur mise en forme évidemment
(l'opérateur & ne fonctionne pas);
Si l'on peut calculer le nombre de lignes dans un RichText;
Enfin si, grâce à ce nombre de ligne, , on peut insérer au bon endroit un
saut de page (pour l'impression).

Merci d'avance

P.S. où peut-on trouver la syntaxe RTF ?



Avatar
LE TROLL
Salut, ça marche très bien mon impression de RTF,
veux-tu que je te passes mon code ?
Avatar
Barsalou
Cela m'a l'air super astucieux, car je n'aurais pas pensé que rt2.SelRTF =
rt1.SelRTF ajoute le second membre à ce qui existe. Je vais essayer dès
demain.

Ceci dit, en ce qui concerne le saut de page, tu ne dis pas comment
l'insérer (en supposant que je sache où je veux le faire). D'abord quel est
le code ?
Je connais vbCrLf pour les sauts de ligne, mais pas l'équivalent pour les
sauts de page.

Merci beaucoup en tout cas.
Avatar
Jean-Marc
"Barsalou" a écrit dans le message de
news:
Cela m'a l'air super astucieux, car je n'aurais pas pensé que rt2.SelRTF > rt1.SelRTF ajoute le second membre à ce qui existe. Je vais essayer dès
demain.

Ceci dit, en ce qui concerne le saut de page, tu ne dis pas comment
l'insérer (en supposant que je sache où je veux le faire). D'abord quel


est
le code ?
Je connais vbCrLf pour les sauts de ligne, mais pas l'équivalent pour les
sauts de page.



Re,

en rtf, le saut de page:

pagebb ==>> Saut de page avant

Note: c'était dans la doc que je t'avais indiqué :-(

Il n'y a pas d'équivalent de vbCrLF pour saut de page. En effet,
vbCrLF représente juste la séquence ascii CR (13) et LF (10).
Il n'y a pas de caractère saut de page en US-ASCII.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
LE TROLL
Saut de page, n'est-ce pas form feed = ascii 12, soit:
... & chr(13) & chr(12)
----------

"Barsalou" a écrit
dans le message de news:

Cela m'a l'air super astucieux, car je n'aurais pas pensé
que rt2.SelRTF = rt1.SelRTF ajoute le second membre à ce
qui existe. Je vais essayer dès demain.

Ceci dit, en ce qui concerne le saut de page, tu ne dis
pas comment l'insérer (en supposant que je sache où je
veux le faire). D'abord quel est le code ?
Je connais vbCrLf pour les sauts de ligne, mais pas
l'équivalent pour les sauts de page.

Merci beaucoup en tout cas.


Avatar
LE TROLL
Saut de page, n'est-ce pas form feed = ascii 12, soit:
... & chr(13) & chr(12)
----------

"Jean-Marc" a écrit dans le
message de news: 422f6971$0$30160$

"Barsalou" a écrit
dans le message de
news:
Cela m'a l'air super astucieux, car je n'aurais pas pensé
que rt2.SelRTF >> rt1.SelRTF ajoute le second membre à ce qui existe. Je
vais essayer dès
demain.

Ceci dit, en ce qui concerne le saut de page, tu ne dis
pas comment
l'insérer (en supposant que je sache où je veux le
faire). D'abord quel


est
le code ?
Je connais vbCrLf pour les sauts de ligne, mais pas
l'équivalent pour les
sauts de page.



Re,

en rtf, le saut de page:

pagebb ==>> Saut de page avant

Note: c'était dans la doc que je t'avais indiqué :-(

Il n'y a pas d'équivalent de vbCrLF pour saut de page. En
effet,
vbCrLF représente juste la séquence ascii CR (13) et LF
(10).
Il n'y a pas de caractère saut de page en US-ASCII.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."





Avatar
Youky
Bien sur que je suis intéressé.
Voici même mon Adresse au cas ou tu souhaite me répondre dans ma Bal
Merci d'avance
Youky
"LE TROLL" <le a écrit dans le message news:

Salut, ça marche très bien mon impression de RTF,
veux-tu que je te passes mon code ?




Avatar
Barsalou
Ok, mais comment dois insérer le pagebb ?
En le concaténant dans le textRTF après le { initial d'un nouveau groupe, ou
avant le } du groupe précédent, ou encore ?
Faut-il ajouter une espace ?

Merci d'avance

P.S. j'ai essayé un Chr(12) à la fin d'un texte, mais cela a le même effet
que CRLF.
1 2 3