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

hconstruitvalclé

3 réponses
Avatar
Romuald.besset
je lit un fihcier texte pour importer dans un fichier HyperFile ayant
une clé composée Unique...

je vais devoir faire une recherche pour déterminer si je suis en ajout /
modification

je récupère donc les éléments de ma clé composée... dans un tableau de
variant (ou une chaine on verra...)

comment alors monter mon ordre de recherche ?

hlitrecherchepremier(fichier,clécomp,hconstruivalclé(fichier,clécomp,p1,p2....))

noter : comme je suis dans une boucle pour plusieurs fichiers, le nombre
de composante de la clé (formule) varie !!!

merci de votre aide (c'est juste un peu pressé en plus...)

++ R&B

3 réponses

Avatar
Romuald.besset
Romuald.besset wrote:

je lit un fihcier texte pour importer dans un fichier HyperFile ayant
une clé composée Unique...

je vais devoir faire une recherche pour déterminer si je suis en ajout /
modification

je récupère donc les éléments de ma clé composée... dans un tableau de
variant (ou une chaine on verra...)

comment alors monter mon ordre de recherche ?

hlitrecherchepremier(fichier,clécomp,hconstruivalclé(fichier,clécomp,p1,p2....))


noter : comme je suis dans une boucle pour plusieurs fichiers, le nombre
de composante de la clé (formule) varie !!!



en utilisant 10 variant et l'ordre suivant
hlitrecherchepremier(f,c,hconstruitvalclé(f,c,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10))

Evidement je prend une erreur comme quoi la clé n'a pas tant de
composante dès que le nombre <> 10

j'vais pas décupler l'ordre dans un Selon sur le
chaineoccurrence({f+"."+c,indrubrique}..formule,"+")+1
(nombre de parties de la clé) ?


ps : un jour il faudra demander à PCSoft comment il gère les params
fonctions de ce type (c'est intéressant)

++ R&B
Avatar
andré chonchon
Bonjour,
A mon humble avis, tu captures ton fichier.txt dans un fichier_récup.hf.
Avec ce fichier :

clécomp2 est une chaine
hlitpremier(fichier_récup,clé)
tanque pas hendehors()
clécomp2 = fichier_récup.clécomp
hlitrecherche(fichier,clécomp,clécomp2)
si htrouve() alors
champ1.fichier = champ1.fichier_récup
.........
hmodifie(fichier)
sinon
champ1.fichier = champ1.fichier_récup
.........
hajoute(fichier)
fin
hlitsuivant(fichier_récup,clé)
fin


@+
chonchon,


--- Message d'origine ---
je lit un fihcier texte pour importer dans un fichier HyperFile ayant
une clé composée Unique...

je vais devoir faire une recherche pour déterminer si je suis en ajout
/
modification

je récupère donc les éléments de ma clé composée... dans un tableau de

variant (ou une chaine on verra...)

comment alors monter mon ordre de recherche ?

hlitrecherchepremier(fichier,clécomp,hconstruivalclé(fichier,clécomp,
p1,p2....))

noter : comme je suis dans une boucle pour plusieurs fichiers, le
nombre
de composante de la clé (formule) varie !!!

merci de votre aide (c'est juste un peu pressé en plus...)

++ R&B

--
Article posté depuis le site FORUMS WINDEV® :
http://forums.wdscript.com
Une archive de plus de 120000 articles sur Windev® et Webdev®
--
Avatar
Jean-Philippe Navarro
Tu dois construire ton code dans une variable chaine :

CodeSource = "Procedure TEST(cVal)" + RC
CodeSource += "hConstruitValCle(Fichier,cle"

tu complete le code en fonction du nombre de valeurs de la clé
composée

pour i=1 à Fichier.cle.nbcomposante
CodeSource += ","+fichier.cle(i).composante
fin

CodeSource += ")"

// attention, la syntaxe fichier.cle(i).composante n'est pas
référencée dans l'aide... Mais elle fonctionne... Celle donnée dans
l'aide ne fonctionne pas :-))

Tu finis avec :

Compile("Test",CodeSource)
Execute("Test",trtprocedure)

voilà, a verifier car je te donne tout çà de tête mais ca marche...
mail moi si probleme
A+
--
Article posté depuis le site FORUMS WINDEV® :
http://forums.wdscript.com
Une archive de plus de 120000 articles sur Windev® et Webdev®
--