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 :

Nombre de caractères dans un RichEdit


Sujet :

Delphi

  1. #1
    AT
    AT est déconnecté
    Membre régulier Avatar de AT
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 168
    Points : 85
    Points
    85
    Par défaut Nombre de caractères dans un RichEdit
    Hello,

    Voici une séquence un fragment d'ADN que je copie et colle dans un richedit comment être sur de compter le bon nombre de base ? j'en compte 1635

    gaattcgagatgcgaatgagcagcagccattttgatgttgtgagcatcggaacgtttctgcgtccgtacactgtccttttgttacttagataatggctaaggcaagcagtccgggccaca
    ggagtcaaaggcttttcgccagctcctaaacgctggaagtgtaattttttttcttcttataaaattaaacaaacccttttagaaaggaacactcgctttatctcttcgaccgaatttact
    atacatggatatatatatattatcttctgttcacagttaaaactaggaatagcatagtcataagttaacaccatcatgttgagaacgtcaacattgttcaccaagcgtgtccaaccaagc
    ctattttctagaaacattcttagattgcaatccacagctgcaatccctaagactcaaaaaggtgtcatcttttatgagaataaggggaacctgcattacaaagatatccctgtccccgag
    cctaagccaaatgaaattttaatcaacgttaaatattctggtgtatgtcacaccgatttacatgcttggcacggcgattggccattacctgttaaactaccattagtaggtggtcatgaa
    ggtgctggtgtagttgtcaaactaggttccaatgtcaagggctggaaagtcggtgatttagcaggtatcaaatggctgaacggttcttgtatgacatgcgaattctgtgaatcaggtcat
    gaatcaaattgtccagatgctgatttatctggttacactcatgatggttctttccaacaatttgcgaccgctgatgctattcaagccgccaaaattcaacagggtaccgacttggccgaa
    gtagccccaatattatgtgctggtgttactgtatataaagcactaaaagaggcagacttgaaagctggtgactgggttgccatctctggtgctgcaggtggcttgggttccttggccgtt
    caatatgcaactgcgatgggttacagagttctaggtattgatgcaggtgaggaaaaggaaaaacttttcaagaaattggggggtgaagtattcatcgactttactaaaacaaagaatatg
    gtttctgacattcaagaagctaccaaaggtggccctcatggtgtcattaacgtttccgtttctgaagccgctatttctctatctacggaatatgttagaccatgtggtaccgtcgttttg
    gttggtttgcccgctaacgcctacgttaaatcagaggtattctctcatgtggtgaagtccatcaatatcaagggttcttatgttggtaacagagctgatacgagagaagccttagacttc
    tttagcagaggtttgatcaaatcaccaatcaaaattgttggattatctgaattaccaaaggtttatgacttgatggaaaagggcaagattttgggtagatacgtcgtcgatactagtaaa
    taatagcgtgttacgcacccaaacttttatgaaagtctttgtttataatgatgaggtttataaatatatagtggagcaaagattaatcactaaatcaagaagcagtaccagtattttttc
    tatatcaagtagtgataatggaaatagcccaaatttggcttccgtcgac

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.EffaceCaracterClick(Sender: TObject);
    var S:string;
    begin
     S:= RichEdit1.Text;
     RichEdit1.Text:=ExcludeChars(S,CS);
     label1.caption:= inttostr(length(RichEdit1.Text));
    end;
    AT

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 71
    Points : 102
    Points
    102
    Par défaut
    Salut,
    en supossant que CS est un TSysCharSet
    je dirais 1609 en excluant #13 et #10 (CRLF)
    @+

  3. #3
    AT
    AT est déconnecté
    Membre régulier Avatar de AT
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 168
    Points : 85
    Points
    85
    Par défaut
    Yes nuxtay. Quel fonction pour compter le bon nombre ?

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    const CS : TSysCharSet = ['0'..'9','+','-','*','/','=',' '];
     
    function ExcludeChars(const S : string; const CS : TSysCharSet) : string;
      var pR : PChar;
          L,I,N: integer;
      begin
        L := Length(S);
        I := 0;
        for N := 1 to L do
          if S[N] in CS then I := I + 1;
        I := L - I;
        if I = 0 then
        begin
          result := '';
          exit;
        end else
        begin
          SetLength(Result, I);
          pR := PChar(Result);
          for N := 1 to L do
            if not (S[N] in CS) then
            begin
              pR[0] := S[N];
              inc(pR);
            end;
        end;
      end;
     
    procedure TForm1.EffaceCaracterClick(Sender: TObject);
    var S:string; CS : TSysCharSet ;
    begin
     S:= RichEdit1.Text;
     RichEdit1.Text:=ExcludeChars(S,CS);
     label1.caption:= inttostr(length(RichEdit1.Text));
    end;
    AT

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 683
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 683
    Points : 13 092
    Points
    13 092
    Par défaut
    CS : TSysCharSet = ['0'..'9','+','-','*','/','=',' ', #13, #10]; ou à l'inverse, ne compter que les TAGC.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2009
    Messages : 322
    Points : 310
    Points
    310
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function decompte(adn:string):integer;
    const bases='acgtiurwkbvysmdhn';
    var i:integer;
    adn:string;
     
    begin
       decompte:=0;
       for i:=1 to length(adn) do 
           if pos(adn[i],bases)>0 then inc(decompte);
    end;
    Fait à la volée...
    Possible de remplacer avec des tsyscharset si besoin de rapidité.

    A+

  6. #6
    AT
    AT est déconnecté
    Membre régulier Avatar de AT
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 168
    Points : 85
    Points
    85
    Par défaut
    Good

    thanks à vous
    AT

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

Discussions similaires

  1. Limiter le nombre de caractère dans un textarea
    Par Taz_8626 dans le forum Général JavaScript
    Réponses: 34
    Dernier message: 25/04/2006, 15h57
  2. Recuperer le nombre de caractère dans un textarea
    Par Taz_8626 dans le forum Langage
    Réponses: 10
    Dernier message: 14/04/2006, 11h28
  3. Limiter le nombre de caractère dans un textearea?
    Par Death83 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/01/2006, 02h24
  4. [W3C] Nombre de caractère dans les formulaires
    Par oranoutan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/12/2005, 01h37
  5. Connaitre le nombre de caractère ";" dans un champ
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/11/2004, 17h36

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