Question bête sur TRichEdit

Signaler
Messages postés
235
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
26 juillet 2010
-
Messages postés
3
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
25 mai 2011
-
Bonjour,
je voudrais utiliser dans mo programme un TRichEdit Intermediaire, je tape donc
var TE:TRichEdit
begin
TRichEdit.Create(TE);
TE.lines.add....
......
TE.Destroy;
end;
Ca compil bien, mais au moment d'utiliser TE, ca plante, je pense qu'il y a un probleme d'initialisation. Quelqu'un peut il me donner la syntaxe.
Merci d'avance

8 réponses

Messages postés
787
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1
c'est normal car tu essaies de créer le richedit en référence à lui même...
essaie plutot ainsi :

TE := TRichEdit.Create(Form1); // ou le nom de ta form
TE.Visible := false;
TE.Lines.Add....etc
[reste du code]
TE.Free; // il est fortement déconseillé d'utiliser Destroy, car Free effectue quelques vérifications avant de supprimer effectivement l'objet

voila, j'espère que cela t'aidera !
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Comme tout composant visuel, il faut aussi affecter la propriété Parent :
TE.Parent := Form1;

May Delphi be with you.
site Delphiprog
Messages postés
235
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
26 juillet 2010

Merci, avec la compil' des deux réponses, mon programme marche. :big) .
Par contre, j'ai un nouveau soucis : Je veux fusionner 3 RichEdit en 1 pour l'enregistrer en RTF., Je fais :
TE.Lines.AddStrings(RichEdit1.Lines);
TE.Lines.AddStrings(RichEdit2.Lines);
TE.Lines.AddStrings(RichEdit3.Lines);
TE.Lines.SaveToFile(SaveDialog1.FileName);
Mais je perd a ce moment toute la mise en forme. Y a t il une solution?
Merci
MagicVinni
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
As-tu mis la propriété PlainText à False ?
> TE.PlainText := False;

May Delphi be with you.
site Delphiprog
Messages postés
235
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
26 juillet 2010

Ca ne marche toujours pas, même si je met visible depuis le debut sur ma Form 1 un composant TE: TRichEdit, au moment oùje fais TE.Lines.AddStrings(RichEdit1.Lines); toute la mise en forme dégage alors que j'ai crée de la m^me manière RichEdit1?...
Il doit y a voir plus simple que de faire 2 fois les mises en forme.?
Merci
Messages postés
787
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1
essaie avec ça :

procedure toto(RichEditExToExport: PRichEditEx);
var
Buffer: TMemoryStream;
begin
Buffer := TMemoryStream.Create;
RichEditExToExport.Lines.SaveToStream(Buffer);
Buffer.Position := 0;
ExportRichEditEx.Lines.LoadFromStream(Buffer);
Buffer.Free;
end;

sachant que PRichEditEx est un pointeur vers un objet TRichEditEx (un richedit avec reconnaissance des urls que j'ai posté ici), et ExportRichEditEx est un objet TRichEditEx créé dynamiquement ...
en gros je récupère le flux RTF du premier richedit et je le charge dans le deuxième ;-)

bon courage
Messages postés
787
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1
ah j'oubliais, bien sur PlainText doit etre à false dans les deux richedit, sinon tu ne recuperes pas du RTF mais du TXT...
Messages postés
3
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
25 mai 2011

Hello;
When I use ADOTable or ADOQuery as Dataset in DBChart Series I can't found in Label a string data (there is only a numeric variable in the combobox of Labels). But with a TTable it appears clerly like 'name.type..'
Can you help me how to see a string variables of ADOtable into the combobox of labels of the series of DBChart? Else, what the code to preview the DBCharT before printing ?
Best Greetings.