[Résolu]Ajouter du texte dans un StringGadget?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Neveware
Messages : 49
Inscription : dim. 14/sept./2008 17:09

[Résolu]Ajouter du texte dans un StringGadget?

Message par Neveware »

Bonjour à tous

Alors voilà, j'ai un petit Problème .... J'aimerais ajouter du texte à la ligne dans un StringGadget (plus précisément : StringGadget(#Console_Chat, 10, 10, 500, 160, "", #PB_String_ReadOnly) ) Et j'ai essayé sa mais sa ne marche pas trop :s .... :

Code : Tout sélectionner

  Demande = SetGadgetText(#Console_Chat, "En Attente...") ; On affiche le premier texte
  
  
  Acceptation = SetGadgetText(#Console_Chat, "Attente terminée!")
Mais sa ne m'affiche que "Attente Terminée!" j'ai essayé d'ajouter Demande + "Attente Terminée!" mais la valeur des SetGadgetText sont des chiffres... Donc j'ai besoin de votre aide s'il vous plaît :'(
Dernière modification par Neveware le dim. 21/sept./2008 10:18, modifié 1 fois.
Neveware
Messages : 49
Inscription : dim. 14/sept./2008 17:09

Re: Ajouter du texte dans un StringGadget?

Message par Neveware »

J'ai essayé sa et sa marche :

SetGadgetText(#Console_Chat,GetGadgetText(#Console_Chat)+"Test")


Mais maintenant, comment faire un retour à la ligne? xD
kerkael
Messages : 97
Inscription : mer. 03/sept./2008 21:08

Message par kerkael »

C'est un grand classique des chaînes de caractères.
Le saut de ligne doit être envoyé à l'intérieur de la chaîne.
Il y a pour cela 2 codes Ascii prévus :
chr(10) qui correspond historiquement à la touche entrée
chr(13) qui correspondrait à la touche Retour Chariot (Return)

On notera que la plupart du temps le résultat est le même, en tout cas pour les chaînes de caractères. En ce qui concerne l'écriture dans des fichiers output, le résultat ne sera pas le même.
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)

Procedure Ouvre_Fenetre_Principale()
   If openwindow (0, 0, 0, 300, 100, "Fenêtre Principale" , #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
     If creategadgetlist ( windowid (0))
       textgadget (1,10,5,280,50, "Saut de ligne par chr(10)" + chr (10)+ "dans la chaîne" )
       textgadget (2,10,55,280,50, "Saut de ligne par chr(13)" + chr (13)+ "dans la chaîne" )
     EndIf
   EndIf
EndProcedure

ouvre_fenetre_principale()
Repeat
  Event= waitwindowevent ()
Until event= #PB_Event_CloseWindow
Au fait, les GadgetToolTip se contrefichent de la présence d'un saut d ligne dans la chaîne de caractères. L'infobulle ne tient que sur une ligne.
Neveware
Messages : 49
Inscription : dim. 14/sept./2008 17:09

Message par Neveware »

Le problème avec Chrr(1°) c'est que quand j'ajoute le code comme ceci :

Code : Tout sélectionner

SetGadgetText(#Console_Chat,GetGadgetText(#Console_Chat)+"Connexion au serveur...") 


SetGadgetText(#Console_Chat,GetGadgetText(#Console_Chat)   +   Chr   (10)+   "Connexion au Serveur réussie!") 
Et bien sa m'affiche Le texte mais sans retour à la ligne... Un petit carré juste entre les deux textes xD, mais franchement merci beaucoup pour la definition des Chr je savais pas sa va m'être utile! :)
kerkael
Messages : 97
Inscription : mer. 03/sept./2008 21:08

Message par kerkael »

Damned ! Le SetGadgetText sera donc limité comme le GadgetToolTip à l'écriture sur une seule ligne.

Tu as reçu le même symptôme !

Mais c'est quoi cet espace entre CHR et (10) que tu as mis ? chr(10) collé c'est plus joli. Mais ca n'a pas d'impact.

Bon, appelons les experts au secours !
Dernière modification par kerkael le dim. 21/sept./2008 8:48, modifié 1 fois.
Neveware
Messages : 49
Inscription : dim. 14/sept./2008 17:09

Message par Neveware »

xD bon bah je vais essayer un autre moyen snif :'(
Neveware
Messages : 49
Inscription : dim. 14/sept./2008 17:09

Message par Neveware »

Petit up! J'ai essayé avec un editor gadget mais.... Même PB toujours ce petit carré là! C'est pas parce que c'est pas en caractères ASCII? xD
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Neveware a écrit :Petit up! J'ai essayé avec un editor gadget mais.... Même PB toujours ce petit carré là! C'est pas parce que c'est pas en caractères ASCII? xD
bah non !! surment pas :lol:

bon pour faire ce que tu veux faire il te faut utiliser l'editorgadget :)

depuis la version 4.00 de memoire les String gadget ne prennent plus le multiligne !!

l'editor gadget est la pour ça en principe !! :D

voici un exemple qui te montre comment faire

de plus tu as aussi l'astuce pour récupérer les touches du clavier en mode fenêtre, ce qui peut toujour te servir un jour :)

pour l'exemple j'utilise la touche ESPACE
lors de son appuis cela ajoute une phrase a celle deja presente, et
aussi ajoute une autre ligne !! :)


; PureBasic Visual Designer v3.95 build 1485 (PB4Code)

#Console_Chat =3
Procedure Ouvre_Fenetre_Principale()
       If openwindow (0, 0, 0, 800, 400, "Fenêtre Principale" , #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
             If creategadgetlist ( windowid (0))
                   editorgadget ( #Console_Chat , 10, 10, 500, 160, #PB_Editor_ReadOnly )
                   setgadgettext ( #Console_Chat , "En Attente... appuis sur ESPACE" )
                   textgadget (1,550,5,280,50, "Saut de ligne par chr(10)" + chr (10)+ "dans la chaîne" )
                   textgadget (2,550,55,280,50, "Saut de ligne par chr(13)" + chr (13)+ "dans la chaîne" )
                  
             EndIf
       EndIf
EndProcedure

Ouvre_Fenetre_Principale()
Repeat
      Event= waitwindowevent ()
       If GetAsyncKeyState_ ( #VK_SPACE ) And a=0 ; si on appuis sur la touche espace
             setgadgettext ( #Console_Chat , getgadgettext ( #Console_Chat )+ " ceci est ajouté" + chr (13)+ "et ceci aussi" )
            a=1
       EndIf
      
Until Event= #PB_Event_CloseWindow
Dernière modification par Backup le dim. 21/sept./2008 10:19, modifié 1 fois.
Neveware
Messages : 49
Inscription : dim. 14/sept./2008 17:09

Message par Neveware »

Merci sa marche impec! Franchement j'adore le PureBasic! :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Neveware a écrit :Merci sa marche impec! Franchement j'adore le PureBasic! :D
j'ai corrigé un petit bug, j'avais pas mis la bonne constante a la creation de l'editor :lol:


#PB_string_ReadOnly


au lieu de


#PB_Editor_ReadOnly
Répondre