Page 1 sur 1

Stringgadgets

Publié : mer. 10/août/2005 6:27
par Cagou-77
comment tester tous les stringgadgets d'une fenêtre pour savoir s'il sont tous remplis .

Merci pour vos Réponses .

Publié : mer. 10/août/2005 14:18
par scaraber
salut
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
pour chaque gadjet et kla sa te fait un verif

Publié : mer. 10/août/2005 17:00
par Anonyme2

Code : Tout sélectionner

If GetGadgetText(#StringGadget) <> ""
  ; ici le stringadget n'est pas vide
else
; ici le stringadget est vide
endif 
on peut aussi faire comme ceci

Code : Tout sélectionner

if len(GetGadgetText(#StringGadget))
  ; ici le stringadget n'est pas vide
else
; ici le stringadget est vide
endif 


Stringgadget

Publié : mer. 10/août/2005 17:13
par Cagou-77
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

Publié : mer. 10/août/2005 17:37
par Anonyme2
Ok, je me disais aussi que c'était vraiment basique :roll:

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

Publié : mer. 10/août/2005 17:42
par Cagou-77
Ok merci Denis et bonne soirée