Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Datensätze zufällig anzeigen, aber alle nur einmal

  Alt 10. Apr 2005, 06:10
Hai Susanne,

der einzige Weg der mir einfällt ist der über .RecNo die Datensätze in einer zufälligen Reihenfolge anzusprechen.
Du müsstest also deine Record-Nummern (die ja nur eine zusammenhängende Liste von Integern sind) in eine zufällige Reihenfolge bringen.
Dafür kannst Du z.B. diesen Code von Hagen aus dem Lotto-Thread verwenden.

Dann kannst Du so die Datensätze in einer zufälligen Reihenfolge ansprechen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Sortiert, Zufall: TZahlen;
  anzahl : Integer;
  ndx: Integer;
begin
  anzahl := Query1.RecordCount;
  Lotto(Sortiert, Zufall, anzahl, anzahl);
  for ndx := 0 to High(Zufall) do
  begin
    Query1.RecNo := Zufall[ndx];
// Mache etwas mit dem aktuellen
// Datensatz
  end;
end;
Ich habe den Code von Hagen gewählt weil Du dann ganz einfach auch sagen kannst: "Ich möchte von meinen 10 Datensätzen 5 Stück in einer zufälligen Reihenfolge haben).
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat