Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - zufällige anzeige im edit-feld
mircojaeger - Di 07.04.09 08:51
Titel: zufällige anzeige im edit-feld
hi@all,
ich wieß nicht wie ich euch meine situation erklären soll, ich mache es mal als bsp für einen aufgaben-programm:
zumbesipsiel wähle ich mit hilfe von radiobuttons einen raum in meinem haus aus und drücke dann auf den button aufgaben anzeigen und das programm zeigt mir dann eine aufgabe auf, danach eine andere danach wieder eine andere. aber immer nur eine(soll in dem edt-feld angezeigt werden) welche aufgabe zu erst und welche zuletzt soll zufällig sein.
wie mache ich das?
mfg
mircojaeger
Blackheart666 - Di 07.04.09 09:15
Random, Randomize, Case of, Array of String
mircojaeger - Di 07.04.09 09:22
würdest du mir bitte einwinig mehr helfen als ein paar wörter bzw befehle dahin zu klatschen?
oldmax - Di 07.04.09 09:27
Hi
Sicherlich hast du die Aufgaben schon formuliert. Also schreibe diese in eine Stringlist. Du könntest für jeden Raum eine Liste einsetzen, je nachdem, wie du dein Programm aufbaust. Nun kommen wir zu der zufälligen Ausgabe der Aufgaben.Deine einträge stehen der Reihe nach in den Listen, beginnend mit dem Index 0. Wenn du also 10 Einträge hast, ist der größte Index 9. Nun schaust du unter der Hilfe nach Random und Randomize. Mit Randomize initialisierst du den Zufallsgenerator und mit Random(10) erhälst du eine "zufällige" Zahl im Bereich von 1- 10. Davon mußt du dann 1 abziehen, damit du diese Zahl als Index für deine Liste benutzen kannst
etwa so
Delphi-Quelltext
1: 2:
| Index:=Random(Cb_JobListe.Items.Count)-1; Ed_MyJob.Text:= Cb_JobListe.Items[Index]; |
und damit du den Job nicht zweimal machen mußt, löscht du diesen aus der Liste. Damit wird Cb_Jobliste.Items.Count entsprechend kleiner und der nächste Zugriff kann kein zweites mal den selben Job erteilen.
Mit Ed_MyJob ist ein Editfeld und mit Cb_Jobliste eine Combobox benannt.
Gruß oldmax
Bergmann89 - Di 07.04.09 09:32
HI,
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var i, n: Intger; var aufghabe: array of String; randomize; SetLength(aufgabe, n+1); aufgabe[0] = 'aufgabe 1';aufgabe[1] = 'aufgabe 2'; . . . aufgabe[n] = 'aufgabe n';
i := random(length(aufgaben)); edit1.text := aufgabe[i]; |
MfG Bergmann.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!