| |
|
|
H.Brill | Was nicht jeder weiß : Die automatische Sortierung bei den List - Controls geschieht ja nach ASCII, d. h. nach 1 kommt 10, 11, 12 usw. und nicht 2, 3, 4 Wenn die Zahlen aber gleich lang gemacht werden (z.B.001 statt 1) so geht auch die Sortierung richtig. Das geht am besten mit Format$().
Declare Handle grid, liste
Window 500, 200
grid = Create("Gridbox", %HWnd, "spalte 1;0;60;spalte 2;0;80;spalte 3;0;60", 1, 10, 10, 220, 100)
liste = Create("Listbox", %HWnd, 1, 250, 10, 220, 100)
WhileLoop 100, 1, -1
AddString(grid, Format$("000", &LOOP) + "|" + "AAA" + "|" + "BBB")
AddString(liste, Format$("000", &LOOP))
EndWhile
While 1
Waitinput
EndWhile
|
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 03.12.2022 ▲ |
|
|
|
|
Sven Bader | Hier noch ein Beispiel, eine unsortierte Liste von Hand zu sortieren per Bubble Sort.
Declare Handle grid, liste
Declare thisRow$, nextRow$, done&,count&
Window 340, 500
liste = Create("Listbox", %HWnd, 0, 0, 0, 320, 400)
WhileLoop 100, 1, -1
AddString(liste, str$(&LOOP)+". Zeile")
EndWhile
count& = GetCount(liste) - 1
SendMessage(liste, $000B, 0, 0)'wm_SetRedraw
WhileNot done&
done& = 1
WhileLoop count&
thisRow$ = GetString$(liste, &loop - 1)
nextRow$ = GetString$(liste, &loop)
If val(thisRow$) > val(nextRow$)
DeleteString(liste, &loop - 1)
InsertString(liste, &loop, thisRow$)
done& = 0
EndIf
EndWhile
EndWhile
SendMessage(liste, $000B, 1, 0)'wm_SetRedraw
WaitKey
|
|
|
| |
|
|
|
p.specht
| Mir hat ein erstes Feld der Darstellungslänge 0 Byte manchmal sehr geholfen ... Die gestaltbare Sortierung folgt dann nur den Einträgen dort. |
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 27.12.2022 ▲ |
|
|
|