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

Delphi Discussion :

Comment manipuler un memo?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juillet 2005
    Messages : 479
    Par défaut Comment manipuler un memo?
    Salut
    j'utilise des memo pour l'affichage des phrases et textes à partir d'une base de données:
    memo1.Lines.Add(exp + ' du ' + du + ' au ' + au + ',établissement: ' + soc );
    se que je n'arrive pas à faire c'est d'afficher des mots en couleur différents par exemple je veux afficher le mots "établissent" en rouge, aussi je souhaite savoir comment inserer le retour à la ligne à la fin d'une chaine ou dans n'importe quel position que je veux et aussi l'insertion d'une chaine vide car j'ai mis le code memo1.Lines.Add(''); mais n'a pas fonctionner.
    merci

  2. #2
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 539
    Billets dans le blog
    10
    Par défaut
    En Delphi standard il existe une solution : le Memo RichEdit

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Comme l'as dit Alweber, pour faire cela il faut utiliser le RichEdit.

    Je te propose d'étudier le code de Sub0 qui normalement répond à ta question

    C'est par ici

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Salut,

    1) Couleurs : comme le dit ALWEBER utiliser RichEdit (en plus contrairement à un Memo, cela permet de faire RichEdit.Print en cas de besoin)

    2) "comment inserer le retour à la ligne ... en n'importe quel position" :
    - dans une séquence de memo1.Lines.Add(s) un memo1.Lines.Add('') ajoute une ligne vide à la suite et si l'on continue avec des memo1.Lines.Add(s) la ligne vide forme un interligne.
    - par contre si on écrit memo1.Lines.Add( string1 +#13#10 +string2 +#13#10 +string3) les strings apparaîtront dans la lucarne d'affichage comme suit :
    string1
    string2
    string3

    Le caractère #13 est le CR (Carriage Return) ou ex Retour-chariot des anciennes machines à écrire
    et le caractère #10 est le LF (Line Feed) qui correspondait à l'avancement du papier de la machine.
    Ensemble CRLF ne singifient plus que "fin de paragraphe" vu qu'une string peut être très longue et s'étaler visuellement sur plusieurs lignes.

    3) et c'est Kif-kif avec RichEdit.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    l'exemple sur le RichEdit Fourni avec delphi t'aidera beaucoup.

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juillet 2005
    Messages : 479
    Par défaut
    bonjour
    merci pour vos réponses, je vais essayer le richedit au lieu des memo
    merci

  7. #7
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juillet 2005
    Messages : 479
    Par défaut
    salut
    voici mon code ou j'utilise memo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    procedure Tetat_agent.DBLookupComboBox1Click(Sender: TObject);
    var
    exp,du,au,soc,qual,acadm,etab,sactif,sdesign:string;
    begin
    etat_agent.memo1.Lines.Text:=('');
    sdesign:=etat_agent.adotableinfo.Fields[1].asstring;
    sactif:='etat=true';
    etat_agent.adotableexpr.filtered:=false ;
    etat_agent.adotableexpr.filter:= sactif + ' and ' + 'nom ='+ quotedstr(sdesign);
    etat_agent.adotableexpr.filtered:=true ;
    etat_agent.adotableexpr.First;
    while not etat_agent.adotableexpr.eof do
    begin
     qual:= etat_agent.adotableexpr.fields[4].asstring;
     du:=datetostr(etat_agent.adotableexpr.fields[2].asdatetime);
     au:=datetostr(etat_agent.adotableexpr.fields[3].asdatetime);
     soc:= etat_agent.adotableexpr.fields[5].asstring;
     exp:= etat_agent.adotableexpr.fields[4].asstring;
     etat_agent.memo1.Lines.Add(exp + ' du ' + du + ' au ' + au + ', établissement: ' + soc +', Qualification : '+ qual);
     etat_agent.ADOTableexpr.Next;
     end;

    il applique une filtre sur une table puis il parcoure cette table pour afficher touts les enregistrements dans un memo, moi je veux mettre les chaines entre ' ' comme 'du','au','établissement' et 'qualification' en couleur différente, bon j'ai essayé de mettre un richedit mais je n'arrive pas à appliquer les couleurs et j'ai vue le code de sub0 (syntax.dpr) mais je ne l'ai pas bien compris.
    merci

    [hauwke] Merci d'utiliser les balises de code[/Hauwke]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/10/2005, 18h47
  2. comment manipuler la couche alpha d'un .png
    Par bilel dans le forum C++Builder
    Réponses: 1
    Dernier message: 18/07/2005, 14h40
  3. [Audio] Comment manipuler un fichier PCM
    Par max44410 dans le forum C++Builder
    Réponses: 16
    Dernier message: 22/05/2005, 17h33
  4. Comment manipuler un DataSource de OpenOffice.org ?
    Par dyvim dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 26/04/2005, 09h29
  5. [PDFBox]Comment manipuler une LIST
    Par marcotop dans le forum Documents
    Réponses: 11
    Dernier message: 27/08/2004, 15h46

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