Problem mit Dateizugriff/Random
lima-city → Forum → Programmiersprachen → Delphi & Pascal
auswahl
befehl
beginnen
erste
fehler
formen
formular
gewhlten thema
gleiche frage
grad
hauptsache
jahr
kann
leistungskurs
mache
software
speicher
stellen
technischen gymnasium
zeile
-
Hallo,
ich habe folgendes Problem:
Ich soll dieses Jahr eine Belegarbeit machen und da ich IS (Informationssysteme) am technischen Gymnasium als Leistungskurs habe, mache ich diese auch in dem Fach. Ich erstelle ein Schülerquiz, in dem die Fragen, Antworten und der Highscore aus TextDateien gelesen werden, wobei die Antworten verschlüsselt sind.
Wenn ich das Programm teste, läuft es auch wunderbar. Beende ich es dagegen und starte es neu, dann wird exakt die gleiche Frage wieder als erstes gestellt, unabhängig vom gewählten Thema (ich stelle 2 Themen zur Auswahl, Hard- oder Software) und obwohl ich die Fragen aus 5 Fragen auswürfeln lasse.
Weiß jemand woran das liegen könnte?
mfg Benny -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du musst zu Beginn des Programms den Befehl "randomize;" benutzen, damit die Zufallsfunktion auch wirklich zufällig ist. Ansonsten kommen immer die selben Zufallszahlen.
-
ich habe ja Randomize genutzt - muss ich das ganz am Anfang bei Formload eintragen?
-
Hm soweit ich weiß reicht es wenn man es vor dem ersten "random" aufruft, wenn das nicht geht dann setz es mal an den Anfang, vielleicht geht das ja.
-
hab ich grad probiert, klappt leider auch net... naja ich muss ma schauen vll find ich den Fehler noch - weiß jemand wie man Formulare aus dem Speicher löscht?
am besten du setzt das randomize in das OnCreate Ereignis der Form wo du das benutzt.
Forms kannst du freigenben in dem du z.B. TForm2.destroy aufrufst.
Dann musst du natürlich beim nächsten Formularaufruf vorher Application.CreateForm(..,..).
Ich vermute fast du hast die zufallszahlen in OnCreate erzeugt, das Randomize aber in OnShow oder OnActivate gesetzt, dann kanns natürlich nicht funktionieren. -
Du kannst den Befehl Randomize() überall einbauen und sooft du willst, hauptsache er wird vor dem Erzeugen der Zufallszahlen ausgeführt, was eigentlich klar ist. Am besten eine Zeile über der eigentlichen Erstellung deiner Zufallshahlen.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage