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

Langage Delphi Discussion :

Problème avec un memo...


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Problème avec un memo...
    Bonjour tout le monde!

    Je voudrais pouvoir convertir les caractères qui se trouvent dans mon memo en d'autres caractères. Par exemple j'écris "Bon" et je voudrais que sur un procédure tout les B se transforment en 1, touts les O se transforment en 2, touts les N se tranforment en 3 etc... se qui me donnerait "123".

    Comment puis-je faire??

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2002
    Messages : 38
    Points : 61
    Points
    61
    Par défaut
    Tu accedes au caractaire avec un ---> Memo.Text[n];

    Exemple
    texte : 'Salut'

    Memo.Text[1]; --> 'S'
    Memo.Text[2]; --> 'a'
    Memo.Text[3]; --> 'l'
    Memo.Text[4]; --> 'u'
    Memo.Text[5]; --> 't'

    donc je dirai un turc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for x := 1 to length(memo.text) do
      Case Memo.Text[x] of
        'a' : Memo.Text[x] := '1';
        'b' : Memo.Text[x] := '2';
        etc......
    (J'ai pas testé (y surement des fautes de syntaxe indépandente de ma volonté) et y peut-être plus simple, à voir)

    -Magic-

  3. #3
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    magic corp., tu ne peux pas faire un case avec des string.

    Youyou0214 Regarde du côté de StringReplace dans l'aide de Delphi.

    bon dev'

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    OK merci, j'étais en train d'écrire justement que sa marchait po...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Autrement j'aurais une autre question qui n'a aucun rapport mais je ne voulais pas reposter un autre sujet: Comment peut on trouver un chiffre au hasard entre 2 et 25 par exemple?? J'ai essayer Espace étant une variable Array [2..26] of integer; mais sa me sort des chiffres que je n'ai pas demandé (1458...)[/code]

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2002
    Messages : 38
    Points : 61
    Points
    61
    Par défaut
    Je sais que si c'est une chaine ça marche pas, mais si c'est un caractaire ça joue. non?

    Citation Envoyé par Un employé de chez Borland
    Instructions Case

    L'instruction case propose ....
    où expressionSelection est une expression de type scalaire (les types chaîne sont interdits) et chaque listeCas est l'un des éléments suivants :

    -Un nombre, une constante déclarée ou une expression que le compilateur peut évaluer sans exécuter le programme. Ce doit être une valeur de type scalaire compatible avec expressionSelection. Ainsi 7, True, 4 + 5 * 3, 'A', et Integer('A') peuvent être utilisés comme listeCas, mais les variables et la plupart des appels de fonctions ne peuvent être utilisés. Certaines fonctions prédéfinies comme Hi et Lo peuvent s'utiliser dans une listeCas1.
    il faut par contre y casté en CHAR char(memo1.Text[n]) (j'y avais pas pensé sur le moment)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Case char(memo1.Text[n]) of
      'a' : ...
    PS : {Memo.Text[x] := '1'} c'est pas possible pas contre.

    -Magic-

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 69
    Points
    69
    Par défaut
    bonjour

    solution de chiffre aleatoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Randomize;
    showmessage(inttostr((random(2)) or (Random(26))));
    A+

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2002
    Messages : 38
    Points : 61
    Points
    61
    Par défaut
    Petite rectification, il n'y a même pas besoin de caster.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    case Memo.Text[n] of
      'a' : ...
      'b' : ...
    est tous affet possible car {Memo.Text[n]} désigne un caratère.

    Youyou0214, l'erreur que tu avais, devais être le {Memo.Text[n] := '1'} qui lui n'est pas possible.

    -Magic-

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Ok merci de vos reponse, touts mes problèmes sont résolus!

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

Discussions similaires

  1. [Lazarus] MS Access : problème avec les champs MEMO
    Par Jazz77 dans le forum Lazarus
    Réponses: 13
    Dernier message: 04/03/2013, 19h18
  2. [AC-2003] Problème avec un champs memo tronqué
    Par ted the Ors dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/03/2011, 16h11
  3. [EasyPHP] Problème avec URL (/memo/index.html)
    Par vinze60 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 11/10/2010, 06h25
  4. Problème avec la taille du memo?
    Par diado dans le forum Bases de données
    Réponses: 6
    Dernier message: 17/08/2004, 23h44
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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