Forum | | | | Abigail | allô gens, j'ai la fois un quelque chose geändertes Beispiel pour une Sortierung pour Substrings verwendet. Im Prinzip klappt cela oui aussi entier wunderbar, mais ab einer gewissen Taille, chez mir Satzgröße 248 Byte * ca. 400 Sätze, funktioniert qui Sortierung qui GRIDBOX entier simple pas plus. So entre 400 et 500 Datensätzen ist simple une Sortierung seulement pour oftmaligem Betätigen (si überhaupt) des 'Sortierbuttons' possible. Ist cela un Bug ou bien habe je là irgendwo une Beschränkung überlesen??
Unten cela Original Programme aus qui Aider
Déclarer Handle Grid, btn1, btn2, btn3, btn4, btn5
Titre de la fenêtre "Sortiertes Grid"
Fenêtre 600, 400
Grid = Créer("Gridbox", %HWnd, "Nummer;0;60;Name;0;100;Ort;0;120;Gehalt;0;60", 0, 10, 50, 340, 200)
btn1 = Créer("Button", %HWnd, "Sort", 10, 10, 60, 25)
btn2 = Créer("Button", %HWnd, "Sort", 75, 10, 60, 25)
btn3 = Créer("Button", %HWnd, "Sort", 170, 10, 60, 25)
btn4 = Créer("Button", %HWnd, "Sort", 290, 10, 60, 25)
btn5 = Créer("Button", %HWnd, "Ende", 500, 10,60, 25)
AddStrings(Grid, "500|Maier|Köln|4000")
AddStrings(Grid, "400|Schmidt|Hamburg|3000")
AddStrings(Grid, "300|Bauer|Mannheim|3500")
AddStrings(Grid, "200|Klein|Düsseldorf|3000")
AddStrings(Grid, "100|Fuchs|Stuttgart|7500")
WhileNot Clicked(btn5)
WaitInput
ClearList 0
Move("HandleToList", Grid)
Si Clicked(btn1)
SortList 5
ElseIf Clicked(btn2)
SortList "|", 2, 1
ElseIf Clicked(btn3)
SortList "|", 3, 1
ElseIf Clicked(btn4)
SortList "|", 4, 5
EndIf
ClearList Grid
Move("ListToHandle", Grid)
Cas %Key = 2 : Pause
Endwhile
merci pour Eure Antwort,
Abigail |
| | | | |
| | Jörg Sellmeyer | je crois, là es du simple trop ungeduldig. si viele Datensätze vorhanden sommes, dauert qui Sortiervorgang simple quelque chose länger. Besonders im Interpretermodus pouvoir sich cela ensuite bemerkbar.
je hab dein Programme la fois et avec ca geändert, avec cela es "ruhiger" fonctionne. So wird qui Sortierroutine seulement aufgerufen, si einer qui Buttons geklickt wird.
Déclarer Handle Grid, btn1, btn2, btn3, btn4, btn5
Titre de la fenêtre "Sortiertes Grid"
Fenêtre 600, 400
Grid = Créer("Gridbox", %HWnd, "Nummer;0;60;Name;0;100;Ort;0;120;Gehalt;0;60", 0, 10, 50, 340, 200)
btn1 = Créer("Button", %HWnd, "Sort", 10, 10, 60, 25)
btn2 = Créer("Button", %HWnd, "Sort", 75, 10, 60, 25)
btn3 = Créer("Button", %HWnd, "Sort", 170, 10, 60, 25)
btn4 = Créer("Button", %HWnd, "Sort", 290, 10, 60, 25)
btn5 = Créer("Button", %HWnd, "Ende", 500, 10,60, 25)
var handle btn6 = Créer("Button", %HWnd, "Test", 400, 10,60, 25)
Proc SortMyList
Paramètres Int SortString
ClearList 0
Move("HandleToList", Grid)
SortList "|",SortString,1
ClearList Grid
Move("ListToHandle", Grid)
ENDPROC
Randomiser
WhileLoop 1,1500,5
AddStrings(Grid, Format $("000",&Boucle) + "|Maier|Köln|" + Str$(Tour(8000)))
AddStrings(Grid, Format $("000",&Boucle + 1) + "|Schmidt|Hamburg|" + Str$(Tour(8000)))
AddStrings(Grid, Format $("000",&Boucle + 2) + "|Bauer|Mannheim|" + Str$(Tour(8000)))
AddStrings(Grid, Format $("000",&Boucle + 3) + "|Klein|Düsseldorf|" + Str$(Tour(8000)))
AddStrings(Grid, Format $("000",&Boucle + 4) + "|Fuchs|Stuttgart|" + Str$(Tour(8000)))
Wend
Tandis que 1
WaitInput
Cas Clicked(btn5):Pause
Si Clicked(btn1)
SortMyList 1
ElseIf Clicked(btn2)
SortMyList 2
ElseIf Clicked(btn3)
SortMyList 3
ElseIf Clicked(btn4)
SortMyList 4
ElseIf Clicked(btn6)
imprimer "a"
EndIf
Cas %Key = 2 : Pause
Endwhile
maintenant wäre es naturellement encore intéressant trop savons, quoi oui c'est ca du geändert la hâte, um ausschließen trop peut, si es à cette Changements liegt. |
| | | | |
| | Abigail | allô Jörg, merci pour qui Info, bzw amélioration. mon Changements étions eigentlich seulement marginal. 1. en tout 7 spalten dans qui Tabelle, 2. naturellement Benennung et Taille qui individuel Spalten. en supplément naturellement pour chacun Spalte sur et Ab Sortier-Button, alors en tout 14 Stück. eh bien, j'ai mittlerweile une Solution trouvé, qui zwar un peu compliqué erscheint, mais funktioniert. Trotz qui la quantité qui Sätze, j'ai es jusqu'à 5000 probiert, dans einer Zehntelsekunde sortiert. Sieht ensuite ungefähr so aus:
Si Clicked(SORT[1]) ClearList 0 Move("HandleToList", GRID) SortList "|", 1 ,5 ClearList Grid Move("ListToHandle", Grid) ElseIf Clicked(SORT[2])
et so plus jusqu'à SORT[14] cela funktioniert wirklich sans chacun Verzögerung selbst im Interpreter Modus.
pourquoi qui Beispielroutine comment
Tandis que ... ClearList 0 Move("HandleToList", GRID)
Si Clicked(SORT[1]) SortList "|", 1 ,5 ElseIf Clicked(SORT[2]) SortList "|", 2 ,5 » » ElseIf Clicked(SORT14]) SortList "|", 7 ,-3 ENDIF
ClearList Grid Move("ListToHandle", Grid)
ENDWHILE
so unendlich träge ab einer gewissen Taille, bzw. gar pas funktioniert, erschließt sich Je ne entier.
quand même merci pour Votre Tips, werde je la fois demain einsetzen afin de voyons, si es avec cela aussi funktioniert.
Salut, Abigail |
| | | | |
| | maroro | allô dans qui Runde ...Gridboxen sortieren ist aussi justement mon Thema. Dabei klappt cela sortieren wunderbar seule qui Solution chacun Spalte une Knopf trop spendieren comme mir garnicht. comment ist es possible une Klick sur qui Spaltenüberschrift trop erkennen aussi ensuite encore korrekt si le Taille qui Spalte modifié wurde?
suis gespannt sur euere Propositions
maroro |
| | | | |
| | Thomas Freier | | | | | |
| | maroro | Habe es trouvé ...merci Thomas et si je darf serait Je l' entsprechenden Voir le texte source aussi posten. |
| | | | |
|
répondreOptions du sujet | 6.008 Views |
Themeninformationencet Thema hat 4 participant: |