Bonjour,
je veux faire un composant de type collection qui permet de faire des stats.
Au final, je voudrais que lorsqu'un utilisateur ajoute un item, il puisse choisir entre un objet type Gauss, ou un objet type poisson.
Avant d'aller plus loin, voici mes classes.
Voici les problèmes que je rencontre :
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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145 type TStat_Gene = class(TComponent) private FGauss : TLoiGauss; FPoisson : TLoiPoisson; //acesseur function GetBorneMin: statistique.TGestionBorne; procedure SetBorneMin(val: statistique.TGestionBorne); function GetBorneMax: statistique.TGestionBorne; procedure SetBorneMax(val: statistique.TGestionBorne); function GetCapaMin: double; procedure SetCapaMin(val: double); function GetCapaMax: double; procedure SetCapaMax(val: double); function GetLotMin: double; procedure SetLotMin(val: double); function GetLotMax: double; procedure SetLotMax(val: double); function GetSpecMin: double; procedure SetSpecMin(val: double); function GetSpecMax: double; procedure SetSpecMax(val: double); function GetCp: double; function GetCpl: double; function GetCph: double; function GetCpk: double; function GetMoyenne: Extended; function GetSigma: Extended; function GetNbMesure: Extended; function GetNbMesureConforme: Extended; function GetN: Extended; procedure SetN(val : Extended); function GetP: Extended; procedure SetP(val : Extended); function GetQ: Extended; procedure SetQ(val : Extended); function GetM: Extended; procedure SetM(val : Extended); function GetEsperance: Extended; function GetVariance:Extended; function GetProbabilite: Extended; function GetProbabilitePoisson: Extended; function GetTypedeCalcul: statistique.TTypeCalcul; procedure SetTypedeCalcul(val: statistique.TTypeCalcul); //fin acesseur procedure CalculPoissonVarEsp; published ///<alias>Borne Minimal</alias> property BorneMin: statistique.TGestionBorne Read GetBorneMin Write SetBorneMin default Inclus; ///<alias>Borne Maximal</alias> property BorneMax: statistique.TGestionBorne Read GetBorneMax Write SetBorneMax default Inclus; ///<alias>Capabilité Minimal</alias> property CapaMin: double Read GetCapaMin Write SetCapaMin; ///<alias>Capabilité Maximal</alias> property CapaMax: double Read GetCapaMax Write SetCapaMax; ///<alias>Lot Minimal</alias> property LotMin: double Read GetLotMin Write SetLotMin; ///<alias>Lot Maximal</alias> property LotMax: double Read GetLotMax Write SetLotMax; ///<alias>Spec Minimal</alias> property SpecMin: double Read GetSpecMin Write SetSpecMin; ///<alias>Spec Maximal</alias> property SpecMax: double Read GetSpecMax Write SetSpecMax; ///<alias>Cp</alias> property Cp : Double Read GetCp; ///<alias>Cpl</alias> property Cpl : Double Read GetCpl; ///<alias>Cph</alias> property Cph : Double Read GetCph; ///<alias>Cpk</alias> property Cpk : Double Read GetCpk; ///<alias>Moyenne</alias> property Moyenne : Extended Read GetMoyenne; ///<alias>Sigma</alias> property Sigma : Extended Read GetSigma; ///<alias>NbMesure</alias> property NombreMessure : Extended Read GetNbMesure; ///<alias>NbMesureConforme</alias> property NombreMessureConforme : Extended Read GetNbMesureConforme; ///<alias>N</alias> property N : Extended Read GetN Write SetN; ///<alias>P</alias> property P : Extended Read GetP Write SetP; ///<alias>Q</alias> property Q : Extended Read GetQ Write SetQ; ///<alias>M</alias> property M : Extended Read GetM Write SetM; ///<alias>Esperance</alias> property Esperance : Extended Read GetEsperance; ///<alias>Variance</alias> property Variance : Extended Read GetVariance; ///<alias>Probabilité</alias> property Probabilite : Extended Read GetProbabilite; ///<alias>Probabilité Poisson</alias> property ProbabilitePoisson : Extended Read GetProbabilitePoisson; ///<alias>Type de Calcul</alias> property TypedeCalcul: statistique.TTypeCalcul Read GetTypedeCalcul Write SetTypedeCalcul default Spec; public constructor Create(Aowner : TComponent);override; procedure InsertionMesure(mesure : double); procedure Proba(val : extended); procedure RemiseAZéroComposant; procedure RemiseAZéroResultat; end; TCmpStatItem = class(TCollectionItem) private FName : String; FStat : TStat_Gene; procedure SetName(const Value:String); protected Function GetDisplayName: String; Override; published property Name : string read FName write SetName; property Stat : TStat_Gene read FStat; end; TCmpStats = class; TspStat = Class(TComponent) private FItems: TCmpStats; procedure SetItems(value : TCmpStats); public constructor Create(AOwner : TComponent); override; destructor Destroy; override; published property Item: TCmpStats read FItems write SetItems; End; TCmpStats = class( TOwnedCollection) private FComponent : TspStat; function GetItem(Index: Integer): TCmpStatItem; procedure SetItem(index: Integer; Value : TCmpStatItem); public constructor Create(Stat : TspStat); function Add : TCmpStatItem; property Items[Index : Integer]: TCmpStatItem read GetItem write SetItem; default; end;
* Je voudrais faire apparaitre les property de FStat dans l'inspecteur d'objet.
Je me retrouve avec simplement Stat et un champs vide en face.
Comment faire ?
* Comment faire un Write de la Stat ?
J'espere avoir été clair.
Merci
Partager