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
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
Bonsoir,
Un petit Edit.text ne suffit pas ?
Chris
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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaChaine := Edit1.text
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);
Oops !
Décidemment ! j'ai fait une grosse crise de dyslexie sur ce coup-là !
Désolé.
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...ugestion_liste.pas(78,11) Error: Identifier not found "Tedit"
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;
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');
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.
N'essaie pas de créer un Tedit dynamiquement alors que tu ne maitrises pas encore la simple utilisation de ses propriétés.var list:t_liste;
Mot:string;
Edit1:Tedit;
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.
je pense qu'on doit etre dans la meme école donc je te donne la solution que notre prof nous a donné :
c'est un peu différent mais au moins la fonction renvoie une réponse
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;![]()
bonjour
tu écris
d'où une erreur de syntaxe
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é');
ils faut mettre un +
soit
idem l'autre ligne
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é');
bonne continuation
Partager