Foro | | | | - Página 1 - |
| | ¡Hola Personas, Yo bin todavía una ziemlicher Principiante, qué esta Lingua angeht. Yo Por favor, deshalb en Verständnis, si mi Cuestión iwie dumm es más o menos.
Mein Problema es: Yo habe una Software programmiert, el una Tanztunier auswerten se. Eigentlich ha el a ahora alles bastante bien geklappt, sólo jetz bin Yo desafortunadamente Hängen geblieben: Jedes Tanzpaar bekommt una Gesamtpunktzahl, el el Programa auch ya errechnet. Aber ahora muss Yo dafür Plätze vergeben, d.h. Yo muss lo irgendwie hinkriegen, dass el Platzierungen a el Paare vergeben voluntad, je después de, como viele Punkte ellos haben. Jetzt es el sólo no como ihr denkt: Den ersten Platz Por ejemplo ha el Paar, el al wenigsten Punkte ha.
Yo hoffe, me kann alguien helfen, esta Platzierungen simplemente a calcular. Aber el Programa muss así rechnen, dass 2 Paare gleichviele Punkte haben y deswegen necesario ellos auch el gleiche Platzierung bekommen.
Bitte erklärt me anschaulich, si posible. Vielen Dank en el Voraus!! tecnologymaster |
| | | | |
| | « Dieser Contribución wurde como Solución gekennzeichnet. » | | Thomas Freier | @Jörg, por qué se él de unten anfangen? Denn
Den ersten Platz Por ejemplo ha el Paar, el al wenigsten Punkte ha.
Declarar Listbox%,Ende%, Platz%, x!, y%, z! ,Texto$
SetTrueColor 1
Cls @RGB(255,255,255)
ListBox%=@CreateSortedListBox(%hWnd,"",20,20,200,200)
' kann auch una unsichtbare Listbox ser....Box(%hWnd,"",0,0,0,0)
@AddStrings(ListBox%,Formato$("000.00",10.20)+" | "+"Müller")
@AddStrings(ListBox%,Formato$("000.00",5.40)+" | "+"Meier")
@AddStrings(ListBox%,Formato$("000.00",1.2)+" | "+"Karl")
@AddStrings(ListBox%,Formato$("000.00",8.00)+" | "+"Wert")
@AddStrings(ListBox%,Formato$("000.00",1.2)+" | "+"Hansen")
Platz%=0
x!=0
y%=20
z!= -1
Decimals 2
WhileLoop @GetCount(ListBox%)
'WhileLoop beginnt con 1, 1.Línea Liste = 0, d.h. Index Liste= &Loop-1
x!=val(Translate$(Substr$(@GetString$(ListBox%,(&Loop-1)),1,"|"),",","."))
caso x! > z! : inc Platz%' Platz% sólo erhöhen, si nächster Valor größer
Texto$=str$(Platz%)+".Platz "+Substr$(@GetString$(ListBox%,(&Loop-1)),2,"|")
DrawText 300,y%,Texto$
Texto$="mit "+ str$(x!)+" Punkten"
DrawText 480,y%,Texto$
y%=y%+20
z!= x!
EndWhile
WaitKey
End
|
| | | | | |
| | Jörg Sellmeyer | ¡Hola,
Yo sería el Punktzahlen con Formato$() en Cuerdas umwandeln. Und zwar así, daß todos Zahlenstrings el gleiche Longitud haben - also con Vornullen auffüllen. Wenn el número máximo dreistellig es, lautet el Formel así:
Punkte$ = Formato$("000",Punkte%) + "|" + Teilnehmer$
Dann todos Cuerdas en un sortierte Listbox. Dann hast Usted schonmal el Reihenfolge. Jetzt kannst Usted de unten anfangen el Plätze a vergeben. Der letzte Eintrag bekommt schonmal el 1. Platz. Usted mußt ahora sólo todavía para jeweils nächsthöheren Listenplatz el Punktzahl vergleichen en gleichen Punkteständen el gleichen Platz zuzuweisen. Noch eleganter va el con un Listview pero yo weiß no, welche Profanversion Usted hast.
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 21.12.2010 ▲ |
| |
| | | [offtopic]Thema de el Ayuda a Webseite ^ ^ después de XProfan-Foro movido. [/offtopic] |
| | | | |
| | Thomas Freier | @Jörg, por qué se él de unten anfangen? Denn
Den ersten Platz Por ejemplo ha el Paar, el al wenigsten Punkte ha.
Declarar Listbox%,Ende%, Platz%, x!, y%, z! ,Texto$
SetTrueColor 1
Cls @RGB(255,255,255)
ListBox%=@CreateSortedListBox(%hWnd,"",20,20,200,200)
' kann auch una unsichtbare Listbox ser....Box(%hWnd,"",0,0,0,0)
@AddStrings(ListBox%,Formato$("000.00",10.20)+" | "+"Müller")
@AddStrings(ListBox%,Formato$("000.00",5.40)+" | "+"Meier")
@AddStrings(ListBox%,Formato$("000.00",1.2)+" | "+"Karl")
@AddStrings(ListBox%,Formato$("000.00",8.00)+" | "+"Wert")
@AddStrings(ListBox%,Formato$("000.00",1.2)+" | "+"Hansen")
Platz%=0
x!=0
y%=20
z!= -1
Decimals 2
WhileLoop @GetCount(ListBox%)
'WhileLoop beginnt con 1, 1.Línea Liste = 0, d.h. Index Liste= &Loop-1
x!=val(Translate$(Substr$(@GetString$(ListBox%,(&Loop-1)),1,"|"),",","."))
caso x! > z! : inc Platz%' Platz% sólo erhöhen, si nächster Valor größer
Texto$=str$(Platz%)+".Platz "+Substr$(@GetString$(ListBox%,(&Loop-1)),2,"|")
DrawText 300,y%,Texto$
Texto$="mit "+ str$(x!)+" Punkten"
DrawText 480,y%,Texto$
y%=y%+20
z!= x!
EndWhile
WaitKey
End
|
| | | | |
| | Jörg Sellmeyer | Ah - stimmt sí. Der kleinste Eintrag es oben. Yo programmier a wenig en el Moment... |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 22.12.2010 ▲ |
| |
| | Thomas Freier | Ergänzend, si después de zwei 1. el Dritte el 3.Platz ha:
Declarar Listbox%,Ende%, Platz%, x!, y%, z! ,Texto$
SetTrueColor 1
Cls @RGB(255,255,255)
ListBox%=@CreateSortedListBox(%hWnd,"",20,20,200,200)
' kann auch una unsichtbare Listbox ser....Box(%hWnd,"",0,0,0,0)
@AddStrings(ListBox%,Formato$("000.00",10.20)+" | "+"Müller")
@AddStrings(ListBox%,Formato$("000.00",5.40)+" | "+"Meier")
@AddStrings(ListBox%,Formato$("000.00",1.2)+" | "+"Karl")
@AddStrings(ListBox%,Formato$("000.00",8.00)+" | "+"Wert")
@AddStrings(ListBox%,Formato$("000.00",1.2)+" | "+"Hansen")
Platz%=0
x!=0
y%=20
z!= -1
Decimals 2
WhileLoop @GetCount(ListBox%)
'WhileLoop beginnt con 1, 1.Línea Liste = 0, d.h. Index Liste= &Loop-1
x!=val(Translate$(Substr$(@GetString$(ListBox%,(&Loop-1)),1,"|"),",","."))
caso x! > z! : Platz% = &Loop
Texto$=str$(Platz%)+".Platz "+Substr$(@GetString$(ListBox%,(&Loop-1)),2,"|")
DrawText 300,y%,Texto$
Texto$="mit "+ str$(x!)+" Punkten"
DrawText 480,y%,Texto$
y%=y%+20
z!= x!
EndWhile
WaitKey
End
oder el 1. el con el meisten Punkten es:
Declarar Listbox%, Box%, Platz%, x!, y%, z! ,Texto$
SetTrueColor 1
Cls @RGB(255,255,255)
' kann auch una unsichtbare Listbox ser....Box(%hWnd,"",0,0,0,0)
ListBox%=@CreateSortedListBox(%hWnd,"",20,20,200,200)
' Listbox para Sortieren en Punktegleichheit
Box%=@CreateSortedListBox(%hWnd,"",0,0,0,0)
@AddStrings(ListBox%,Formato$("000.00",10.20)+" | "+"Müller")
@AddStrings(ListBox%,Formato$("000.00",5.40)+" | "+"Meier")
@AddStrings(ListBox%,Formato$("000.00",5.4)+" | "+"Karl")
@AddStrings(ListBox%,Formato$("000.00",5.40)+" | "+"Wert")
@AddStrings(ListBox%,Formato$("000.00",1.2)+" | "+"Hansen")
Platz%=1
x!=0
y%=20
z!= 10000
Decimals 2
WhileLoop @GetCount(ListBox%),1,-1
'WhileLoop beginnt con 1, 1.Línea Liste = 0, d.h. Index Liste= &Loop-1
@AddStrings(Box%,@GetString$(ListBox%,(&Loop-1)))' para el Edición
x!=val(Translate$(Substr$(@GetString$(ListBox%,(&Loop-1)),1,"|"),",","."))
caso x! < z!: Platz% =@GetCount(ListBox%)-&Loop+1
' Wenn el nächste Valor en Box 1 kleiner: Edición Box 2
caso x! > val(Translate$(Substr$(@GetString$(ListBox%,(&Loop-2)),1,"|"),",",".")): Anzeige
z!= x!
EndWhile
WaitKey
End
Proc Anzeige
Declarar a%
a%=0
Mientras que a%<=(@GetCount(Box%)-1)
Texto$=str$(Platz%)+".Platz "+Substr$(@GetString$(Box%,a%),2,"|")
DrawText 300,y%,Texto$
Texto$="mit "+ str$(x!)+" Punkten"
DrawText 480,y%,Texto$
y%=y%+20
inc a%
Endwhile
DestroyWindow(box%)
Box%=@CreateSortedListBox(%hWnd,"",0,0,0,0)
ENDPROC
Sollte después de el Ayuda alles de Profano 7.5 laufen. Editar 25.12., así auch el Namen en Punktegleichheit sortiert son. |
| | | | |
|
RespuestaTema opciones | 13.499 Views |
ThemeninformationenDieses Thema ha 4 Teilnehmer: |