Gambas France BETA


Pas de compte ? Incription

recuperer text d'une textbox dynamique

Ce sujet est résolu.

1
AuteurMessages
kwuy33#1 Posté le 25/3/2014 à 12:32:17
Bonjour Remoi...
Bon le titre n'est pas forcement le bon mais je ne voyais pas comment expliquer ca
j'arrive a creer dynamiquement a partir d'un fichier conf x Textbox dans Form_open() et dans le _click d'un bouton je veux recuperer le text que l'utilisateur auras ecris dans chaque textbox sauf que ...

voici le code de creation de mes textbox
1
2
3
4
5
6
7
8
hMytextBox = NEW TextBox(ME) AS "Mytextbox"
WITH hMytextBox
.Width = widthtextbox
.Height = highttextbox
.X = xtextbox
.Y = ytextbox + (i * highttextbox)
.Name = "TextBox_" & i
END WITH


Je n'arrive pas a recuperer le texte de chacune...

Merci a vous
Reivillo#2 Posté le 25/3/2014 à 14:38:15
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Une idée, parmi sûrement d'autres...
Avec une Boucle qui liste tes TextBox.
Pour une recherche, par le nom.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PUBLIC SUB Button1_Click()

PRINT ReadTextBox("TextBox_1")

END

PUBLIC FUNCTION ReadTextBox(NaneText AS STRING) AS STRING

DIM iLoopFor AS INTEGER = 0

FOR iLoopFor = iLoopFor TO hMytextBox.count - 1
IF hMytextBox[iLoopFor].name = NaneText THEN RETURN hMytextBox[iLoopFor].text
NEXT

END


Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
kwuy33#3 Posté le 25/3/2014 à 14:49:20
Interessant j'avais pense a cette possibilite sauf que message systeme "symbole count inconnu dans la classe TextBox'
Reivillo#4 Posté le 25/3/2014 à 15:01:59
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »
"symbole count inconnu dans la classe TextBox'

As-tu créé tes TextBox dans le Code ?


Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
kwuy33#5 Posté le 25/3/2014 à 15:15:34
Pardon, je ne comprends pas le sens de ta question. Voici une partie du code de mon formulaire
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
PUBLIC SUB Form_Open()

'on lis le fichier conf a l'ouverture
'on cree le nb de parametre voulu
'avec les labels
'il faut penser a redimensionner la fenetre en fonction
DIM widthlabel AS INTEGER = 168
DIM hightlabel AS INTEGER = 28
DIM Xlabel AS INTEGER = 7
DIM Ylabel AS INTEGER = 7
DIM widthtextbox AS INTEGER = 168
DIM highttextbox AS INTEGER = 28
DIM xtextbox AS INTEGER = 196
DIM ytextbox AS INTEGER = 7
DIM i AS INTEGER
DIM widthbutton AS INTEGER = 112
DIM heightbutton AS INTEGER = 28
DIM Xbutton AS INTEGER = 7
DIM Ybutton AS INTEGER = 10
DIM j AS INTEGER
DIM lastY AS INTEGER
DIM lashby AS INTEGER

$OtherConfigFile = NEW Settings("/opt/Automatisation_IT/Automatisation_IT.conf")
nb_param = $OtherConfigFile[Module1.param_access & "/nb_param"]

'Creation des labels
FOR i = 1 TO nb_param
hMyLabel = NEW Label(ME) AS "MyLabel"
WITH hMyLabel
.Caption = $OtherConfigFile[Module1.param_access & "/label_param_" & i]
.Width = widthlabel
.Height = hightlabel
.X = Xlabel
.y = Ylabel + (i * hightlabel)
END WITH
'Creation des zone de texte
hMytextBox = NEW TextBox(ME) AS "Mytextbox"
WITH hMytextBox
.Width = widthtextbox
.Height = highttextbox
.X = xtextbox
.Y = ytextbox + (i * highttextbox)
.Name = "TextBox_" & i
.Text = "TextBox_" & i
END WITH
lasty = hMytextBox.Y
NEXT
'Creation des boutons
FOR j = 0 TO 2
hButton = NEW Button(ME) AS "MyButtonEvent"
WITH hButton
IF j = 0 THEN .Caption = "Retour"
IF j = 1 THEN .Caption = "Passe"
IF j = 2 THEN .Caption = "Lance"
.Width = widthbutton
.Height = heightbutton
.X = Xbutton + (j * widthbutton)
.Y = lastY + heightbutton + 10
END WITH
NEXT
ME.Height = lastY + hButton.Y

END

PUBLIC SUB MyButtonEvent_Click()
'On recupere les valeurs entrees dans les textbox

END


Voila....

Merci a toi
Reivillo#6 Posté le 25/3/2014 à 15:20:20
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Pour Tester...
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
' Gambas class file

PUBLIC hMytextBox AS NEW TextBox[]
PUBLIC iIdxTxtBox AS INTEGER = 0

PUBLIC SUB Form_Open()

DIM iLoopFor AS INTEGER = 0

FOR iLoopFor = iLoopFor TO 10
AddTxtBox
NEXT

END

PUBLIC SUB AddTxtBox()

iIdxTxtBox = hMytextBox.Count
hMytextBox.Add(NULL, hMytextBox.Count)
hMytextBox[iIdxTxtBox] = NEW TextBox(ME) AS "Mytextbox"

WITH hMytextBox[iIdxTxtBox]
.Width = 128
.Height = 24
.X = 128
.Y = 24 * iIdxTxtBox
.Name = "TextBox_" & iIdxTxtBox
.Text = "Test Texte, Textbox_" & iIdxTxtBox
END WITH

END
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
kwuy33#7 Posté le 25/3/2014 à 15:30:23
Merci. Je vais essayer de comprendre ton code meme si j'en discerne la philosophie du fait que sur mes derniers tests il attendait un tableau sur le hMytextbox....

[EDIT] bon j'ai adapte ton code et ca fonctionne, je peux bien recuperer mes donnees, j'ai juste a resoudre le probleme de placement dans le formulaire

Merci beaucoup a toi
1