IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Texte formaté dans RichEdit & DBRichEdit


Sujet :

Bases de données Delphi

  1. #1
    dem
    dem est déconnecté
    Membre habitué

    Inscrit en
    juillet 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : juillet 2003
    Messages : 110
    Points : 137
    Points
    137
    Par défaut Texte formaté dans RichEdit & DBRichEdit
    Bonjour,

    Dans une première partie de mon appli, l'utilisateur peut écrire un texte formaté dans un RichEdit accompagné de tout ce qu'il faut comme un petit traitement de texte. Je recopie le contenu de mon RichEdit dans le fenêtre de l'éditeur directement dans le DBRichEdit qui convient et je Post le tout avant de réafficher la page mise à jour de la fiche sélectionnée de ma base de donnée.

    Le code suivant, tiré directement de l'Aide Delphi, fonctionne très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      TempStream := TMemoryStream.Create;
      RichEdit_Note.Lines.SaveToStream(TempStream);
      TempStream.Position := 0;
      DBRichEdit_Note.Lines.LoadFromStream(TempStream);

    Si l'utilisateur souhaite modifier le texte en question, je fait l'inverse, Je transfère du DBRichEdit vers le RichEdit, et là.. patatra ... le texte est bien là mais sans être formaté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      TempStream := TMemoryStream.Create;
      DBRichEdit_Note.Lines.SaveToStream(TempStream);
      TempStream.Position := 0;
      RichEdit_Note.Lines.LoadFromStream(TempStream);
    J'ai essayé de passer par la sauvegarde temporaire d'un fichier RTF, mais cela ne change rien, ça fonctionne dans un sens mais pas dans l'autre.

    Plaintext est bien à False dans les deux cas.

    Je ne comprend pas... quelqu'un a une idée :

  2. #2
    Membre averti
    Inscrit en
    novembre 2002
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : novembre 2002
    Messages : 549
    Points : 436
    Points
    436
    Par défaut
    salut à toi,

    quel SGBD ? ta colonne est bien du type BLOB ?

    @
    PpPool

  3. #3
    dem
    dem est déconnecté
    Membre habitué

    Inscrit en
    juillet 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : juillet 2003
    Messages : 110
    Points : 137
    Points
    137
    Par défaut
    J'utilise une abse locale MyBase en binaire. C'est bien un BLOB, et je n'ai aucun problme d'utilisation et de récupération des données pour les inclure dans un traitment de texte avec le texte formaté. Les données sont bien stockées en texte formaté mais je n'arrive pas à les extraire de ce BLOB autrement que par copier-coller manuel.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Archi
    Inscrit en
    décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Archi
    Secteur : Bâtiment

    Informations forums :
    Inscription : décembre 2011
    Messages : 38
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par dem Voir le message
    J'utilise une abse locale MyBase en binaire. C'est bien un BLOB, et je n'ai aucun problme d'utilisation et de récupération des données pour les inclure dans un traitment de texte avec le texte formaté. Les données sont bien stockées en texte formaté mais je n'arrive pas à les extraire de ce BLOB autrement que par copier-coller manuel.
    Bonjour,

    je déterre le post, je rencontre le même problème.

    J'ai essayé par code avec la commande CopyToClipboard et pasteFromClipboard et rencontre le même probléme
    Par contre copier collé manuel cela fonctionne.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 229
    Points : 35 947
    Points
    35 947
    Billets dans le blog
    54
    Par défaut
    Bonjour
    Citation Envoyé par benleq Voir le message
    je déterre le post, je rencontre le même problème.
    Il aurait mieux valu ouvrir une nouvelle discussion ! 2005 c'est pas du récent et de plus cela n'apporte rien. De plus est-ce vraiment le même SGBD ?

    J'ai essayé par code avec la commande CopyToClipboard et pasteFromClipboard et rencontre le même probléme
    Par contre copier collé manuel cela fonctionne.
    Je ne comprends pas, le sujet parle de récupération du blob dans une base de donnée que vient faire le clipboard là dedans ?
    je moinsse donc aussi
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Archi
    Inscrit en
    décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Archi
    Secteur : Bâtiment

    Informations forums :
    Inscription : décembre 2011
    Messages : 38
    Points : 25
    Points
    25
    Par défaut
    Bonjour

    Désolé pour le déterrage 'inapproprié'
    Aprés différent essais, le passage par un Stream fait bien perdre le format.
    J'ai corrigé mon code

    j'utilise des bases acces 2003 et composant ADO
    sous delphi XE2 le code suivant :

    1: DBRichEdit1.SelectAll;
    2: DBRichEdit1.CopyToClipboard;
    3: RichEdit1.pasteFromClipboard;
    4: RichEdit1.SelectAll;
    5: RichEdit1.CopyToClipboard;
    6: DBRichEdit4.pasteFromClipboard;

    copie colle sans aucune perte de format d'un DBRichEdit a un RichEdit et inversement.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    12 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 12 261
    Points : 21 665
    Points
    21 665
    Par défaut
    Sinon changer PlainText permet de controler la gestion de la mise en forme par les Stream
    Et Un DBRichEdit, il y a un TField, c'est ce dernier que je manipulerais de préférence au lieu de Lines.Text

    Pour moi l'utilisation de DBRichEdit.Lines.Text est une erreur fondamentale, seul DBRichEdit.Field.AsString ou TBlobField(DBRichEdit.Field).LoadFromStream() ne devrait être utilisé, ainsi, c'est la donnée qui est modifiée.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Zone de saisie de texte formaté dans Swing
    Par mugwump dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 25/09/2012, 07h39
  2. Stockage de texte formaté dans une BDD
    Par sliderman dans le forum Débuter
    Réponses: 2
    Dernier message: 16/10/2008, 11h11
  3. Réponses: 1
    Dernier message: 06/03/2008, 21h40
  4. Rich text format dans db2
    Par machipot dans le forum DB2
    Réponses: 2
    Dernier message: 12/09/2007, 00h00
  5. comment mettre du texte formaté dans une frame?
    Par afrikha dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 09/10/2005, 15h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo