Forum | | | | - page 1 - |
| Julian Schmidt | Salut, je serait volontiers un Listbox erstellen quelle payons dans qui Richtigen Reihenfolge anzeigt. Etwa..
1,2,3...100,...1001,....9999 ou bien aussi renversé. une entier normale 'SortedListBox' zeigt payons dans cette Reihenfolge....
0,1,100,1000,2,200,2000,5000... si so quelque chose pas possible ist serait je volontiers den höchsten Wert einer Listbox(sur une Procédure)ermitteln. KompilierenMarqueSéparation |
| |
| | « cette Beitrag wurde comme Solution gekennzeichnet. » | | Julian Schmidt | hmmmmmm....so peux on aussi les numéros dans einer Listbox sortieren, sieht seulement pas joli aus :p Voraussetzung ist naturellement une 'UnsortedListbox'. KompilierenMarqueSéparationWindowstyle 24
Window 100,200 - 100,200
Windowtitle "Beispiel zum Sortieren von Zahlen in einer Listbox"
var Liste&=Create("ListBox", %hwnd, 0, 0, 0, width(%hwnd), height(%hwnd)-40)
whileloop 100
AddString(Liste&,Str$((Rnd(20)*&loop)))
Endwhile
var sort_list&=Create("Button",%hwnd,"Sortieren",5,height(%hwnd)-35,width(%hwnd)-10,30)
while 1
waitinput
if getfocus(sort_list&)
Sort_Listbox_by_Number(Liste&)
EnableWindow sort_list&,0
Endif
Endwhile
Proc Sort_Listbox_by_Number
Parameters hdl&
declare index%
var num%=99999999999999999
var numbersortedlist&=Create("List", 0)
while GetCount(hdl&)<>0
whileloop GetCount(hdl&)
if num%>Val(GetString$(hdl&,&loop-1))
num%=Val(GetString$(hdl&,&loop-1))
index%=&loop-1
Endif
Endwhile
AddString(numbersortedlist&,Str$(num%))
DeleteString(hdl&,index%)
num%=99999999999999999
Endwhile
Whileloop GetCount(numbersortedlist&)
AddString(hdl&,GetString$(numbersortedlist&,&loop-1))
Endwhile
destroywindow(numbersortedlist&)
Return 1
../../function-references/XProfan/endproc/'>ENDPROC
Nachtrag: cinq Zeilen plus, mais pour sieht cela sortieren besser aus xD KompilierenMarqueSéparationWindowstyle 24
Fenêtre 100,200 - 100,200
Windowtitle "Beispiel zum Sortieren de payons dans einer Listbox"
var Liste&=Créer(ListBox, %hwnd, 0, 0, 0, width(%hwnd), height(%hwnd)-40)
whileloop 100
AddStrings(Liste&,Str$((Tour(20)*&loop)))
Endwhile
var sort_list&=Créer("Button",%hwnd,"Sortieren",5,height(%hwnd)-35,width(%hwnd)-10,30)
tandis que 1
waitinput
si getfocus(sort_list&)
Sort_Listbox_by_Number(Liste&)
EnableWindow sort_list&,0
Endif
Endwhile
Proc Sort_Listbox_by_Number
Paramètres hdl&,num%
declare index%
var numbersortedlist&=Créer("List", 0)
var copy_orginal_list&=Créer("List", 0)
Whileloop GetCount(hdl&)
AddStrings(copy_orginal_list&,GetString$(hdl&,&loop-1))
Endwhile
tandis que GetCount(copy_orginal_list&)<>0
num%=99999999999999999
whileloop GetCount(copy_orginal_list&)
si num%>Val(GetString$(copy_orginal_list&,&loop-1))
num%=Val(GetString$(copy_orginal_list&,&loop-1))
index%=&loop-1
Endif
Endwhile
AddStrings(numbersortedlist&,Str$(num%))
DeleteString(copy_orginal_list&,index%)
Endwhile
ClearList hdl&
Whileloop GetCount(numbersortedlist&)
AddStrings(hdl&,GetString$(numbersortedlist&,&loop-1))
Endwhile
destroywindow(numbersortedlist&)
destroywindow(copy_orginal_list&)
Retour 1
ENDPROC
mon Frage habe je avec cela trop meiner 100% Zufriedenstellung beantwortet. qui Fil ist avec cela geschlossen! |
| | | | | |
| | Dietmar Horn | allô Julian,
je serait qui trop sortierenden payons avec führenden Nullen auffüllen et vous so einer sortierte Listbox zum Montrer werfen.
Um qui Sortierung umzukehren serait je chacun qui payons de 1000, 10000, 100000, ou bien so subtrahieren, et cette ensuite .qui sortierte Listbox füllen.
Salut Dietmar |
| | | Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 17.08.2011 ▲ |
| |
| | Julian Schmidt | Dietmar Horn (17.08.11)
je serait qui trop sortierenden payons avec führenden Nullen auffüllen et vous so einer sortierte Listbox zum Montrer werfen.
Welchen Befehl peux on trop solch einem Zweck verwenden? Etwa Format$(...)?
Nachtrag: Hab maintenant simple la fois une Procédure geschrieben quel qui höchste numéro einer Listbox ermittelt. c'est pour mon Problem déjà qui Solution! KompilierenMarqueSéparationcls
var Liste&=Create("ListBox", %hwnd, 1, 0, 0, 100, height(%hwnd))
whileloop 100
AddString(Liste&,Str$((Rnd(20)*&loop)))
Endwhile
Create("Text",%hwnd,"Largest Number of Listbox: "+Str$(Listbox_Largest_Number(Liste&)),110,10,230,18)
Create("Text",%hwnd,"Smallest Number of Listbox: "+Str$(Listbox_Smallest_Number(Liste&)),110,30,230,18)
while 1
waitinput
Endwhile
Proc Listbox_Largest_Number
Parameters hdl&
declare num%
whileloop GetCount(hdl&)
case num%<Val(GetString$(hdl&,&loop-1)) : num%=Val(GetString$(hdl&,&loop-1))
Endwhile
Return num%
EndProc
Proc Listbox_Smallest_Number
Parameters hdl&
var num%=99999999999999999
whileloop GetCount(hdl&)
case num%>Val(GetString$(hdl&,&loop-1)) : num%=Val(GetString$(hdl&,&loop-1))
Endwhile
Return num%
ENDPROC
|
| | | | |
| | Julian Schmidt | hmmmmmm....so peux on aussi les numéros dans einer Listbox sortieren, sieht seulement pas joli aus :p Voraussetzung ist naturellement une 'UnsortedListbox'. KompilierenMarqueSéparationWindowstyle 24
Window 100,200 - 100,200
Windowtitle "Beispiel zum Sortieren von Zahlen in einer Listbox"
var Liste&=Create("ListBox", %hwnd, 0, 0, 0, width(%hwnd), height(%hwnd)-40)
whileloop 100
AddString(Liste&,Str$((Rnd(20)*&loop)))
Endwhile
var sort_list&=Create("Button",%hwnd,"Sortieren",5,height(%hwnd)-35,width(%hwnd)-10,30)
while 1
waitinput
if getfocus(sort_list&)
Sort_Listbox_by_Number(Liste&)
EnableWindow sort_list&,0
Endif
Endwhile
Proc Sort_Listbox_by_Number
Parameters hdl&
declare index%
var num%=99999999999999999
var numbersortedlist&=Create("List", 0)
while GetCount(hdl&)<>0
whileloop GetCount(hdl&)
if num%>Val(GetString$(hdl&,&loop-1))
num%=Val(GetString$(hdl&,&loop-1))
index%=&loop-1
Endif
Endwhile
AddString(numbersortedlist&,Str$(num%))
DeleteString(hdl&,index%)
num%=99999999999999999
Endwhile
Whileloop GetCount(numbersortedlist&)
AddString(hdl&,GetString$(numbersortedlist&,&loop-1))
Endwhile
destroywindow(numbersortedlist&)
Return 1
../../function-references/XProfan/endproc/'>ENDPROC
Nachtrag: cinq Zeilen plus, mais pour sieht cela sortieren besser aus xD KompilierenMarqueSéparationWindowstyle 24
Fenêtre 100,200 - 100,200
Windowtitle "Beispiel zum Sortieren de payons dans einer Listbox"
var Liste&=Créer(ListBox, %hwnd, 0, 0, 0, width(%hwnd), height(%hwnd)-40)
whileloop 100
AddStrings(Liste&,Str$((Tour(20)*&loop)))
Endwhile
var sort_list&=Créer("Button",%hwnd,"Sortieren",5,height(%hwnd)-35,width(%hwnd)-10,30)
tandis que 1
waitinput
si getfocus(sort_list&)
Sort_Listbox_by_Number(Liste&)
EnableWindow sort_list&,0
Endif
Endwhile
Proc Sort_Listbox_by_Number
Paramètres hdl&,num%
declare index%
var numbersortedlist&=Créer("List", 0)
var copy_orginal_list&=Créer("List", 0)
Whileloop GetCount(hdl&)
AddStrings(copy_orginal_list&,GetString$(hdl&,&loop-1))
Endwhile
tandis que GetCount(copy_orginal_list&)<>0
num%=99999999999999999
whileloop GetCount(copy_orginal_list&)
si num%>Val(GetString$(copy_orginal_list&,&loop-1))
num%=Val(GetString$(copy_orginal_list&,&loop-1))
index%=&loop-1
Endif
Endwhile
AddStrings(numbersortedlist&,Str$(num%))
DeleteString(copy_orginal_list&,index%)
Endwhile
ClearList hdl&
Whileloop GetCount(numbersortedlist&)
AddStrings(hdl&,GetString$(numbersortedlist&,&loop-1))
Endwhile
destroywindow(numbersortedlist&)
destroywindow(copy_orginal_list&)
Retour 1
ENDPROC
mon Frage habe je avec cela trop meiner 100% Zufriedenstellung beantwortet. qui Fil ist avec cela geschlossen! |
| | | | |
| | Julian Schmidt | Dietmar Horn (17.08.11)
Um qui Sortierung umzukehren serait je chacun qui payons de 1000, 10000, 100000, ou bien so subtrahieren, et cette ensuite .qui sortierte Listbox füllen.
Subtrahieren? Multiplizieren! |
| | | | |
| | Thomas Freier |
je serait qui trop sortierenden payons avec führenden Nullen auffüllen et vous so einer sortierte Listbox zum Montrer werfen.
Meist est un Font avec gleicher Laufweite vorhanden, ensuite geht's aussi avec Leerzeichen. KompilierenMarqueSéparationcls
var LB&=Create("ListBox", %hwnd, 1, 10, 10, 224, 400)
var LBfont&=CreateFont("DejaVu Sans Mono",14,0,0,0,0)
SetFont LB&,LBfont&
var a$=space$(20)
AddString(LB&,right$(a$+"100",20))
AddString(LB&,right$(a$+"1",20))
AddString(LB&,right$(a$+"11",20))
AddString(LB&,right$(a$+"4",20))
waitinput
DeleteObject LBfont&
KompilierenMarqueSéparation $H commctrl.ph
cls
var LB&=Créer("GridBox", %hwnd,";1;220;"; 1, 10, 10, 224, 400)
setstyle LB&,getstyle(LB&) | ~LVS_NOCOLUMNHEADER
var LBfont&=CreateFont(Arial,14,0,0,0,0)
SetFont LB&,LBfont&
var a$=space$(20)
AddStrings(LB&,right$(a$+"100",20))
AddStrings(LB&,right$(a$+"1",20))
AddStrings(LB&,right$(a$+"11",20))
AddStrings(LB&,right$(a$+"4",20))
waitinput
DeleteObject LBfont&
end
|
| | | | |
|
répondreOptions du sujet | 10.388 Views |
Themeninformationencet Thema hat 3 participant: |