Page 1 sur 1

[..] Afficher texte défilant

Posté : mar. 18 août 2009 00:52
par OverSlek
Bonjour :)

Je vous explique ce que j'aimerai faire :

Code : Tout sélectionner

1.Si vous ne souhaitez pas ajouter de sondage à votre sujet, laissez ces champs vides.
2.Question du sondage:
3.Options du sondage:
4.Placez chaque option sur une ligne différente. Vous pouvez entrer jusqu’à 10 options.   
5.Option(s) par utilisateur:
6.Ceci est le nombre d’options que chaque utilisateur peut choisir quand il vote.   
7.Durée du sondage:   jours Mettre “0” ou laissez vide pour ne jamais terminer le sondage.
8.Permettre de voter à nouveau:
9.Si activé, les utilisateurs peuvent changer leur vote.    
Dans ce texte, j'aimerai par exemple que les 4 premières lignes s'affichent ...
Ensuite que quand la 5éme arrive, la 1ère disparaisse etc ...
Ce qui devrait faire :

Code : Tout sélectionner

1.Si vous ne souhaitez pas ajouter de sondage à votre sujet, laissez ces champs vides.
2.Question du sondage:
3.Options du sondage:

Code : Tout sélectionner

2.Question du sondage:
3.Options du sondage:
4.Placez chaque option sur une ligne différente. Vous pouvez entrer jusqu’à 10 options.  

Code : Tout sélectionner

3.Options du sondage:
4.Placez chaque option sur une ligne différente. Vous pouvez entrer jusqu’à 10 options.   
5.Option(s) par utilisateur:
Etc ... Mais je sais pas vraiment comment m'y prendre ;/
Marchi ;p

Re: [..]Afficher texte défilant

Posté : mar. 18 août 2009 08:52
par timmalos
Dans une GUI Vous affichez vos 3 controles, sleep() , puis GUICtrlSetPos()

Re: [..] Afficher texte défilant

Posté : mar. 18 août 2009 09:35
par Tlem
Dans quoi s'affiche votre texte ?
D'où vient le texte ? D'un fichier ou coder dans le script ?

Re: [..] Afficher texte défilant

Posté : mar. 18 août 2009 15:34
par OverSlek
Hum disons dans une variable pour le texte ^^
Ou bien dans ce que vous voulez, je me débrouillerais après pour le remettre dans une variable.

Le texte n'est pas défini à l'avance bien entendu, il est lu // parsé et ensuite affiché au fur et à mesure ...

€dit: GUICtrlSetPos ne correspond pas vraiment à ce que je veux ...

Re: [..] Afficher texte défilant

Posté : mar. 18 août 2009 16:40
par Tlem
La manière dont vous comptez affichez le texte conditionne certaines choses.
Donc expliquez nous comment vous comptez afficher le texte, ou même encore mieux créez une mini GUI pour nous montrer.

Re: [..] Afficher texte défilant

Posté : mar. 18 août 2009 18:22
par Iste
Perso, je dirais :
tu met ton texte dans un array, une ligne par case

Code : Tout sélectionner

$texte = StringSplit("blabla",@CRLF,1)
Ensuite, pour ajouter une ligne dedan ;

Code : Tout sélectionner

_ArrayAdd($texte,"blabla en plus")
$texte[0] += 1
Enssuite, pour afficher les 5dernieres lignes par exemple,

Code : Tout sélectionner

$texte_a_afficher = ""
$nb = 5
For $i = 1 To $nb
    $texte_a_afficher &=  $texte[$texte[0]-$nb+$i] & @CRLF
Next
Apres tu peux

Code : Tout sélectionner

GUICtrlSetData($crtl,$texte_a_afficher)
Pour mettre a jour le texte

Attention avec les "lignes de plusieurs lignes"

Mais comme les autres l'ont dit, pour qu'on puisse vous aider, vous devez nous donner du code.
Pas forcément tout, mais au moins un bout qui illustre votre probleme...

Voila, j'espere avoir bien compris le probleme

Re: [..] Afficher texte défilant

Posté : mar. 18 août 2009 20:03
par timmalos
Avec une array on peut meme utiliser _ArrayPush qui va virer la premiere ligne, ce qui est ce que vous recherchez.

Re: [..] Afficher texte défilant

Posté : mar. 18 août 2009 20:38
par OverSlek

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <array.au3>

#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 649, 728, 194, 126)
$Edit1 = GUICtrlCreateEdit("", 24, 144, 183, 553)
GUICtrlSetData(-1, "")
$Input1 = GUICtrlCreateInput("Test 1", 96, 104, 337, 21)
$Button1 = GUICtrlCreateButton("Ajouter", 464, 104, 75, 25)
$Button2 = GUICtrlCreateButton("Lire", 544, 104, 75, 25, 0)
#EndRegion ### END Koda GUI section ###
GUISetState(@SW_SHOW)

global $texte, $_texte, $texte_a_afficher
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        
        Case $Button1
            $_texte &= GuiCtrlRead($Input1) & @CRLF
            $texte = StringSplit($_texte, @CRLF,1)
            _ArrayAdd($texte, $_texte)  
            GUICtrlSetData($Input1, "Test " & $texte[0])
            $texte[0] += 1
            
        Case $Button2
            $nb = 10
            $texte_a_afficher = ""
            If(UBound($texte) > $nb) Then       
                For $i = 0 To $nb
                    $last = $texte[0]-$nb+$nb-2
                    If $texte[0]-$nb+$i <= $last Then $texte_a_afficher & =  $texte[$texte[0]-$nb+$i] & @CRLF
                    GUICtrlSetData($Edit1, $texte_a_afficher)
                Next
            EndIf
            
    EndSwitch
WEnd
 
Voila ce que je me suis fait =)
C'est un peu porcinet, mais tant que sa marche :)
Merci pour l'aide :)

€dit : Je vais m'informer sur l'arrayPush ...