Donc, ce que je cherche est une solution ou je peux déclarer une
nouvelle clé à volonté, en fait une structure simple et flexible de
stockage de données.
En dépit du fait que j'ai lu l'aide de toutes les cotés, je n'arrive pas
à comprendre si une telle chose est faisable sous Windev.
Donc, ce que je cherche est une solution ou je peux déclarer une nouvelle clé à volonté, en fait une structure simple et flexible de stockage de données.
En dépit du fait que j'ai lu l'aide de toutes les cotés, je n'arrive pas à comprendre si une telle chose est faisable sous Windev.
Donc, ce que je cherche est une solution ou je peux déclarer une
nouvelle clé à volonté, en fait une structure simple et flexible de
stockage de données.
En dépit du fait que j'ai lu l'aide de toutes les cotés, je n'arrive pas
à comprendre si une telle chose est faisable sous Windev.
Donc, ce que je cherche est une solution ou je peux déclarer une nouvelle clé à volonté, en fait une structure simple et flexible de stockage de données.
En dépit du fait que j'ai lu l'aide de toutes les cotés, je n'arrive pas à comprendre si une telle chose est faisable sous Windev.
Sinon les zones mémoires peuvent aussi faire l'affaire.
Merci Gilles, je suppose c'est le plus proche que je puisse venir à ce que je cherche. Mais en fait, aussi dans ce cas, comme dans celui des tableaux, il faut toujours passer à travers l'indice pour faire une opération ou l'autre. Dans le cas des zones mémoire, on peut stocker les valeurs avec une commande: memAjoute(zmCurr,"USD", 10000), et on peut les récupérer avec une autre: MemRecherche(sMem, "USD") mais je ne trouve pas comment ajouter un autre montant à la valeur de retours (p.ex. les 10000 de mon exemple + 1000) avec une seule commande.
MemModifié ne marche qu'en utilisant l'indice mais celui-ci n'est biensûr pas connu. L'aide dit qu'on peut le récupérer en utilisant memRecherche, mais si j'ai bien compris c'est seulement correct si le paramêtre "Element" est sur "faux", mais dans ce cas, la recherche prend lieu sur la valeur retourné, et pas sur la valeur "stocké". Pour rester gentil, ça me parait peu utile.
Alors, j'ai essayé le suivant: //créer les valeurs de la zones mémoire memAjoute(zmCurr,"USD", 0) memAjoute(zmCurr,"EUR", 0) memAjoute(zmCurr,"GBP", 0)
// ajouter un montant, d'abord obtenir le solde courant // normalement les valeurs sont représenté par une variable monSolde = memRecherche(zmCurr, "USD")
// ensuite obtenir l'indice monIndice = memEnCours(zmCurr)
// ensuite modifier le montant memModifie(zmCurr, "USD", monSolde + monNouveauMontant, monIndice)
et ça marche. Donc, ce qu'on fait dans Paradox (d'il y a 15 ans et pour DOS) sur les vrais tableaux dynamiques: monTableau["USD"] = monTableau["USD"] + 1000 me demande trois commandes en Windev. Bon, au moins on peut (pour l'instant) imbriquer les fonctions :
L'aide n'est de toute façon pas une grande aide, plutôt déconcertant. J'utilise la version anglaise et l'exemple (sûrement le même qu'en français) me semble inverser d'abord le sens de l'élément vrai/faux en faisant une recherche numérique avec l'élément "vrai". Ensuite, dans le 2e exemple il n'y a aucune valeur de recherche.
Je trouve ça un peu triste... surtout que ce n'est un cas isolé. Et lorsqu'on annonce un tel problème à PC Soft on risque avoir plusieurs mail à échanger et des réponses tel que "Nous avons bien pris note de vos remarques. Notre précédente réponse reste cependant valable.", ce que je suppose veut dire "on est d'accord avec vous, mais on a pas envie de le changer", car ils n'invalidaient pas ce que je leur ai décrit, mais donnaient un exemple sans relation au problème décrit.
Salutations Mat
l'aide sur memRecherche:
""" <Résultat> : Tout type
Si le paramètre <Élément> est à Vrai (par défaut) : Valeur du premier élément trouvé ou une chaîne vide (" ") si aucun élément n'a été trouvé.
Si le paramètre <Élément> est à Faux : Indice du premier élément trouvé ou -1 si aucun élément n'a été trouvé.
<Nom de la zone mémoire> : Chaîne de caractères Nom de la zone mémoire, défini par la fonction MemCrée.
<Valeur recherchée> : Chaîne de caractères Valeur recherchée dans la zone mémoire.
<Élément> : Booléen Vrai (valeur par défaut) : la recherche est effectuée sur la valeur ajoutée par la fonction MemAjoute ou sur la valeur modifiée par la fonction MemModifie.
Faux : la recherche est effectuée sur la valeur de retour.
"""
//// EXEMPLE DE LA VERSION ANGLAISE
// Initialize a memory zone MemCreate("MyZone") I is int FOR I=1 TO 10 MemAdd("MyZone","Subscript "+I,I) END // Search according to the added value Result1 is int SoughtVal is int = 9 Result1 = MemSeek("MyZone",SoughtVal,True) * // Search according to the return value Result2 is string SoughtVal2 is string Result2 = MemSeek("MyZone",SoughtVal2,False) **
* cette recherche agit sur la valeur stocké "Subscript" + I , p.ex. Subscript1, Subscript2, etc, donc une recherche sur la valeur 9 ne donnera rien. En plus, même s'il donnait un résultat, le type est traité de manière aléatoire. On stocke I (entier), selon l'aide la valeur est stocké de type chaîne (pourquoi d'ailleurs????), mais Result1 est de type entier. Avec les conversions automatiques de Windev, pour l'instant cela va quand-même marcher. Mais comme nous avons pu voir dans le passé, il n'y a aucune garantie qu'une fonction non documentée restera toujours fonctionnelle.
** cette recherche agit sur la valeur de retour "I" mais aucune valeur de recherche n'est spécifié.
Malheureusement, j'ai déjà perdu plusieurs fois du temps pour des trucs comme ça dans l'aide.
Gilles Guédikian wrote:
...
Sinon les zones mémoires peuvent aussi faire l'affaire.
Merci Gilles, je suppose c'est le plus proche que je puisse venir à ce
que je cherche. Mais en fait, aussi dans ce cas, comme dans celui des
tableaux, il faut toujours passer à travers l'indice pour faire une
opération ou l'autre. Dans le cas des zones mémoire, on peut stocker les
valeurs avec une commande:
memAjoute(zmCurr,"USD", 10000), et on peut les récupérer avec une autre:
MemRecherche(sMem, "USD")
mais je ne trouve pas comment ajouter un autre montant à la valeur de
retours (p.ex. les 10000 de mon exemple + 1000) avec une seule commande.
MemModifié ne marche qu'en utilisant l'indice mais celui-ci n'est
biensûr pas connu. L'aide dit qu'on peut le récupérer en utilisant
memRecherche, mais si j'ai bien compris c'est seulement correct si le
paramêtre "Element" est sur "faux", mais dans ce cas, la recherche prend
lieu sur la valeur retourné, et pas sur la valeur "stocké". Pour rester
gentil, ça me parait peu utile.
Alors, j'ai essayé le suivant:
//créer les valeurs de la zones mémoire
memAjoute(zmCurr,"USD", 0)
memAjoute(zmCurr,"EUR", 0)
memAjoute(zmCurr,"GBP", 0)
// ajouter un montant, d'abord obtenir le solde courant
// normalement les valeurs sont représenté par une variable
monSolde = memRecherche(zmCurr, "USD")
// ensuite obtenir l'indice
monIndice = memEnCours(zmCurr)
// ensuite modifier le montant
memModifie(zmCurr, "USD", monSolde + monNouveauMontant, monIndice)
et ça marche. Donc, ce qu'on fait dans Paradox (d'il y a 15 ans et pour
DOS) sur les vrais tableaux dynamiques:
monTableau["USD"] = monTableau["USD"] + 1000
me demande trois commandes en Windev. Bon, au moins on peut (pour
l'instant) imbriquer les fonctions :
L'aide n'est de toute façon pas une grande aide, plutôt déconcertant.
J'utilise la version anglaise et l'exemple (sûrement le même qu'en
français) me semble inverser d'abord le sens de l'élément vrai/faux en
faisant une recherche numérique avec l'élément "vrai". Ensuite, dans le
2e exemple il n'y a aucune valeur de recherche.
Je trouve ça un peu triste... surtout que ce n'est un cas isolé. Et
lorsqu'on annonce un tel problème à PC Soft on risque avoir plusieurs
mail à échanger et des réponses tel que
"Nous avons bien pris note de vos remarques. Notre précédente réponse
reste cependant valable.", ce que je suppose veut dire "on est d'accord
avec vous, mais on a pas envie de le changer", car ils n'invalidaient
pas ce que je leur ai décrit, mais donnaient un exemple sans relation au
problème décrit.
Salutations
Mat
l'aide sur memRecherche:
"""
<Résultat> : Tout type
Si le paramètre <Élément> est à Vrai (par défaut) :
Valeur du premier élément trouvé ou une chaîne vide (" ") si aucun
élément n'a été trouvé.
Si le paramètre <Élément> est à Faux :
Indice du premier élément trouvé ou -1 si aucun élément n'a été trouvé.
<Nom de la zone mémoire> : Chaîne de caractères
Nom de la zone mémoire, défini par la fonction MemCrée.
<Valeur recherchée> : Chaîne de caractères
Valeur recherchée dans la zone mémoire.
<Élément> : Booléen
Vrai (valeur par défaut) : la recherche est effectuée sur la valeur
ajoutée par la fonction MemAjoute ou sur la valeur modifiée par la
fonction MemModifie.
Faux : la recherche est effectuée sur la valeur de retour.
"""
//// EXEMPLE DE LA VERSION ANGLAISE
// Initialize a memory zone
MemCreate("MyZone")
I is int
FOR I=1 TO 10
MemAdd("MyZone","Subscript "+I,I)
END
// Search according to the added value
Result1 is int
SoughtVal is int = 9
Result1 = MemSeek("MyZone",SoughtVal,True) *
// Search according to the return value
Result2 is string
SoughtVal2 is string
Result2 = MemSeek("MyZone",SoughtVal2,False) **
* cette recherche agit sur la valeur stocké "Subscript" + I , p.ex.
Subscript1, Subscript2, etc, donc une recherche sur la valeur 9 ne
donnera rien. En plus, même s'il donnait un résultat, le type est traité
de manière aléatoire. On stocke I (entier), selon l'aide la valeur est
stocké de type chaîne (pourquoi d'ailleurs????), mais Result1 est de
type entier. Avec les conversions automatiques de Windev, pour l'instant
cela va quand-même marcher. Mais comme nous avons pu voir dans le passé,
il n'y a aucune garantie qu'une fonction non documentée restera toujours
fonctionnelle.
** cette recherche agit sur la valeur de retour "I" mais aucune valeur
de recherche n'est spécifié.
Malheureusement, j'ai déjà perdu plusieurs fois du temps pour des trucs
comme ça dans l'aide.
Sinon les zones mémoires peuvent aussi faire l'affaire.
Merci Gilles, je suppose c'est le plus proche que je puisse venir à ce que je cherche. Mais en fait, aussi dans ce cas, comme dans celui des tableaux, il faut toujours passer à travers l'indice pour faire une opération ou l'autre. Dans le cas des zones mémoire, on peut stocker les valeurs avec une commande: memAjoute(zmCurr,"USD", 10000), et on peut les récupérer avec une autre: MemRecherche(sMem, "USD") mais je ne trouve pas comment ajouter un autre montant à la valeur de retours (p.ex. les 10000 de mon exemple + 1000) avec une seule commande.
MemModifié ne marche qu'en utilisant l'indice mais celui-ci n'est biensûr pas connu. L'aide dit qu'on peut le récupérer en utilisant memRecherche, mais si j'ai bien compris c'est seulement correct si le paramêtre "Element" est sur "faux", mais dans ce cas, la recherche prend lieu sur la valeur retourné, et pas sur la valeur "stocké". Pour rester gentil, ça me parait peu utile.
Alors, j'ai essayé le suivant: //créer les valeurs de la zones mémoire memAjoute(zmCurr,"USD", 0) memAjoute(zmCurr,"EUR", 0) memAjoute(zmCurr,"GBP", 0)
// ajouter un montant, d'abord obtenir le solde courant // normalement les valeurs sont représenté par une variable monSolde = memRecherche(zmCurr, "USD")
// ensuite obtenir l'indice monIndice = memEnCours(zmCurr)
// ensuite modifier le montant memModifie(zmCurr, "USD", monSolde + monNouveauMontant, monIndice)
et ça marche. Donc, ce qu'on fait dans Paradox (d'il y a 15 ans et pour DOS) sur les vrais tableaux dynamiques: monTableau["USD"] = monTableau["USD"] + 1000 me demande trois commandes en Windev. Bon, au moins on peut (pour l'instant) imbriquer les fonctions :
L'aide n'est de toute façon pas une grande aide, plutôt déconcertant. J'utilise la version anglaise et l'exemple (sûrement le même qu'en français) me semble inverser d'abord le sens de l'élément vrai/faux en faisant une recherche numérique avec l'élément "vrai". Ensuite, dans le 2e exemple il n'y a aucune valeur de recherche.
Je trouve ça un peu triste... surtout que ce n'est un cas isolé. Et lorsqu'on annonce un tel problème à PC Soft on risque avoir plusieurs mail à échanger et des réponses tel que "Nous avons bien pris note de vos remarques. Notre précédente réponse reste cependant valable.", ce que je suppose veut dire "on est d'accord avec vous, mais on a pas envie de le changer", car ils n'invalidaient pas ce que je leur ai décrit, mais donnaient un exemple sans relation au problème décrit.
Salutations Mat
l'aide sur memRecherche:
""" <Résultat> : Tout type
Si le paramètre <Élément> est à Vrai (par défaut) : Valeur du premier élément trouvé ou une chaîne vide (" ") si aucun élément n'a été trouvé.
Si le paramètre <Élément> est à Faux : Indice du premier élément trouvé ou -1 si aucun élément n'a été trouvé.
<Nom de la zone mémoire> : Chaîne de caractères Nom de la zone mémoire, défini par la fonction MemCrée.
<Valeur recherchée> : Chaîne de caractères Valeur recherchée dans la zone mémoire.
<Élément> : Booléen Vrai (valeur par défaut) : la recherche est effectuée sur la valeur ajoutée par la fonction MemAjoute ou sur la valeur modifiée par la fonction MemModifie.
Faux : la recherche est effectuée sur la valeur de retour.
"""
//// EXEMPLE DE LA VERSION ANGLAISE
// Initialize a memory zone MemCreate("MyZone") I is int FOR I=1 TO 10 MemAdd("MyZone","Subscript "+I,I) END // Search according to the added value Result1 is int SoughtVal is int = 9 Result1 = MemSeek("MyZone",SoughtVal,True) * // Search according to the return value Result2 is string SoughtVal2 is string Result2 = MemSeek("MyZone",SoughtVal2,False) **
* cette recherche agit sur la valeur stocké "Subscript" + I , p.ex. Subscript1, Subscript2, etc, donc une recherche sur la valeur 9 ne donnera rien. En plus, même s'il donnait un résultat, le type est traité de manière aléatoire. On stocke I (entier), selon l'aide la valeur est stocké de type chaîne (pourquoi d'ailleurs????), mais Result1 est de type entier. Avec les conversions automatiques de Windev, pour l'instant cela va quand-même marcher. Mais comme nous avons pu voir dans le passé, il n'y a aucune garantie qu'une fonction non documentée restera toujours fonctionnelle.
** cette recherche agit sur la valeur de retour "I" mais aucune valeur de recherche n'est spécifié.
Malheureusement, j'ai déjà perdu plusieurs fois du temps pour des trucs comme ça dans l'aide.
Donc, ce que je cherche est une solution ou je peux déclarer une nouvelle clé à volonté, en fait une structure simple et flexible de stockage de données.
En dépit du fait que j'ai lu l'aide de toutes les cotés, je n'arrive pas à comprendre si une telle chose est faisable sous Windev.
Merci de vos lumières,
Mat
pour avoir utilisé aussi Paradox je peux affirmer qu'un tableau dynamique Paradox n'existe pas en WinDev il faut faire autrement à mon grand regret d'ailleurs car les tableaux dynamique Paradox sont très intéressant on remplace l'incide par une valeur il faut soit passer par un tableau à 2 dimensions, soit un tableau de structure, soit les zones mémoires mais vous ne pourrez pas échapper aus indices des tableaux ou alors créer un champs table hors de la fenêtre avec 2 colonnes "Indice" représantant USD, "Valeur" représentant 1.25
-- Cordialement JeAn-PhI
mat vient de nous annoncer :
Bonjour,
je cherche une solution en Windev pour les tableaux dynamiques de Paradox
ayant "une clé" et une valeur correspondante:
Donc, ce que je cherche est une solution ou je peux déclarer une nouvelle clé
à volonté, en fait une structure simple et flexible de stockage de données.
En dépit du fait que j'ai lu l'aide de toutes les cotés, je n'arrive pas à
comprendre si une telle chose est faisable sous Windev.
Merci de vos lumières,
Mat
pour avoir utilisé aussi Paradox je peux affirmer qu'un tableau
dynamique Paradox n'existe pas en WinDev il faut faire autrement à mon
grand regret d'ailleurs car les tableaux dynamique Paradox sont très
intéressant on remplace l'incide par une valeur
il faut soit passer par un tableau à 2 dimensions, soit un tableau de
structure, soit les zones mémoires mais vous ne pourrez pas échapper
aus indices des tableaux ou alors créer un champs table hors de la
fenêtre avec 2 colonnes "Indice" représantant USD, "Valeur"
représentant 1.25
Donc, ce que je cherche est une solution ou je peux déclarer une nouvelle clé à volonté, en fait une structure simple et flexible de stockage de données.
En dépit du fait que j'ai lu l'aide de toutes les cotés, je n'arrive pas à comprendre si une telle chose est faisable sous Windev.
Merci de vos lumières,
Mat
pour avoir utilisé aussi Paradox je peux affirmer qu'un tableau dynamique Paradox n'existe pas en WinDev il faut faire autrement à mon grand regret d'ailleurs car les tableaux dynamique Paradox sont très intéressant on remplace l'incide par une valeur il faut soit passer par un tableau à 2 dimensions, soit un tableau de structure, soit les zones mémoires mais vous ne pourrez pas échapper aus indices des tableaux ou alors créer un champs table hors de la fenêtre avec 2 colonnes "Indice" représantant USD, "Valeur" représentant 1.25
-- Cordialement JeAn-PhI
mat
JeAn-PhI wrote:
pour avoir utilisé aussi Paradox je peux affirmer qu'un tableau dynamique Paradox n'existe pas en WinDev il faut faire autrement à mon grand regret d'ailleurs car les tableaux dynamique Paradox sont très intéressant on remplace l'incide par une valeur il faut soit passer par un tableau à 2 dimensions, soit un tableau de structure, soit les zones mémoires mais vous ne pourrez pas échapper aus indices des tableaux ou alors créer un champs table hors de la fenêtre avec 2 colonnes "Indice" représantant USD, "Valeur" représentant 1.25
merci pour cette confirmation. J'ai rencontré de problèmes avec les zones mémoires que je ne m'expliquait pas et me suis orienté vers deux tableaux et la fonction TableauCherche pour récupérer l'indice. Ca semble bien fonctionner.
Salutations Mat
JeAn-PhI wrote:
pour avoir utilisé aussi Paradox je peux affirmer qu'un tableau
dynamique Paradox n'existe pas en WinDev il faut faire autrement à mon
grand regret d'ailleurs car les tableaux dynamique Paradox sont très
intéressant on remplace l'incide par une valeur
il faut soit passer par un tableau à 2 dimensions, soit un tableau de
structure, soit les zones mémoires mais vous ne pourrez pas échapper aus
indices des tableaux ou alors créer un champs table hors de la fenêtre
avec 2 colonnes "Indice" représantant USD, "Valeur" représentant 1.25
merci pour cette confirmation. J'ai rencontré de problèmes avec les
zones mémoires que je ne m'expliquait pas et me suis orienté vers deux
tableaux et la fonction TableauCherche pour récupérer l'indice. Ca
semble bien fonctionner.
pour avoir utilisé aussi Paradox je peux affirmer qu'un tableau dynamique Paradox n'existe pas en WinDev il faut faire autrement à mon grand regret d'ailleurs car les tableaux dynamique Paradox sont très intéressant on remplace l'incide par une valeur il faut soit passer par un tableau à 2 dimensions, soit un tableau de structure, soit les zones mémoires mais vous ne pourrez pas échapper aus indices des tableaux ou alors créer un champs table hors de la fenêtre avec 2 colonnes "Indice" représantant USD, "Valeur" représentant 1.25
merci pour cette confirmation. J'ai rencontré de problèmes avec les zones mémoires que je ne m'expliquait pas et me suis orienté vers deux tableaux et la fonction TableauCherche pour récupérer l'indice. Ca semble bien fonctionner.