Gambas France BETA


Pas de compte ? Incription

creation d'un logiciel de Probit sous Gambas

1
AuteurMessages
duocore#1 Posté le 31/3/2012 à 20:31:27
bonsoir a tous,

Je vais realiser un programme de Probit: basé sur http://www.google.com/url?sa=t&rct=j&q= … hA&cad=rja

avant sous windows j'utilisais rapid q , il existe aussi sous linux mais pas avec toutes les fonctions de sous windows.

je debute donc avec Gambas

J'ai une fenetre qui apparait avec un menu:

Fichier Analyse
creation Probit
Modif. graphique
Imprimer
supprimer
quitter

quand je clique sur creation j'ai une autre fenetre qui apparait:

grace a

PUBLIC SUB Creation_Click()

Create.show

END

elle apparait sur tous les bureaux

j'ai ceci qui apparait:

je n'arrive pas a faire pour que quand je clique sur valider, que j'ai un nombre de tabstrip = a nbre de point +1
je ne sais pas comment incrementer dans une boucle FOR le nbre de tabstrip
j'ai essayé ce code
1
2
3
4
5
6
7
8
9
10
11
12
13
PUBLIC SUB Valide_Click()
DIM i AS INTEGER

FOR i = 0 TO ValueBox2.Number
IF TabStrip1[i].Text = TextBox1.Text
TabStrip1.Count = i + 1
TabStrip1[TabStrip1.Count].Text = "Point N° " CStr(TabStrip1.Count)
TabStrip1.Index = TabStrip1.Count
RETURN
ENDIF
NEXT

END


mais le valuebox2.number ne fonctionne pas
Prokopy#2 Posté le 31/3/2012 à 21:12:41
Kinder PinguiSalut duocore,

il me semble que pour récupérer la valeur de ton ValueBox il faut utiliser la propriété Value, pas la propriété Number.

1
2
3
4
5
6
7
8
9
10
11
12
13
PUBLIC SUB Valide_Click()
DIM i AS INTEGER

FOR i = 0 TO ValueBox2.Value
IF TabStrip1[i].Text = TextBox1.Text
TabStrip1.Count = i + 1
TabStrip1[TabStrip1.Count].Text = "Point N° " CStr(TabStrip1.Count)
TabStrip1.Index = TabStrip1.Count
RETURN
ENDIF
NEXT

END


http://gambasdoc.org/help/comp/gb.form/valuebox/value?fr&v3
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
duocore#3 Posté le 1/4/2012 à 02:31:34


duocore#4 Posté le 1/4/2012 à 11:56:03
1
2
3
4
5
6
7
PUBLIC SUB Valide_Click()
DIM i AS INTEGER
FOR i = 1 TO ValueBox2.Value
TabStrip1.Count = i + 1
TabStrip1[i].Text = "Point n°" Str(i)
NEXT
END


j'ai reussi a faire ce que je veux,
mais je voudrais l'ameliorer:

je voudrais le faire sous forme de matrice
pour pouvoir ensuite une fois avoir rentré toutes les valeurs les enregistrer dans un fichier

1
2
3
4
5
6
7
8
9
10
11
12
13
14
PUBLIC SUB valide_click()
DIM i AS INTEGER
DIM tableau(Valuebox2.value+1,3) AS INTEGER
FOR i = 1 TO ValueBox2.Value
TabStrip1.Count = i + 1
TabStrip1[i].Text = "Point n°" Str(i)
Total[i].value=tableau(i,1) ' il s'agit de valuebox des differents points
Tue[i].value=tableau(i,2) ' il s'agit de valuebox des differents points
Dose[i].value=tableau(i,3) ' il s'agit de valuebox des differents points
NEXT
Total[i+1].value=tableau(i+1,1) ' il s'agit de valuebox du controle
Tue[i+1].value=tableau(i+1,2) ' il s'agit de valuebox du controle
Dose[i+1].value=tableau(i+1,3) ' valeur =0 du controle
END

mais je n'ai pas reussi a mettre les label et valuebox dans le tabstrip
en ce moment je suis parti d'un .form que j'ai crée ou il y avait deja un tabstrip, mais ce que je voudrais c'est que les nouveaux tabstrip soient crées quand je cliques sur valide-click().

je ne trouve pas de documentation detaillée sur gambas. pouvez vous m'aider.
spheris#5 Posté le 2/4/2012 à 10:28:05
duocore,
Juste pour info, c'est quoi un logiciel de "probit" ?
;)
duocore#6 Posté le 3/4/2012 à 07:12:25
duocore,
Juste pour info, c'est quoi un logiciel de "probit" ?
;)


probit est un outil statistique de regression utilisé dans la compréhension de dose-réponse
entre insectes-insecticide.

http://fr.wikipedia.org/wiki/Probit

http://translate.google.com/translate?hl=fr&sl=en&u=http://en.wikipedia.org/wiki/Probit&ei=g4V6T6ORDoHK0QXz6cC8Aw&sa=X&oi=translate&ct=result&resnum=1&ved=0CC4Q7gEwAA&prev=/search%3Fq%3Dprobit%26hl%3Dfr%26client%3Dubuntu%26hs%3D1Qc%26channel%3Dfs%26prmd%3Dimvnsb

http://translate.google.com/translate?hl=fr&sl=en&u=http://en.wikipedia.org/wiki/Probit&ei=g4V6T6ORDoHK0QXz6cC8Aw&sa=X&oi=translate&ct=result&resnum=1&ved=0CC4Q7gEwAA&prev=/search%3Fq%3Dprobit%26hl%3Dfr%26client%3Dubuntu%26hs%3D1Qc%26channel%3Dfs%26prmd%3Dimvnsb


http://www.google.com/url?sa=t&rct=j&q=%20probit&source=web&cd=8&ved=0CHEQFjAH&url=http%3A%2F%2Fuserwww.sfsu.edu%2F~efc%2Fclasses%2Fbiol710%2Fprobit%2FProbitAnalysis.pdf&ei=-YV6T6u6CIPV0QWitaDaAw&usg=AFQjCNHqhmuwMuGhc8poZSZ8LX1UIryAcw&cad=rja
Prokopy#7 Posté le 3/4/2012 à 20:47:47
Kinder Pingui
mais je n'ai pas reussi a mettre les label et valuebox dans le tabstrip
en ce moment je suis parti d'un .form que j'ai crée ou il y avait deja un tabstrip, mais ce que je voudrais c'est que les nouveaux tabstrip soient crées quand je cliques sur valide-click().


Si j'ai bien compris, tu cherches à créer de nouveaux contrôles depuis le code pour les mettre dans ton TabStrip.
Voici un petit exemple de comment on crée des contrôles en Gambas, pas à pas.

Je vais utiliser quelques boucles pour remplir mon TabStrip, donc je déclare tout d'abord des compteurs de boucle :

1
DIM i, j AS INTEGER


Ensuite, je vais déclarer une variable temporaire qui va servir à stocker mes futurs contrôles (ici des Label) :

1
DIM tLabel AS Label


Puisque l'on uilise un TabStrip (qui s'appelle ici TabStrip1), il faut d'abord définir le nombre d'onglets. Ici je mets arbitrairement 6 :

1
TabStrip1.Count = 6


Ensuite, j'attaque ma boucle qui va énumérer chacun des onglets de mon TabStrip, et ce en définissant la propriété Index, qui va définir l'onglet courant. Tant que j'y suis, je donne un nom à chacun de mes onglets :

1
2
3
FOR i = 0 TO 5
TabStrip1.Index = i
TabStrip1.Current.Text = "Onglet " & i


Ensuite, seconde boucle, dans laquelle je vais créer quelques Labels par onglet.

1
2
3
4
5
FOR j = 0 TO 3
tLabel = NEW Label(TabStrip1)
tLabel.Text = "Onglet " & i & ", Étiquette " j
tLabel.Height = 20
NEXT


Avec la première ligne, je crée un nouveau label, enfant de TabStrip1 dans son onglet courant, et je le référence par la Variable que j'ai créée plus haut.
Ensuite je lui donne un texte et une hauteur (la largeur d'un label étant définie automatiquement).
Il ne faut pas oublier de donner les dimensions des contrôles (via les propriétés Width et Height, sinon on peut chercher longtemps pourquoi nos contrôles sont tout aplatis. ;)

Et c'est tout. Voici le code final :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DIM tLabel AS Label
DIM i, j AS INTEGER

TabStrip1.Count = 6

FOR i = 0 TO 5
TabStrip1.Index = i
TabStrip1.Current.Text = "Onglet " & i

FOR j = 0 TO 3
tLabel = NEW Label(TabStrip1)
tLabel.Text = "Onglet " & i & ", Étiquette " j
tLabel.Height = 20
NEXT

NEXT


Je te laisse adapter tout cela à ton code, je pense que tu en es largement capable. :)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
duocore#8 Posté le 3/4/2012 à 21:14:25
merci pour tous ses renseignements. je testerais cela pas tout de suite.

c'est pas evident quand on doit se remettre a un nouveau langage de programmation.
1