Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

POO et structure

5 réponses
Avatar
thierry.jacquart
bonjour,

je declare une structure dans ma classe
Je souhaite l'initialiser dans le constructeur (avec un fichier
externe) mais je me demande si Windev aime bien ca ?

Maclasse:maStructure:monelement

Quand je tape "Maclasse:" j'ai bien les methodes en completion mais
pas les structures.
Si je tape le nom de la structure il est pas content.

Rien n'interdit d'utiliser des structures dans des classes ? (pas
l'aide en tout cas)

5 réponses

Avatar
Gilles Derober
Personellement, mais je m'y prends sans doute mal ou ce n'est théoriquement
pas possible, mais mon Windev ( last XI etc etc ) souffrote déjà
systématiquement quand je déclare une structure globale dans l'init de mon
projet et que je l'exploite dans mes classes ET mon projet.


a écrit dans le message de news:

bonjour,

je declare une structure dans ma classe
Je souhaite l'initialiser dans le constructeur (avec un fichier
externe) mais je me demande si Windev aime bien ca ?

Maclasse:maStructure:monelement

Quand je tape "Maclasse:" j'ai bien les methodes en completion mais
pas les structures.
Si je tape le nom de la structure il est pas content.

Rien n'interdit d'utiliser des structures dans des classes ? (pas
l'aide en tout cas)



Avatar
Romain PETIT
vient de nous annoncer :
bonjour,

je declare une structure dans ma classe
Je souhaite l'initialiser dans le constructeur (avec un fichier
externe) mais je me demande si Windev aime bien ca ?

Maclasse:maStructure:monelement

Quand je tape "Maclasse:" j'ai bien les methodes en completion mais
pas les structures.
Si je tape le nom de la structure il est pas content.

Rien n'interdit d'utiliser des structures dans des classes ? (pas
l'aide en tout cas)



Pas de problème pour déclarer des structures, le mieux à mon avis étant
de les déclarer dans le code de déclaration de la classe :
************************************************
cMaClasse est une classe
hérite de cTrucMuche
PRIVÉ //membres accessibles uniquement au sein de la classe
// bla
PROTÉGÉ // accès autorisé depuis un code
// de la classe ou un code d'une classe dérivée
PUBLIC //membres accessibles aux procédures extérieures
PUBLIC CONSTANT //membres accessibles en lecture/écriture
// dans la classe et classe dérivée
// et uniquement en lecture à l'extérieur
CONSTANTE
// Constantes
FIN
FIN
// Structures
STR_MASTRUCTURE est une structure
sMembre1 est une chaîne
eMembre2 est un entier
FIN
************************************************

Ensuite, au sein de la classe tu pourras utiliser ta structure (ici par
exemple une variable tableau dynamique de cette structure) :

:tdstrMaVariable = allouer un tableau de 0 STR_MASTRUCTURE
POUR c=1 A 10
Dimension(:tdstrMaVariable, Dimension(:tdstrMaVariable)+1)
:tdstrMaVariable[c]:sMembre1 = "membre " + c
:tdstrMaVariable[c]:eMembre2 = c
FIN

Tu peux même utiliser la structure à partir d'une autre classe :
strMaStructureExt est une cMaClasseExt::STR_MASTRUCTURE
strMaStructureExt:sMembre1 = "toto"


Par contre, effectivement la complétion automatique (en tout cas en
7.5) n'est pas au top avec les classes, surtout en ce qui concerne les
structures et les constantes (ce point est-il amélioré en 11 ?)

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Olivier Priser
Salut,

la complétion automatique souffre toujours en 11 de grosses lacunes sur les classes et les structures.

A+

Oliv
Avatar
thierry.jacquart
en fait mon probleme etait sur la declaration

* Declaration de classe // pas de soucis
tdstrMaVariable est un STR_MASTRUCTURE // il fallait la declarer dans
le *pavé* de declaration de la classe
...
...
...

STR_MASTRUCTURE est une structure
sMembre1 est une chaîne
eMembre2 est un entier
FIN
Avatar
thierry.jacquart
On 27 sep, 09:51, "Olivier Priser" wrote:
Salut,

la complétion automatique souffre toujours en 11 de grosses lacunes sur les classes et les structures.

A+

Oliv



en fait mon soucis etait qu'il fallait declarer mastruture dans les
declarations avant le typage de ma structure

Maclasse est une classe
v1 est une chaine
v2 est un entier
....
Mastruture est un toto
FIN

toto est une structure
element1 est un entier
element2 est une chaine
FIN

En fait, c'est declarer "Mastructure" dans le debut du code de la
classe avant meme que le type "toto" soit créé qui me posait un
probleme de conscience mais quand on y pense c'est logique.
j'ai pas l'habitude d'utiliser des choses qui n'existe pas encore ...