comment tester tous les stringgadgets d'une fenêtre pour savoir s'il sont tous remplis .
Merci pour vos Réponses .
Stringgadgets
salut
je pence que si tu met un truc de ce genre sa derait marcher pour chaque gadjet et kla sa te fait un verif
je pence que si tu met un truc de ce genre sa derait marcher
Code : Tout sélectionner
if #stringgadgets1 (signe diferent je c pas lequel est ce en PB soit >< ou != ) de "" and " " and " " etc
Code : Tout sélectionner
If GetGadgetText(#StringGadget) <> ""
; ici le stringadget n'est pas vide
else
; ici le stringadget est vide
endif
Code : Tout sélectionner
if len(GetGadgetText(#StringGadget))
; ici le stringadget n'est pas vide
else
; ici le stringadget est vide
endif
Stringgadget
Merci Denis pour tes réponses, mais je me suis mal exprimé
j'aimerai tester tous les gadgets d'une fenêtre en utilisant leur indentifiant
cela pour limiter le nombre de ligne de code
c'est à dire récupérer l'indentifiant des gadgets contenus dans une fenêtre
ex:
Boucle
if Empty( GadgetID ) ;là on ne connait pas l'indentifiant passer en
; paramêtre
MessageRequester(............
endif
fin de boucle
Procedure.l Empty( Valeur.s )
If Len( LTrim( Valeur ) ) > 0
ProcedureReturn #FALSE
Else
ProcedureReturn #TRUE
EndIf
EndProcedure
j'aimerai tester tous les gadgets d'une fenêtre en utilisant leur indentifiant
cela pour limiter le nombre de ligne de code
c'est à dire récupérer l'indentifiant des gadgets contenus dans une fenêtre
ex:
Boucle
if Empty( GadgetID ) ;là on ne connait pas l'indentifiant passer en
; paramêtre
MessageRequester(............
endif
fin de boucle
Procedure.l Empty( Valeur.s )
If Len( LTrim( Valeur ) ) > 0
ProcedureReturn #FALSE
Else
ProcedureReturn #TRUE
EndIf
EndProcedure
Ok, je me disais aussi que c'était vraiment basique
utilises le message suivant
text$ = space(513)
Sendmessage_(GadgetID, WM_GETTEXT, 513, text$)
tu dois définir une taille pour text$ et j'ai mis 513 (512 + 1 pour le 0 de fin de chaine)
Pour aller plus vite, tu peux utiliser une seule fois hors de la boucle la commande allocamemory() pour définir un buffer de la taille que tu veux et passer ça en paramètre à la place de text$

utilises le message suivant
text$ = space(513)
Sendmessage_(GadgetID, WM_GETTEXT, 513, text$)
tu dois définir une taille pour text$ et j'ai mis 513 (512 + 1 pour le 0 de fin de chaine)
Pour aller plus vite, tu peux utiliser une seule fois hors de la boucle la commande allocamemory() pour définir un buffer de la taille que tu veux et passer ça en paramètre à la place de text$
Code : Tout sélectionner
*MemoryID = AllocateMemory(513)
If *MemoryID
; mettre ici la boucle
Sendmessage_(GadgetID, WM_GETTEXT, 513, *MemoryID)
else
; ici l'allocation de mémoire a échouée
endif