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

Lazarus Pascal Discussion :

[Lazarus] Comment récupérer un texte dans un Tedit ?


Sujet :

Lazarus Pascal

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut [Lazarus] Comment récupérer un texte dans un Tedit ?
    Voila je débute sur lazarus et je voudrais savoir coment récuperer un texte préalablement rentré dans une fenetre Tedit...
    J'ai pensé a OnEditingdone mais je ne sais pas que faire avec...
    Faut-il créer une fonction en plus?
    Merci

  2. #2
    Membre émérite
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Par défaut
    Bonsoir,

    Un petit Edit.text ne suffit pas ?

    Chris

  3. #3
    Membre chevronné
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 475
    Par défaut
    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
     
     
    Var
     Edit1: TEdit; {objet d'une TForm }
     
     
    Procedure Recup_Text;
     
      Var 
        MaChaine : string;
     
    Begin
     
        Edit1.text := MaChaine;
     
    End;   {Recup_Text}

    C'est une simple affectation qui utilise la méthode 'text' de l'objet Edit1

  4. #4
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    Citation Envoyé par richard Voir le message
    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
     
     
    Var
     Edit1: TEdit; {objet d'une TForm }
     
     
    Procedure Recup_Text;
     
      Var 
        MaChaine : string;
     
    Begin
     
        Edit1.text := MaChaine;
     
    End;   {Recup_Text}
    Cette procedure met dans l'edit la valeur (non initialisée) de la chaine machaine. Ce n'est pas ce qui est demandé car celà va (suivant l'OS) vider l'edit, ou le remplir de valeurs parasites...

    Tu voulais certainement ecrire

    Si tu comptes conserver cette string, il vaut mieux utiliser une variable globale et non pas déclarée dans ta procedure.

    Pour une utilisation immédiate, il n'est pas besoin de passer par une variable :
    par exemple pour utiliser cette string dans une messagebox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Showmessage('l''edit1 contient la chaine '+edit1.text);

  5. #5
    Membre chevronné
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 475
    Par défaut
    Oops !

    Décidemment ! j'ai fait une grosse crise de dyslexie sur ce coup-là !

    Désolé.

  6. #6
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut
    Merci de vos reponses et désolé de répondre avec un peu de retard...
    J'ai quand meme un probleme, lorsque je compilie, voici le message d'erreur que j'obtiens:

    ugestion_liste.pas(78,11) Error: Identifier not found "Tedit"
    Donc je sais pas quoi faire...

    Je vous envoie ma fonction:
    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
     
    // fonction de recherche du mot francais  (premiere partie de la recherche)
    function recherche(maliste:t_liste):t_pPoste;
    var list:t_liste;
        Mot:string;
        Edit1:Tedit;
    begin
    list:=maliste;
     
      while list<> NIL do
        if Edit1.text=list^.francais
        then
          begin
            Edit1.text:=list;
            FFaceAvant.MAffichage.Lines.Append('Le mot'+Edit1.text' est bien référencé');
          end
        else
          begin
            list :=  list^.psuivant;
            FFaceAvant.MAffichage.Lines.Append('Le mot'+Edit1.text' n-est pas dans la liste');
          end;
    end;

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Par défaut
    bonjour,

    tu n'aurais pas oublié un + ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FFaceAvant.MAffichage.Lines.Append('Le mot'+Edit1.text+' n-est pas dans la liste');

  8. #8
    Membre chevronné
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 475
    Par défaut
    Citation Envoyé par Ben8282 Voir le message
    Merci de vos reponses et désolé de répondre avec un peu de retard...
    J'ai quand meme un probleme, lorsque je compilie, voici le message d'erreur que j'obtiens:
    Cela veut dire à priori qu'il ne trouve pas la librairie dans laquelle est définie le composant TEdit.

    Vérifie si ta fonction est dans une unité qui fait référence aux widgets Lazarus. Est-ce que c'est le seul composant qui pose problème dans ce code ?
    Essaie avec un composant 'TButton' pour voir, si tu obtiens le même message c'est que ta fonction n'accède pas aux bibliothèques de composants.

  9. #9
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    var list:t_liste;
    Mot:string;
    Edit1:Tedit;
    N'essaie pas de créer un Tedit dynamiquement alors que tu ne maitrises pas encore la simple utilisation de ses propriétés.

    Utilise plutot la façon de faire classique :
    Pose un Tedit à la souris depuis la palette de composants standard sur la form créée automatiquement dans ton projet lazarus.
    Tu pourras le redimentionner, definir son texte initial etc... grace à l'inspecteur d'objet situé sur la gauche de ton ecran.
    Tout ceci n'est evidemment possible que si tu es parti d'un nouveau projet/application avec lazarus, et pas si tu as ouvert un bout de code source pascal prévu pour faire une application en mode console...
    POur les projets créés avec Lazarus, les déclarations, dépendances etc des composants visuels ajoutés à ton application à la souris sont gérées automatiquement ...

    Si tu tiens à apprendre comment créer dynamiquement (par du code ecrit par tes soins) un tedit, ouvre un autre sujet dans lequel nous en parlerons.

  10. #10
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Par défaut
    Citation Envoyé par Ben8282 Voir le message
    Merci de vos reponses et désolé de répondre avec un peu de retard...
    J'ai quand meme un probleme, lorsque je compilie, voici le message d'erreur que j'obtiens:



    Donc je sais pas quoi faire...

    Je vous envoie ma fonction:
    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
     
    // fonction de recherche du mot francais  (premiere partie de la recherche)
    function recherche(maliste:t_liste):t_pPoste;
    var list:t_liste;
        Mot:string;
        Edit1:Tedit;
    begin
    list:=maliste;
     
      while list<> NIL do
        if Edit1.text=list^.francais
        then
          begin
            Edit1.text:=list;
            FFaceAvant.MAffichage.Lines.Append('Le mot'+Edit1.text' est bien référencé');
          end
        else
          begin
            list :=  list^.psuivant;
            FFaceAvant.MAffichage.Lines.Append('Le mot'+Edit1.text' n-est pas dans la liste');
          end;
    end;
    je pense qu'on doit etre dans la meme école donc je te donne la solution que notre prof nous a donné :

    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
     
    //recherche d'un mot dans une liste
    function recherche(mot:string; liste:t_liste):t_pPoste; //dans le programme principal il faut appeler la procedure comme ça : recherche(Edit1.text, Maliste)
    var pc:t_pPoste; arretboucle : boolean;
    begin
    pc:=liste;
    arretboucle:=false;
    While (pc<>nil) and (not arretboucle) do
     if pc^.francais=mot then
     arretboucle:=true
     else if pc^.francais > mot then
        begin
        pc:=nil;
        arretboucle:=true;
        end
       else pc:= pc^.psuivant;
     recherche:=pc;
    end;
    c'est un peu différent mais au moins la fonction renvoie une réponse

  11. #11
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Par défaut
    bonjour
    tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FFaceAvant.MAffichage.Lines.Append('Le mot'+Edit1.text' est bien référencé');
    d'où une erreur de syntaxe

    ils faut mettre un +
    soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FFaceAvant.MAffichage.Lines.Append('Le mot'+Edit1.text+' est bien référencé');
    idem l'autre ligne

    bonne continuation

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/08/2013, 17h42
  2. Réponses: 0
    Dernier message: 13/08/2012, 23h58
  3. Réponses: 3
    Dernier message: 24/08/2009, 16h21
  4. Comment récupérer le texte sélectionné dans une liste déroulante ?
    Par Je-cherche-pfe dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/09/2007, 20h35
  5. Réponses: 12
    Dernier message: 05/03/2007, 11h52

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