[R] Edit Illimité

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

[R] Edit Illimité

#1

Message par TommyDDR »

Bonjour,

Par défaut, un Edit peut contenir un nombre limité de caractères.

J'aimerai savoir s'il était possible de changer cette limite (La mettre illimité si possible).

Merci.

Edit : Je viens de tester le nombre max de caractères, il est de 30 008
Modifié en dernier par TommyDDR le mer. 09 sept. 2009 16:41, modifié 1 fois.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
kay69
Niveau 2
Niveau 2
Messages : 27
Enregistré le : jeu. 03 sept. 2009 14:56
Status : Hors ligne

Re: [..] Edit Illimité

#2

Message par kay69 »

J'en suis a 55 000 caractères et toujours pas de limite en vue :O, avec le script suivant :

Code : Tout sélectionner

GUICreate("", 200, 200)
$edit=GUICtrlCreateEdit("", 0, 0, 200, 200)
GUISetState()
While 1
    GUICtrlSetData($edit, GUICtrlRead($edit)& "a")
    $split=StringSplit(GUICtrlRead($edit), "")
    ConsoleWrite($split[0]&@CRLF)
WEnd
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Edit Illimité

#3

Message par TommyDDR »

J'ai trouvé pourquoi tu n'a pas de limite.

Dans le GUICtrlSetData j'utilise l'option 1 qui permet d'ajouter le texte à la fin du texte existant
GUICtrlSetData($edit, "a", 1)
Ce qui me permet d'avoir la scroll barre qui défille automatiquement à chaque ajout.

Comment supprimer la limite de caractères en gardant l'option "1" du GUICtrlSetData ?

Ou :

Comment faire défilé automatiquement la scrollbarre jusqu'en bas ?
Modifié en dernier par TommyDDR le mer. 09 sept. 2009 14:08, modifié 2 fois.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
kay69
Niveau 2
Niveau 2
Messages : 27
Enregistré le : jeu. 03 sept. 2009 14:56
Status : Hors ligne

Re: [..] Edit Illimité

#4

Message par kay69 »

Ok, tu a juste a faire comme moi alors^^

Code : Tout sélectionner

GUICtrlSetData($edit, GUICtrlRead($edit)& "a")
Cela écrit ce qu'il y a d'écrit dedans puis un "a".

Si pour toi le sujet est résolu Edit ton premier message et met [R] au lieu de [..]
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Edit Illimité

#5

Message par TommyDDR »

Arf, édité trop tard ^^, lis mon post éditer juste au dessu de toi.

Voila mon code :

Code : Tout sélectionner

#include <WindowsConstants.au3>
#include <EditConstants.au3>
GUICreate("", 200, 200)
$edit=GUICtrlCreateEdit("", 0, 0, 200, 200, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_READONLY)
GUISetState()
While 1
    GUICtrlSetData($edit, GUICtrlRead($edit) & "aaaaaaaaaa" & @CRLF)
    $split=StringSplit(GUICtrlRead($edit), "")
    ConsoleWrite($split[0]&@CRLF)
WEnd
 
Modifié en dernier par TommyDDR le mer. 09 sept. 2009 14:12, modifié 1 fois.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
kay69
Niveau 2
Niveau 2
Messages : 27
Enregistré le : jeu. 03 sept. 2009 14:56
Status : Hors ligne

Re: [..] Edit Illimité

#6

Message par kay69 »

Ajoute sa juste apres le GuiCtrlSetData :

Code : Tout sélectionner

_GUICtrlEdit_LineScroll($edit, 0, _GUICtrlEdit_GetLineCount($Edit))
Par contre tu a besoin de cette include :

Code : Tout sélectionner

#Include <GuiEdit.au3>
En gros sa donne sa avec ton code :

Code : Tout sélectionner

#include <WindowsConstants.au3>
#include <EditConstants.au3>
#Include <GuiEdit.au3>
GUICreate("", 200, 200)
$edit=GUICtrlCreateEdit("", 0, 0, 200, 200, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_READONLY)
GUISetState()
While 1
    GUICtrlSetData($edit, GUICtrlRead($edit) & "aaaaaaaaaa" & @CRLF)
    _GUICtrlEdit_LineScroll($edit, 0, _GUICtrlEdit_GetLineCount($Edit))
    $split=StringSplit(GUICtrlRead($edit), "")
    ConsoleWrite($split[0]&@CRLF)
WEnd
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Edit Illimité

#7

Message par TommyDDR »

Bon bah... j'allai te dire merci mais ta méthode est beaucoup trop longue pour affiché les caractères quand ceux ci dépasse les 30 000/40 000

Pour info : je suis dans de la connexion TCP et ce script me sert pour une fenetre de debug pour vérifier les échanges entre le serveur et le client donc je ne peux me permettre de ralentir tout ça ^^'

Si quelqu'un d'autre à une solution...
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Edit Illimité

#8

Message par Iste »

Hum, sans vouloir faire mon chiant,
Je ne connais pas ton script, mais pour être régulièrement dans des cas similaire, je pose simplement la question :

Es-ce vraiment utile d'en garder autant ?

Dans mes fenêtres de début, je garde uniquement les dernières actions
Dans le cas ou c'est très long, j'écris dans un fichier

Sinon, pour quand même aller dans le sens du "je répond au lieux de dire que c'est pas bien",
Essaye de stoker tout le texte dans une variable

Code : Tout sélectionner

$texte &= $nouveautexte
Puis affiche ensuite chaque foi cette variable dans l'edit.

Code : Tout sélectionner

GUICtrlSetData($edit,$texte)
Si ca scroll pas tout en bas automatiquement, regarde du coté des UDF

Code : Tout sélectionner

#Include <GuiEdit.au3>
_GUICtrlEdit_Scroll($hWnd, $iDirection)
_GUICtrlEdit_LineScroll($hWnd, $iHoriz, $iVert)
vala

Edit :
Essaye déja avec _GUICtrlEdit_AppendText($hWnd, $sText) xD
Signez ici
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Edit Illimité

#9

Message par TommyDDR »

AppendText bloque a 30000 aussi.

J'ai finalement effacer la fenêtre quand les 30 000 caractères sont atteint (en effet, le début ne sert plus quand 30 000 autres caractères sont la).

Merci.

"Résolu..."
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Répondre