La blockchain est-elle une technologie sans intérêt ?
Une étude stipule que ses cas d'utilisation ont un taux de réussite de 0 %
Le 2018-12-02 13:57:37, par Coriolan, Expert éminent sénior
Si vous suivez l’actualité tech, vous avez sûrement entendu parler de la blockchain, une technologie qui devrait façonner le monde de demain selon ses partisans. La blockchain est considérée par certains comme une révolution au même titre qu’internet, et elle est appelée à révolutionner plusieurs domaines allant de la cybersécurité à la finance.
La blockchain constitue-t-elle vraiment un véritable changement de paradigme ? C’est la question à laquelle a tenté de répondre une étude menée par trois chercheurs sur 43 solutions implémentées dans le domaine de développement international.
John Burg, un ancien adepte de la blockchain et membre de l’Agence des États-Unis pour le développement international (USAID), a entrepris avec deux autres professionnels du même domaine d’étudier des cas d’application du registre distribué lorsqu’il est utilisé par les ONG, entreprises et agences, mais ils n’ont trouvé aucune preuve de succès.
« Nous avons documenté 43 cas d’utilisation de la blockchain à travers des recherches sur internet, la plupart ont été décrits par des prétentions éclatantes comme ‘les coûts opérationnels...réduits à jusqu’à 90%,’ ou avec l’assurance de “capture et stockage sécurisé et soigneux de données.’ Nous avons constaté une prolifération de communiqués de presse, de livres blancs et des articles de persuasion. Cependant, nous n’avons trouvé aucune documentation ou preuve des résultats de la blockchain par rapport à ces prétentions. Nous n’avons pas aussi trouvé de leçons apprises ou un aperçu concret, comme c’est le cas pour les autres technologies en développement », a écrit le trio de chercheurs.
Les chercheurs ont tenté d’entrer en contact avec plusieurs firmes de blockchain, par email, par téléphone et en personne, mais sans succès.
« Personne n’a voulu partager des données sur les résultats de programme, de processus MERL [monitoring, evaluation, research, and learning] ou de gestion adaptative pour le potentiel de renforcement », a écrit l’équipe de recherche. « Malgré tout le battage médiatique autour de la blockchain et comment elle assure la transparence de processus et d’opérations dans les environnements de faible niveau de confiance, l’industrie elle-même est opaque. À partir de là, nous avons déterminé que le manque de preuves à l'appui des allégations de valeur de la blockchain dans l'espace du développement international est une lacune critique pour les adoptants potentiels. »
Burg a été jusqu’à récemment un fervent partisan de la blockchain comme il l’a expliqué dans ce billet de blog.
« La blockchain est comme un métier à tisser qui peut lier ensemble de multiples brins de choses séparées... dans un tissu intégré où vous pouvez voir ce que les données signifient et ajuster les ressources en réponse », explique-t-il il y a quelques mois.
La blockchain a été incroyablement mal présentée, en réalité elle recouvre une base de données qui englobe des problèmes de performance et de scalabilité, chose qui peut être dite pour toutes les bases de données. L’article nous apprend que la valeur à long terme et l’application de la blockchain sont minimales. Elle résout un nombre minime de problèmes. Pour la plupart des applications d’entreprise, la blockchain ne fait pas mieux qu’une base de données ou un programme de tableur. La blockchain peut être un outil ingénieux dans certaines circonstances, mais ce n’est pas la technologie révolutionnaire qu’on veut nous faire croire.
La blockchain est devenue un mot à la mode, un buzzword que tout le monde utilise pour faire vendre et engranger les profits tant que la bulle n’a pas encore explosé. Des entreprises proposent des services de consulting à des sommes importantes juste pour vous dire si la blockchain est adaptée pour vous ou non. HTC, le constructeur taïwanais qui peine à se redresser sur le marché, a lancé son premier smartphone doté de la technologie blockchain, une expérience smartphone adaptée à un utilisateur moderne et à la nouvelle ère d’internet, a informé l’entreprise.
En général, les autres mots à la mode ont porté sur des technologies qui avaient au moins un but pratique, pas seulement le potentiel de changer l’industrie avec pour seule preuve un statut en tant que mot à la mode. La blockchain s’est montrée incroyablement et de façon unique une technologie sans un réel intérêt à part peut être l’implémentation d’une cryptomonnaie.
Malgré cette réalité, certaines personnes continuent de défendre la blockchain, estimant que cette technologie s'est avérée extrêmement utile dans de nombreux secteurs d'activité tels que l'énergie, le négoce de titres, les échanges interbancaires et les devises. Ces partisans continuent de défendre qu’il existe encore des cas d’utilisation intéressants. Ils n’impliquent pas tous peut-être un besoin de décentralisation ou une blockchain publique, mais chaque cas bénéficie d'un sous-ensemble de la fonctionnalité.
Mais comme le prouve cette étude, avec un taux de réussite de 0 %, la blockchain continue d’être une simple tendance malgré l’énorme battage médiatique. Les vendeurs de ce rêve qu’est la blockchain ont été soucieux de vanter les mérites de cette technologie, mais ils sont incapables de présenter des preuves tangibles de succès sur le terrain. Il y a aussi la question s’il y a un besoin réel de blockchain dans tous les secteurs d’activité. En quoi peut-elle remplacer une base de données normale ? D’autant plus que ces avantages (très limités) ne justifient pas les coûts qui y sont associés.
Source : merltech
Et vous ?
Pensez-vous que la blockchain a une réelle valeur ajoutée ?
Si oui, quels sont les secteurs d'activité qui pourraient en tirer parti ?
Êtes-vous d'accord qu'il y a eu un battage médiatique de la blockchain ?
Voir aussi
L'énorme potentiel de la technologie de blockchain peine à séduire les entreprises car son adoption nécessite un changement structurel et culturel
La blockchain : une révolution technologique selon le Président chinois Xi Jinping, Pékin veut utiliser la technologie comme moteur de développement
Les dépenses mondiales autour de la blockchain pourraient atteindre les 11,7 milliards de dollars en 2022 d'après des projections d'IDC
Comment la blockchain pourrait-elle révolutionner les services publics ? Et si tout notre vécu était archivé dans la blockchain ?
La blockchain constitue-t-elle vraiment un véritable changement de paradigme ? C’est la question à laquelle a tenté de répondre une étude menée par trois chercheurs sur 43 solutions implémentées dans le domaine de développement international.
John Burg, un ancien adepte de la blockchain et membre de l’Agence des États-Unis pour le développement international (USAID), a entrepris avec deux autres professionnels du même domaine d’étudier des cas d’application du registre distribué lorsqu’il est utilisé par les ONG, entreprises et agences, mais ils n’ont trouvé aucune preuve de succès.
« Nous avons documenté 43 cas d’utilisation de la blockchain à travers des recherches sur internet, la plupart ont été décrits par des prétentions éclatantes comme ‘les coûts opérationnels...réduits à jusqu’à 90%,’ ou avec l’assurance de “capture et stockage sécurisé et soigneux de données.’ Nous avons constaté une prolifération de communiqués de presse, de livres blancs et des articles de persuasion. Cependant, nous n’avons trouvé aucune documentation ou preuve des résultats de la blockchain par rapport à ces prétentions. Nous n’avons pas aussi trouvé de leçons apprises ou un aperçu concret, comme c’est le cas pour les autres technologies en développement », a écrit le trio de chercheurs.
Les chercheurs ont tenté d’entrer en contact avec plusieurs firmes de blockchain, par email, par téléphone et en personne, mais sans succès.
« Personne n’a voulu partager des données sur les résultats de programme, de processus MERL [monitoring, evaluation, research, and learning] ou de gestion adaptative pour le potentiel de renforcement », a écrit l’équipe de recherche. « Malgré tout le battage médiatique autour de la blockchain et comment elle assure la transparence de processus et d’opérations dans les environnements de faible niveau de confiance, l’industrie elle-même est opaque. À partir de là, nous avons déterminé que le manque de preuves à l'appui des allégations de valeur de la blockchain dans l'espace du développement international est une lacune critique pour les adoptants potentiels. »
Burg a été jusqu’à récemment un fervent partisan de la blockchain comme il l’a expliqué dans ce billet de blog.
« La blockchain est comme un métier à tisser qui peut lier ensemble de multiples brins de choses séparées... dans un tissu intégré où vous pouvez voir ce que les données signifient et ajuster les ressources en réponse », explique-t-il il y a quelques mois.
La blockchain a été incroyablement mal présentée, en réalité elle recouvre une base de données qui englobe des problèmes de performance et de scalabilité, chose qui peut être dite pour toutes les bases de données. L’article nous apprend que la valeur à long terme et l’application de la blockchain sont minimales. Elle résout un nombre minime de problèmes. Pour la plupart des applications d’entreprise, la blockchain ne fait pas mieux qu’une base de données ou un programme de tableur. La blockchain peut être un outil ingénieux dans certaines circonstances, mais ce n’est pas la technologie révolutionnaire qu’on veut nous faire croire.
La blockchain est devenue un mot à la mode, un buzzword que tout le monde utilise pour faire vendre et engranger les profits tant que la bulle n’a pas encore explosé. Des entreprises proposent des services de consulting à des sommes importantes juste pour vous dire si la blockchain est adaptée pour vous ou non. HTC, le constructeur taïwanais qui peine à se redresser sur le marché, a lancé son premier smartphone doté de la technologie blockchain, une expérience smartphone adaptée à un utilisateur moderne et à la nouvelle ère d’internet, a informé l’entreprise.
En général, les autres mots à la mode ont porté sur des technologies qui avaient au moins un but pratique, pas seulement le potentiel de changer l’industrie avec pour seule preuve un statut en tant que mot à la mode. La blockchain s’est montrée incroyablement et de façon unique une technologie sans un réel intérêt à part peut être l’implémentation d’une cryptomonnaie.
Malgré cette réalité, certaines personnes continuent de défendre la blockchain, estimant que cette technologie s'est avérée extrêmement utile dans de nombreux secteurs d'activité tels que l'énergie, le négoce de titres, les échanges interbancaires et les devises. Ces partisans continuent de défendre qu’il existe encore des cas d’utilisation intéressants. Ils n’impliquent pas tous peut-être un besoin de décentralisation ou une blockchain publique, mais chaque cas bénéficie d'un sous-ensemble de la fonctionnalité.
Mais comme le prouve cette étude, avec un taux de réussite de 0 %, la blockchain continue d’être une simple tendance malgré l’énorme battage médiatique. Les vendeurs de ce rêve qu’est la blockchain ont été soucieux de vanter les mérites de cette technologie, mais ils sont incapables de présenter des preuves tangibles de succès sur le terrain. Il y a aussi la question s’il y a un besoin réel de blockchain dans tous les secteurs d’activité. En quoi peut-elle remplacer une base de données normale ? D’autant plus que ces avantages (très limités) ne justifient pas les coûts qui y sont associés.
Source : merltech
Et vous ?
Voir aussi
-
benjani13Membre extrêmement actifSans intérêt non. Utilisé à toutes les sauces oui.
La blockchain, comme l'IA, a obtenu un statut étrange, elle est sorti de sa nature d'outil technique, parmi un choix variés d'outils, pour être un produit final en lui même. Au lieu d'avoir des applications basées sur l'outil blockchain, la blockchain est devenu le produit finale, et l'application reléguée au statut de simple outil pour mettre en place de la blockchain. Il y a eu un emballement, tant à la fois par les entreprises qui ont créé des applications pour montrer qu'ils étaient à la pointe de la technologie, et à la fois je pense des clients qui ont réclamés de la blockchain comme gage d’innovation. La blockchain a pris je ne sais trop comment ce symbole de pointe de la technologie, ne pas l'utiliser seront donc être en retard, dépassé.le 02/12/2018 à 14:36 -
CassoulatineNouveau Candidat au Club"blockchain" est un concept créé pour bitcoin, pour faire une monnaie sans tiers de confiance. Quand on a un tiers de confiance (ie 99% des cas) la blockchain n'a effectivement aucun intérêt.le 02/12/2018 à 17:25
-
gangsoleilModérateurJe me suis peut-être mal exprimé : il n'y a actuellement aucun projet/logiciel/truc qui utilise une blockchain et qui soit utilisé par le grand public.
Oui, il y a plusieurs projets accessibles à tout le monde.
Oui, certains ont de l'avenir.
Oui, il y a pleins de projets en cours qui pourraient avoir des applications prochainement [note : penser à définir prochainement]
Oui, cette technologie a un intérêt.
Oui, j'ai connaissance de projets blockchain, j'en ai utilisé. J'ai même un copain qui bosse dedans comme on dit dans ces cas là
Pour prendre une comparaison, aujourd'hui, le cloud (autre buzzword très à la mode fut un temps) est utilisé par le grand public sans le savoir. L'IOT aussi. Et pourtant le grand public ne s'en rend pas forcément compte.
À contrario, rien de tel pour la blockchain.le 19/12/2018 à 13:34 -
23JFKMembre expertLe client bitcoin original est un full-node avec le letmotiv "vous ne pouvez faire confiance à personne" qui fait partie intégrante que protocol blockchain.
Les lite clients s'en remettent nécessairement à des tiers de confiance pour ce qui concerne les parties de la blockchain qu'ils n'ont pas eux-mêmes vérifier et quand les tiers de confiance tendent à se regrouper puis se coopter, l'on en revient à un système centralisé.le 03/12/2018 à 23:02 -
onilink_Membre émériteOui enfin, vu le nombre d'utilisateurs, ou même de "groupes", on est très loin d'arriver à un système centralisé.
Mais il y a un moment ou il faut faire des choix, si tu veux une facilité d'accès et ne pas avoir a télécharger toute la DB... tu dois bien faire confiance a quelqu'un qui la possède.
Enfin bon, tout cela est voué a évoluer, il y a beaucoup de recherche autour de la blockchain, et bitcoin est primitif sur pas mal de points, étant donné qu'il était un peu le premier Proof of Concept.
La blockchain est un outil adapté a des problèmes spécifiques. Oui, l'utiliser pour n'importe quoi apportera plus de problèmes que de solutions, mais si tu l'utilises correctement non, ça fonctionne très bien.
J'aimerais bien avoir ton exemple de corruption de la chaîne bitcoin, j'en ai jamais entendu parler et ça me semble très improbable.
Par contre il y a des forks, mais ça c’est encore autre chose.
Quand aux stockages volumineux et a la puissance de calcul j'ai déjà répondu plus haut. Encore une fois ce n'est pas parce que bitcoin est dans ce cas précis que c'est un problème inhérent à la technologie.
Le principe de base de la blockchain évolue, ce n'est pas une technologie statique.le 04/12/2018 à 9:37 -
benjani13Membre extrêmement actifJe ne partage pas cette vision. La blockchain peut être utilisée même lorsqu'il y a existence d'un tiers de confiance. Le tiers de confiance est ce qu'on avait de mieux jusque là mais il n'est pas infaillible, ce n'est pas la solution ultime. On l'a bien vu dans de nombreux cas où le tiers a trahi la confiance qu'on lui avait accordé, volontairement ou non (piratage, etc). La blockchain peut réduire ces risques, en se passant des défauts inhérents aux solutions se basant sur un tiers de confiance. La blockchain peut donc remplacer le tiers de confiance.
Cependant une blockchain nécessite une implémentation correcte, au risque de porter une confiance aveugle dans un nouveau système (car labellisé "blockchain"qui a gardé les défauts de l'ancien. Par exemple quand je vois une entreprise utiliser une blockchain privée je me pose la question de la distribution des noeuds de cette blockchain. Si au final il n'y a qu'un seul pauvre nœud tournant sur un serveur de l'entreprise cela perd toute son efficacité. Il faut que de nombreux noeuds tournent, sous différentes propriétés (car le même soucis se pose si tous les nœuds appartiennent à une même entité).
Néanmoins, l'utilisation d'une blockchain publique pose je pense des problèmes de souveraineté de son infrastructure. Utiliser une blockchain publique (Ethereum, ...) permet de profiter de la sécurité d'une chaine faisant déjà tourner de nombreux noeuds, mais soumet l'application l'utilisant à un risque complètement externe, la bonne santé de la dite blockchain. On a vu les soucis qui peuvent arriver (hack, fork, etc). Je serais intéressé d'avoir le retour de personnes ayant été confronté à ces interrogations.
Tout cela pour en revenir à la conclusion que c'est un outil intéressant, à utiliser avec parcimonie.le 02/12/2018 à 18:35 -
23JFKMembre expertPas viable, trop lent et trop consommateur d'espace de stockage, de temps de téléchargement et, in fine, d'électricité par individu. Devoir télécharger une blockchain entière de X Giga voire Téra octets (pour les derniers utilisateurs d'une blockchain qui se serait bien établie et devenue ainsi pérenne) pour seulement qu'un usager occasionnel puisse faire une vérification de validité est totalement absurde. L'on en revient alors au principe de centralisation, ce qui enlève 95% de l'intérêt du concept blockchain. A moins d'utiliser massivement une hypothétique technologie quantique qui n'existe pas encore, les blockchains ne sont intégrables que dans de petits projets à la viabilité très limitée dans le temps... Mais comme c'est un peu lourd à implémenter, les petits projets où une blockchain pourrait être viable ne peuvent pas vraiment y trouver leur compte en terme de coûts et de maintenance.le 02/12/2018 à 20:19
-
sergio_is_backExpert confirméIl en est de la blockchain, comme l'IA d'ailleurs, il faut se méfier des effets de mode et de ceux qui vendent de l'intelligence qu'ils n'ont pas en stock...le 03/12/2018 à 8:37
-
gangsoleilModérateurEuh, non, git n'est pas du tout basé sur la blockchain.
Il n'y a pas, en dehors des cryptomonaies, de projet blockchain connu. Il y a des tests, mais la plupart des projets en sont à ce stade pour le moment.le 03/12/2018 à 16:55 -
Ludwig1Membre régulierSalut tout le monde,
Un de mes collègue avait fait un jour la remarque suivante:
" De toute ma carrière, je n'ai jamais changé mes méthodes pédagogiques sur la façon d'enseigner, j'ai
été à la mode 3 fois"
Un peu d'historique:
Il y a fort longtemps, avant que n'existe MS, Dos et Cie j'utilisais pour écrire mon codage, un éditeur de bloc.
Chaque bloc avait un numéro d'ordre. La taille d'un bloc était de 16 lignes de 80 caractères par ligne. Les numéros des blocs permettaient de faire oh surprise le chainage des blocs.
Il y a environs 30 ans en arrière, quand existait MSDOS et Cie et que 3.11 venait d'apparaitre, nous avions pour les besoins de l'enseignement ainsi que pour les besoins des Labos et en nous appuyant sur une machine virtuelle, mis au point au département de mécanique, un système de composants, que nous avons installé sur les serveurs de l'école. Ces composants étaient alors à la disposition des étudiants et leurs permettaient d'assembler une quelconque application laquelle tournait alors sur la machine virtuelle de base.
Les composants ressemblaient à ceci:
Ceci servait en tant qu'éditeur graphique, les composants de la bibliothèque étaient affichés dans les diapos, il suffisait de les tirer dans l'interface homme machine de la nouvelle application puis de lancer un compilateur spécialement conçu pour tricoter les liens et l'affaire était classé. Ensuite, à l'aide d'un éditeur particulier, on attachait les servants (Exécuteurs des tâches) aux différentes commandes de l'interface. Pour une application standard, ça prenait environ 1h de travail pour l'étudiant.
Un Autre Exemple:
Tous ces travaux ont eu lieu avant WIN95 et JAVA. Puis arriva WIN95, NT JAVA Etc... La maintenance sous
DOS devenant de plus en plus délicate, nous avons abandonné et nous sommes passé sur une machine virtuelle du commerce qui tourne sur tous les systèmes d'exploitation de MS ou LINUX ou APPLE Etc..
C'est en lisant des articles sur la chaine de bloc qu'il m'est venu l'idée de déterrer le vieux projet décrit ci-dessus (il n'est jamais sorti des labos de l'école) et de l'adapter au concept de bloc chain.
De tels blocs ressemblent à ceci:
Un bloc de base, c.a.d. le bloc zéro de la chaine de blocs, puis un bloc permettant l'affichage de graphes, puis encore un autre permettant de choisir une couleur. Il faut dire que les blocs sont indépendant de toute application, ils existent de façon autonome. Pour les faires fonctionner, il suffit de les "encliqueter" sur la machine virtuelle un peu comme l'installation d'un outil sur une broche d'un centre d'usinage.
Une nouvelle application consistera alors à choisir les blocs à disposition puis d'en faire le chainage.
Tous ceci pour dire que le principe de la bloc chain n'est pas forcement quelque chose de vraiment nouveau.
Il s'est juste rajouté l'encryptage ainsi que le chainage crypté qui interdit toute modification d'un bloc existant et validé.
En conclusion, au bout de 50 ans et n'ayant pas changé d'idée, je me retrouve à nouveau à la pointe de la technologie.
Pour ce qui est de l'IA dont tout le monde parle, je souhaite juste rappeler que McCarthy au MIT, dans les années 60 avait déjà apporté bien des solutions. Mais comme la majorité d'entre vous n'était pas nés, on sait pas.
Evidement les blocs décrit ci-dessus sont écrit avec SYNTAL, (SYNThetic machine and Algorithmic Langage)
et ils tournent sous EasyWindows
ça ressemble à ceci:
Code : 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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590\ ############################################################################################################ \ ############ ############## \ ############ INFORMATIONS ET DESCRIPTION DU DIALOGUE ############## \ ############ ############## \ ############################################################################################################ && Nom du Bloc: ZoomCourbesRéduites(C8A41186F4)Dlg Bloc de démonstration d'une application Easywindows && Date de création: 01/08/2018 && Heure de création: 16:12:07 && Copyright: (C) 2001-2030 && Bloc développé par: Louis Jean-Pierre SCHMITT && Email: jean.pierre@buechi-schmitt.ch && Dialogue ZoomCourbesRéduites(C8A41186F4)Dlg && ZoomCourbesRéduites(C8A41186F4)Dlg.FTH is a computer Dialog component developed && by I.C.M. it is based of Microsoft Windows and Easywindows Systems && This component is for free use and made available to users by I.C.M. && I.C.M. Assumes no responsibility && for the implementation and use of this computer component. \ ############################################################################################################ \ ############ ############## \ ############ INSTALLATION DE LA CONFIGURATION DES DONNEES ############## \ ############ ############## \ ############################################################################################################ \ ========== Installation des données ================ 16 CreateNewliste ZoomCourbesRéduites(C8A41186F4)Lst \ Liste contenant les objets avec leurs valeurs attachées. Ces Valeurs sont mises en place par SendTo \ EXEMPLE: ( #ComboBox1.Value :Id.Value SourceFile \DeGiroTmpFile\FileDates.FTH :M0 X... :MX; )SendTo \ Construira la séquence suivante dans ZoomCourbesRéduites(C8A41186F4)Lst \ #ComboBox1 Entête de Liste, Nom de l'objet précédé par # \ :Id.Value SourceFile \DeGiroTmpFile\FileDates.FTH Source des données \ :M0 X... Liste des données \ :M. ... \ :MX; Fermeture de la liste par le marqueur :MX; ' ZoomCourbesRéduites(C8A41186F4)Lst IS ObjetListe \ On conecte le nom de la liste sur le mot ObjetListe. De ce fait, toutes les procédures \ de transmission du courrier INTRABLOC relative à un bloc donné utiliserons le mot ObjetList pour \ dialoguer avec un autre objet de la liste. \ En clair, ObjetList est le nom de la boite au lettre interne qui permet le dialogue entre les objets d'un même \ Bloc. : ZoomCourbesRéduites.Datas S( --- ) \ Installation des éléments HWNB >R ( #QUADRANT1.Datas :Id.Quadrant1 20 30 1260 880 ConfigToolTrading(C8A41186F4)Dlg :M0 Color.Back 125 )SendTo ( #Quadrant1.Datas :M1 Color.Axe 13 :M2 LineWidth.Axe 2 :M3 Offset.AxeX 70 :M4 Offset.AxeY 40 )SendTo ( #Quadrant1.Datas :M5 GrandeurY$ [F(y)+%] [F(y)-%] :M6 GrandeurX$ [t(h)] :M7 UniteY$ % :M8 UniteX$ h )SendTo ( #Quadrant1.Datas :M9 Datas$ Tas :M10 UserFont 12 )SendTo ( #Quadrant1.Datas :M11 Scalle0.AxeY 0 :M12 FullScalle.AxeY 5 :M13 Scalle0.AxeX 9 :M14 FullScalle.AxeX 18 )SendTo ( #Quadrant1.Datas :M15 SubDiv.AxeY 5 :M16 SubDiv.AxeX 4 )SendTo ( #Quadrant1.Datas :M17 EW_GRID Color.Grid 124 LineWidth 1 )SendTo ( #Quadrant1.Datas :M18 EW_TEXT 0 1 Courbes Réduites exprimées en % Valeur$ CodeIsin$ )SendTO ( #Quadrant1.Datas :M19 Div.AxeY 5 :M20 Div.AxeX 9 )SendTo ( #Quadrant1.Datas :MX; )SendTo ( #Quadrant1.Value :Id.Value :M0 Color.Back 96 :M1 Color.Curves 24 :M2 Color.Triger 20 )SendTo ( #Quadrant1.Value :M3 Color.Axe 13 :M4 Color.Grid 124 :M5 Resolution.AxeX 0 :M6 Resolution.Axey 0 :MX; )SendTo ( #Keys1.Datas :Id.Keys1 1320 760 20 20 ChoixCouleur(C8A41186F4)Dlg :M0 Color.Back 96 :MX; )SendTo ( #Keys2.Datas :Id.Keys2 1320 785 20 20 ChoixCouleur(C8A41186F4)Dlg :M0 Color.Triger 20 :MX; )SendTo ( #Keys3.Datas :Id.Keys3 1320 810 20 20 ChoixCouleur(C8A41186F4)Dlg :M0 Color.Graphe 24 :MX; )SendTo ( #Keys4.Datas :Id.Keys4 1320 835 20 20 ChoixCouleur(C8A41186F4)Dlg :M0 Color.Axe 13 :MX; )SendTo ( #Keys5.Datas :Id.Keys5 1320 860 20 20 ChoixCouleur(C8A41186F4)Dlg :M0 Color.Grid 124 :MX; )SendTo ( #Keys1.Datas :IdTxt.Keys1 :M0 Couleur Fond :MX; )SendTo ( #Keys2.Datas :IdTxt.Keys2 :M0 Couleur Trigger :MX; )SendTo ( #Keys3.Datas :IdTxt.Keys3 :M0 Couleur Graphe :MX; )SendTo ( #Keys4.Datas :IdTxt.Keys4 :M0 Couleur Axes :MX; )SendTo ( #Keys5.Datas :IdTxt.Keys5 :M0 Couleur Grille :MX; )SendTo ( #Keys1.Value :Id.Value :M0 Color.Back 96 :MX; )SendTo ( #Keys2.Value :Id.Value :M0 Color.Triger 20 :MX; )SendTo ( #Keys3.Value :Id.Value :M0 Color.Curves 24 :MX; )SendTo ( #Keys4.Value :Id.Value :M0 Color.Axe 13 :MX; )SendTo ( #Keys5.Value :Id.Value :M0 Color.Grid 124 :MX; )SendTo ( #ComboBoxGroup0.Value :Id.Value :MX; )SendTo ( #ComboBox1.File :Id.Combobox1 880 20 120 70 NOOP \DeGiroTmpFile\FileDates.FTH :MX; )SendTo ( #ComboBox1.Value :Id.Value SourceFile \DeGiroTmpFile\FileDates.FTH :M0 X... :MX; )SendTo ( #ComboBox2.Datas :Id.Combobox2 880 70 120 70 NOOP )SendTo ( #ComboBox2.Datas :M0 +/- 0.4% :M1 +/- 0.45% :M2 +/- 0.50% :M3 +/- 0.55% :M4 +/- 0.60% :M5 +/- 0.65% )SendTo ( #ComboBox2.Datas :M6 +/- 0.70% :M7 +/- 0.75% :M8 +/- 0.80% :M9 +/- .85% :M10 +/- .90% :MX; )SendTo ( #ComboBox3.Datas :Id.Combobox3 880 120 120 70 NOOP )SendTo ( #ComboBox3.Datas :M0 +/- 0.70% :M1 +/- 0.75% :M2 +/- 0.80% :M3 +/- 0.85% :M4 +/- 0.90% :M5 +/- 0.95% )SendTo ( #ComboBox3.Datas :M6 +/- 1.00% :M7 +/- 1.05% :M8 +/- 1.10% :M9 +/- 1.15% )SendTo ( #ComboBox3.Datas :M10 +/- 1.20% :M11 +/- 1.25% :M12 +/- 1.30% :M13 +/- 1.35% )SendTo ( #Combobox3.Datas :M14 +/- 1.40% :M15 +/- 1.45% :M16 +/- 1.50% :MX; )SendTo ( #ComboBox4.Datas :Id.Combobox4 880 170 120 70 NOOP :M0 +/- 1.00% :M1 +/- 1.10% :M2 +/- 1.20% :M3 +/- 1.30% )SendTo ( #ComboBox4.Datas :M4 +/- 1.40% :M5 +/- 1.50% :M6 +/- 1.60% :M7 +/- 1.70% :M8 +/- 1.80% :M9 +/- 1.90% :M10 +/- 2.00% )SendTo ( #ComboBox4.Datas :M11 +/- 2.10% :M12 +/- 2.20% :M13 +/- 2.30% :M14 +/- 2.40% :M15 +/- 2.50% :M16 +/- 2.60% )SendTo ( #ComboBox4.Datas :M17 +/- 2.70% :M18 +/- 2.80% :M19 +/- 2.90% :MX; )SendTo ( #ComboBox5.Datas :Id.Combobox5 880 220 120 70 NOOP :M0 +/- 2.60% :M1 +/- 2.70% :M2 +/- 2.80% :M3 +/- 2.90% )SendTo ( #ComboBox5.Datas :M4 +/- 3.00% :M5 +/- 3.10% :M6 +/- 3.20% )SendTo ( #ComboBox5.Datas :M7 +/- 3.30% :M8 +/- 3.40% :M9 +/- 3.50% :M10 +/- 3.60% :M11 +/- 3.70% :M12 +/- 3.80% )SendTo ( #ComboBox5.Datas :M13 +/- 3.90% :M14 +/- 4.00% :MX; )SendTo ( #ComboBox6.Datas :Id.Combobox6 880 270 120 70 NOOP :M0 +/- 3.00% :M1 +/- 3.50% :M2 +/- 4.00% )SendTo ( #ComboBox6.Datas :M3 +/- 4.500% :M4 +/- 5.00% :MX; )SendTo ( #ComboBox7.Datas :Id.Combobox7 1030 20 120 70 NOOP :M0 Val 500000.00 :M1 Val 750000.00 :M2 Val 1000000.00 )SendTo ( #ComboBox7.Datas :M3 Val 1250000.00 :M4 Val 15000000.00 :MX; )SendTo ( #ComboBox8.Datas :Id.Combobox8 1030 70 120 70 NOOP :M0 Val 100000 :M1 Val 250000 :M2 Val 500000 )SendTo ( #ComboBox8.Datas :M3 Val 750000 :M4 Val 1000000 :M5 Val 1500000 :M6 Val 1750000 :M7 Val 2000000 :MX; )SendTo ( #ComboBoxGroup1.Value :Id.Value :MX; )SendTo ( #ComboBox2.Value :Id.Value Bande.Neutre :M0 +/- 0.4% :M1 Coef.Plus 0.0 :M2 Coef.Moins 0.0 :MX; )SendTo ( #ComboBox3.Value :Id.Value Bande.Surveillance :M0 +/- 0.70% :M1 Coef.Plus 0.0 :M2 Coef.Moins 0.0 :MX; )SendTo ( #ComboBox4.Value :Id.Value Bande.Vente_Achat :M0 +/- 1.00% :M1 Coef.Plus 0.0 :M2 Coef.Moins 0.0 :MX; )SendTo ( #ComboBox5.Value :Id.Value Bande.Pump.and.Pump :M0 +/- 2.60% :M1 Coef.Plus 0.0 :M2 Coef.Moins 0.0 :MX; )SendTo ( #ComboBox6.Value :Id.Value Bande.Oscilateur :M0 +/- 3.00% :M1 Coef.Plus 0.0 :M2 Coef.Moins 0.0 :MX; )SendTo ( #ComboBoxGroup2.Value :Id.Value :MX; )SendTo ( #ComboBox7.Value :Id.Value Volatilité.Capital :M0 500000.00 :MX; )SendTo ( #ComboBox8.Value :Id.Value Volatilité.Volume :M0 100000 :MX; )SendTo ( #LeditText1.Datas Fichier contenant la liste des dates )SendTo ( #ComboBox1.Datas :IdTxt.ComboBox1 :M0 Sélectionner une Date :MX; )SendTo ( #ComboBox2.Datas :IdTxt.ComboBox2 :M0 Sélectionner la Bande Neutre :MX; )SendTo ( #ComboBox3.Datas :IdTxt.ComboBox3 :M0 Sélectionner la Bande de surveillance :MX; )SendTo ( #ComboBox4.Datas :IdTxt.ComboBox4 :M0 Sélectionner la Bande Vente Achat :MX; )SendTo ( #ComboBox5.Datas :IdTxt.ComboBox5 :M0 Sélectionner la Bande Pump and Pump :MX; )SendTo ( #ComboBox6.Datas :IdTxt.ComboBox6 :M0 Sélectionner la Bande de l'Oscilateur :MX; )SendTo ( #ComboBox7.Datas :IdTxt.ComboBox7 :M0 Sélectionner la Volatilité Capital :MX; )SendTo ( #ComboBox8.Datas :IdTxt.ComboBox8 :M0 Sélectionner la Volatilité Volume :MX; )SendTo ( #RadioBoxGroup0.Datas :Id.RadioGroup0 880 320 150 115 NOOP :M0 :MX; )SendTo ( #RadioBoxGroup0.Value :Id.Value :MX; )SendTo ( #RadioBox1.Datas :Id.RadioBox1 890 335 15 15 NOOP :M0 0 :M1 1 :M2 Bande.Neutre$ ON :MX; )SendTo ( #RadioBox2.Datas :Id.RadioBox2 890 350 15 15 NOOP :M0 0 :M1 1 :M2 Bande.Surveillance$ ON :MX; )SendTo ( #RadioBox3.Datas :Id.RadioBox3 890 365 15 15 NOOP :M0 0 :M1 1 :M2 Bande.Vente.Achat$ ON :MX; )SendTo ( #RadioBox4.Datas :Id.RadioBox4 890 380 15 15 NOOP :M0 0 :M1 1 :M2 Bande.Pump.and.Pump$ ON :MX; )SendTo ( #RadioBox5.Datas :Id.RadioBox5 890 335 15 15 NOOP :M0 0 :M1 1 :M2 Bande.Oscilateur ON :MX; )SendTo ( #RadioBox1.Datas :IdTxt.RadioBox1 :M0 Bande Neutre :MX; )SendTo ( #RadioBox2.Datas :IdTxt.RadioBox2 :M0 Bande de Surveillance :MX; )SendTo ( #RadioBox3.Datas :IdTxt.RadioBox3 :M0 Bande Vente Achat :MX; )SendTo ( #RadioBox4.Datas :IdTxt.RadioBox4 :M0 Bande Pump and Pump :MX; )SendTo ( #RadioBox5.Datas :IdTxt.RadioBox5 :M0 Bande Oscilateur :MX; )SendTo ( #Titre1.Datas :IdTxt.ComboBox1 :M0 Configuration du Module de Trading :MX; )SendTo ( #GroupBox0.Datas :IdTxt.GroupBox0 :M0 Sélectionner le mode d' Analyse :MX; )SendTo R> TO HWNB ; \ ############################################################################################################ \ ############ ############## \ ############ INSTALLATION DES IDENTIFICATEURS ############## \ ############ ############## \ ############################################################################################################ \ ========== Installation des identificateurs ================ 200 IDENT Id.Quadrant1 IDENT Id.DlgQuit IDENT Id.Cancel IDENT Id.Apply IDENT Id.KeyBoard1 IDENT Id.LbuttonDown IDENT IdTxt.ComboBox1 IDENT Id.ComboBox1 IDENT IdTxt.ComboBox2 IDENT Id.Combobox2 IDENT IdTxt.ComboBox3 IDENT Id.Combobox3 IDENT IdTxt.ComboBox4 IDENT Id.Combobox4 IDENT IdTxt.ComboBox5 IDENT Id.Combobox5 IDENT IdTxt.ComboBox6 IDENT Id.Combobox6 IDENT IdTxt.ComboBox7 IDENT Id.ComboBox7 IDENT IdTxt.ComboBox8 IDENT Id.ComboBox8 IDENT IdTxt.EditText1 IDENT IdTxt.LeditText1 IDENT IdTxt.GroupBox0 IDENT IdTxt.RadioBox1 IDENT IdTxt.RadioBox2 IDENT IdTxt.RadioBox3 IDENT IdTxt.RadioBox4 IDENT IdTxt.RadioBox5 IDENT Id.RadioBox1 IDENT Id.RadioBox2 IDENT Id.RadioBox3 IDENT Id.RadioBox4 IDENT Id.RadioBox5 IDENT Id.Keys1 IDENT Id.Keys2 IDENT Id.Keys3 IDENT Id.Keys4 IDENT Id.Keys5 IDENT IdTxt.Keys1 IDENT IdTxt.Keys2 IDENT IdTxt.Keys3 IDENT IdTxt.Keys4 IDENT IdTxt.Keys5 DROP \ ############################################################################################################ \ ############ ############## \ ############ INSTALLATION DU DIALOGUE HOMME MACHINE ############## \ ############ ############## \ ############################################################################################################ \ ========== Installation du dialogue ================ DIALOGS ZoomCourbesRéduites.Dialog [MODELESS " I. C. M. International Cloud Machine BLOCNAME ZoomCourbesRéduites(C8A41186F4)Dlg " 100 0 1180 580 (FONT 8, MS Sans Serif) ] [DEFPUSHBUTTON " OK" Id.DlgQuit 1010 560 40 15 ] [PUSHBUTTON " Cancel" Id.Cancel 960 560 40 15 ] [PUSHBUTTON " Apply" Id.Apply 910 560 40 15 ] [COMPONENT " Quadrant" Id.Quadrant1 20 30 1260 880 (+STYLES EW_QUAD_SIX EW_SCL_SIX EW_GRID_SIX EW_TRIG_SIX ) ] [COMPONENT " Keys" Id.Keys1 1320 760 20 20 (+STYLES EW_RECT ) ] [COMPONENT " Keys" Id.Keys2 1320 785 20 20 (+STYLES EW_RECT ) ] [COMPONENT " Keys" Id.Keys3 1320 810 20 20 (+STYLES EW_RECT ) ] [COMPONENT " Keys" Id.Keys4 1320 835 20 20 (+STYLES EW_RECT ) ] [COMPONENT " Keys" Id.Keys5 1320 860 20 20 (+STYLES EW_RECT ) ] [LTEXT IdTxt.Keys1 900 470 80 10 ] [LTEXT IdTxt.Keys2 900 485 80 10 ] [LTEXT IdTxt.Keys3 900 500 80 10 ] [LTEXT IdTxt.Keys4 900 515 80 10 ] [LTEXT IdTxt.Keys5 900 530 80 10 ] [LTEXT IdTxt.ComboBox1 880 8 130 10 ] [COMBOBOX Id.ComboBox1 880 20 120 70 (+STYLE CBS_DROPDOWN WS_VSCROLL CBS_AUTOHSCROLL) ] [LTEXT IdTxt.ComboBox2 880 60 130 10 ] [COMBOBOX Id.ComboBox2 880 70 120 70 (+STYLE CBS_DROPDOWN WS_VSCROLL CBS_AUTOHSCROLL) ] [LTEXT IdTxt.ComboBox3 880 110 130 10 ] [COMBOBOX Id.ComboBox3 880 120 120 70 (+STYLE CBS_DROPDOWN WS_VSCROLL CBS_AUTOHSCROLL) ] [LTEXT IdTxt.ComboBox4 880 160 130 10 ] [COMBOBOX Id.ComboBox4 880 170 120 70 (+STYLE CBS_DROPDOWN WS_VSCROLL CBS_AUTOHSCROLL) ] [LTEXT IdTxt.ComboBox5 880 210 130 10 ] [COMBOBOX Id.ComboBox5 880 220 120 70 (+STYLE CBS_DROPDOWN WS_VSCROLL CBS_AUTOHSCROLL) ] [LTEXT IdTxt.ComboBox6 880 260 130 10 ] [COMBOBOX Id.ComboBox6 880 270 120 70 (+STYLE CBS_DROPDOWN WS_VSCROLL CBS_AUTOHSCROLL) ] [LTEXT IdTxt.ComboBox7 1030 8 130 10 ] [COMBOBOX Id.ComboBox7 1030 20 120 70 (+STYLE CBS_DROPDOWN WS_VSCROLL CBS_AUTOHSCROLL) ] [LTEXT IdTxt.ComboBox8 1030 60 130 10 ] [COMBOBOX Id.ComboBox8 1030 70 120 70 (+STYLE CBS_DROPDOWN WS_VSCROLL CBS_AUTOHSCROLL) ] [GROUPBOX " " IdTxt.GroupBox0 880 320 150 115 ] [AUTORADIOBUTTON Id.RadioBox1 890 335 15 15 ] [AUTORADIOBUTTON Id.RadioBox2 890 350 15 15 ] [AUTORADIOBUTTON Id.RadioBox3 890 365 15 15 ] [AUTORADIOBUTTON Id.RadioBox4 890 380 15 15 ] [AUTORADIOBUTTON Id.RadioBox5 890 395 15 15 ] \ SurveillanceBande [LTEXT IdTxt.RadioBox1 910 335 90 15 ] [LTEXT IdTxt.RadioBox2 910 350 90 15 ] [LTEXT IdTxt.RadioBox3 910 365 90 15 ] [LTEXT IdTxt.RadioBox4 910 380 90 15 ] [LTEXT IdTxt.RadioBox5 910 395 90 15 ] END-DIALOGS : ZoomCourbesRéduites.Paint S( --- ) Id.Quadrant1 Quadrant.Paint Id.Combobox1 ComboBox.Paint Id.Combobox2 ComboBox.Paint Id.Combobox3 ComboBox.Paint Id.Combobox4 ComboBox.Paint Id.Combobox5 ComboBox.Paint Id.Combobox6 ComboBox.Paint Id.Combobox7 ComboBox.Paint Id.Combobox8 ComboBox.Paint Id.Keys1 Keys.Paint Id.Keys2 Keys.Paint Id.Keys3 Keys.Paint Id.Keys4 Keys.Paint Id.Keys5 Keys.Paint ; : ZoomCourbesRéduites.Init S( --- ) IdTxt.ComboBox1 Texte.Paint IdTxt.ComboBox2 Texte.Paint IdTxt.ComboBox3 Texte.Paint IdTxt.ComboBox4 Texte.Paint IdTxt.ComboBox5 Texte.Paint IdTxt.ComboBox6 Texte.Paint IdTxt.Combobox7 Texte.Paint IdTxt.Combobox8 Texte.Paint IdTxt.LeditText1 Texte.Paint IdTxt.GroupBox0 Texte.Paint IdTxt.RadioBox1 Texte.Paint IdTxt.RadioBox2 Texte.Paint IdTxt.RadioBox3 Texte.Paint IdTxt.RadioBox4 Texte.Paint IdTxt.RadioBox5 Texte.Paint IdTxt.Keys1 Texte.Paint IdTxt.Keys2 Texte.Paint IdTxt.Keys3 Texte.Paint IdTxt.Keys4 Texte.Paint IdTxt.Keys5 Texte.Paint ; : ZoomCourbesRéduites.Repaint S( --- ) \ remet un composant en peinture ZoomCourbesRéduites.Paint \ Id.Quadrant1 HWND Quadrant.Repaint ; \ Schliessen des Fenster : Applic.Quit S( --- ) HWND 0 EndDialog HWND Application.Quit HWND SubKey.DestroyEX ; : ZoomCourbesRéduites.Quit S( -- res) Applic.Quit ; : ZoomCourbesRéduites.Cancel Applic.Quit ; : ZoomCourbesRéduites.Apply \ Config.Apply ; : #Message1 S( --- ) \ Liste des requêtes ( #Quadrant1.Request :Id.Request :M0 Color.Back Valeur.Changer :M1 Color.Back Valeur.Retourner :MX; )Msg.SendTo ( #Quadrant1.Value :Id.Value :M0 Color.Back 96 :MX; )Msg.SendTo ; : #Message2 S( --- ) \ Liste des requêtes ( #Quadrant1.Request :Id.Request :M0 Color.Curves Valeur.Changer :M1 Color.Curves Valeur.Retourner :MX; )Msg.SendTo ( #Quadrant1.Value :Id.Value :M1 Color.Curves 24 :MX; )Msg.SendTo ; : #Message3 S( --- ) \ Liste des requêtes ( #Quadrant1.Request :Id.Request :M0 Color.Triger Valeur.Changer :M1 Color.Triger Valeur.Retourner :MX; )Msg.SendTo ( #Quadrant1.Value :Id.Value :M2 Color.Triger 20 :MX; )Msg.SendTo ; : #Message4 S( --- ) \ Liste des requêtes ( #Quadrant1.Request :Id.Request :M0 Color.Axe Valeur.Changer :M1 Color.Axe Valeur.Retourner :MX; )Msg.SendTo ( #Quadrant1.Value :Id.Value :M3 Color.Axe 13 :MX; )Msg.SendTo ; : #Message5 S( --- ) \ Liste des requêtes ( #Quadrant1.Request :Id.Request :M0 Color.Grid Valeur.Changer :M1 Color.Grid Valeur.Retourner :MX; )Msg.SendTo ( #Quadrant1.Value :Id.Value :M4 Color.Grid 124 :MX; )Msg.SendTo ; : ZoomCourbesRéduites.Commands S( Id -- ) CASE Id.DlgQuit OF ZoomCourbesRéduites.Quit ENDOF Id.Cancel OF ZoomCourbesRéduites.Cancel ENDOF Id.Apply OF ZoomCourbesRéduites.Apply ENDOF Id.Quadrant1 OF ( :M0 Color.Back #NewValue Change )Request.SendTo ENDOF Id.Keys1 OF ['] #Message1 INHERIT-REQUEST Request.SendTo ENDOF Id.Keys2 OF ['] #Message2 INHERIT-REQUEST Request.SendTo ENDOF Id.Keys3 OF ['] #Message3 INHERIT-REQUEST Request.SendTo ENDOF Id.Keys4 OF ['] #Message4 INHERIT-REQUEST Request.SendTo ENDOF Id.Keys5 OF ['] #Message5 INHERIT-REQUEST Request.SendTo ENDOF Id.Combobox1 OF ( #ComboBoxGroup0 #Combobox1 )Objet.SendTo ENDOF Id.Combobox2 OF ( #ComboBoxGroup1 #Combobox2 )Objet.SendTo ENDOF Id.Combobox3 OF ( #ComboBoxGroup1 #Combobox3 )Objet.SendTo ENDOF Id.Combobox4 OF ( #ComboboxGroup1 #Combobox4 )Objet.SendTo ENDOF Id.Combobox5 OF ( #ComboboxGroup1 #Combobox5 )Objet.SendTo ENDOF Id.Combobox6 OF ( #ComboboxGroup1 #Combobox6 )Objet.SendTo ENDOF Id.Combobox7 OF ( #ComboboxGroup2 #Combobox7 )Objet.SendTo ENDOF Id.Combobox8 OF ( #ComboboxGroup2 #Combobox8 )Objet.SendTo ENDOF Id.RadioBox1 OF ( #RadioBoxGroup0 #Combobox2 )Objet.SendTo ENDOF Id.RadioBox2 OF ( #RadioBoxGroup0 #Combobox3 )Objet.SendTo ENDOF Id.RadioBox3 OF ( #RadioBoxGroup0 #Combobox4 )Objet.SendTo ENDOF Id.RadioBox4 OF ( #RadioBoxGroup0 #Combobox5 )Objet.SendTo ENDOF Id.RadioBox5 OF ( #RadioBoxGroup0 #Combobox6 )Objet.SendTo ENDOF ENDCASE ; : ZoomCourbesRéduites.MESSAGES S( WM_PARAM --- res) CASE WM_ACTIVATE OF LPARAM LOWORD WPARAM LOWORD WA_CLICKACTIVE = IF HWND EWfocus.Change THEN HWND InitDialogDlgParam ZoomCourbesRéduites.Init ENDOF WM_CLOSE OF ZoomCourbesRéduites.Quit ENDOF WM_COMMAND OF WPARAM LOWORD ZoomCourbesRéduites.Commands ENDOF WM_INITDIALOG OF ZoomCourbesRéduites.Init ENDOF WM_PAINT OF ZoomCourbesRéduites.Paint ENDOF \ Call App-Paint WM_LBUTTONDOWN OF Bouton.Flag @ NOT IF EWPARAM ZoomCourbesRéduites.Commands Bouton.Flag ON THEN ENDOF WM_LBUTTONUP OF Bouton.Flag OFF ENDOF WM_TIMER OF HWND ZoomCourbesRéduites.Repaint ENDOF ZERO ENDCASE ; \ Callback definition :NONAME S( -- res) INHERIT-SEARCHORDER INHERIT-FLOAT INHERIT-DIALOG ['] ZoomCourbesRéduites(C8A41186F4)Lst INHERIT-OBJETLIST MSG LOWORD ZoomCourbesRéduites.MESSAGES ; 4 CB: ZoomCourbesRéduites.Run \ Startwort : ZoomCourbesRéduites(C8A41186F4)Dlg S( --- ) \ Fonction principale d'entrée dans le bloc ZoomCourbesRéduites(C8A41186F4)Dlg ConfigDialogIndirectParam ConfigDialogCfgParam ZoomCourbesRéduites.Datas ZoomCourbesRéduites.Dialog CELL- OFF ZoomCourbesRéduites.Dialog CELL- @ ?EXIT HINST ZoomCourbesRéduites.Dialog HWND ZoomCourbesRéduites.Run 0 CreateDialogIndirectParam ZoomCourbesRéduites.Dialog CELL- ! ConfigDialogHandel ; Gild ' ZoomCourbesRéduites(C8A41186F4)Dlg Last_Cmd ! \\
Cordialement
Ludwigle 08/12/2018 à 20:06