PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Problème de longueur de chaine
Problème de longueur de chaine
Started by jf.bernier, Apr., 20 2006 6:00 PM - 3 replies
Posted on April, 20 2006 - 6:00 PM
Bonjour à tous,

Voici le problème :
J'essais de récupérer une chaine de caractères depuis une DLL. La variable qui la recevra doit être donnée en paramètre de la fonction (donc mettre l'adresse de la variable).
Je peux savoir quelle sera la longueur de la chaine, mais comment dire à Windev que je veux une chaine de taille fixe dont la taille est récupérée par retour d'une fonction ?

Ex : maChaine est une chaine de 1000 -->OK

mais

nbCar est un entier = laTaille()
maChaine est une chaine fixe de nbCar -->Marche pas

Si quelqu'un a une idée, je l'en remercie par avance.
Posted on April, 20 2006 - 7:00 PM
c'est pas tip-top mais ya toujours ca :

nbCar est un entier = laTaille()
maChaine est une chaine = repete(" ", nbCar) // avec un +1 pour le zéro
final ?

ou qq chose dans le genre ?

bon dev
eric l.

JFB a écrit :
Bonjour à tous,

Voici le problème :
J'essais de récupérer une chaine de caractères depuis une DLL. La variable qui la recevra doit être donnée en paramètre de la fonction (donc mettre l'adresse de la variable).
Je peux savoir quelle sera la longueur de la chaine, mais comment dire à Windev que je veux une chaine de taille fixe dont la taille est récupérée par retour d'une fonction ?

Ex : maChaine est une chaine de 1000 -->OK

mais

nbCar est un entier = laTaille()
maChaine est une chaine fixe de nbCar -->Marche pas

Si quelqu'un a une idée, je l'en remercie par avance.
Posted on April, 20 2006 - 7:44 PM
peut-être pas la meilleur solution mais
tu déclare ta chaine en windev
c est une chaine=complète(" ",1000)
et puis tu la passes en paramètres
"JFB" <jf.bernier@logifrance.com> a écrit dans le message de news:
44478c6d$1@news.pcsoft.fr...

Bonjour à tous,

Voici le problème :
J'essais de récupérer une chaine de caractères depuis une DLL. La variable
qui la recevra doit être donnée en paramètre de la fonction (donc mettre
l'adresse de la variable).
Je peux savoir quelle sera la longueur de la chaine, mais comment dire à
Windev que je veux une chaine de taille fixe dont la taille est récupérée
par retour d'une fonction ?

Ex : maChaine est une chaine de 1000 -->OK

mais

nbCar est un entier = laTaille()
maChaine est une chaine fixe de nbCar -->Marche pas

Si quelqu'un a une idée, je l'en remercie par avance.
Posted on April, 20 2006 - 7:45 PM
Merci pour la réponse. C'est en effet une solution.

Entre temps, j'ai essayé de passer en paramètre un tableau de caractères avec la taille variable : maChaine est un tableau de nbCar caracteres.
J'y ai passé l'adresse du tableau et ça marche (On croirait du C). Mais il faut récupérer les caractères 1 à 1 avec une boucle POUR.

Ces 2 méthodes sont valables, si peu que les données de la chaine ou du tableau soient parfaitement contigües (D'où une crainte pour un Transfert() avec le tableau).