Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Zufälliger Wert aus Tabellen nehmen?


Hemisch - Fr 16.12.05 12:21
Titel: Zufälliger Wert aus Tabellen nehmen?
Guten Tag!

Im moment programmiere ich gerade ein kleines Lernprogramm, leider komme ich bei einem Punkt nicht weiter. Ich möchte gerne aus einer Tabelle einen zufälligen Wert herausnehmen und diesen danach in einem Edit anzeigen lassen. Bisher habe ich es mit dem Befehl...

DBNavigator1.BtnClick(nbNext);

...gemacht aber dieser geht einfach eine Zeile weiter in der Tabelle und ich hätte gernen irgendeinen zufälligen Wert aus der Tabelle.

Kann mir da jemand weiterhelfen?

Danke und Gruss Hemisch


alzaimar - Fr 16.12.05 12:44

Na klar:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Procedure GotoRandomRecord (aTable : TDataset);
Var
  i : Integer;

Begin
  aTable.DisableControls;
  Try
    aTable.First;
    For i:=0 To Random (aTable.RecordCount) do 
      aTable.Next;
  Finally
    aTable.EnableControls;
  End;
End;

Erst gehe ich zum 1.Datensatz und dann eine zufällige Anzahl nach vorne. DisableControls und EnableControls schalten während des 'Laufens' alle datensensitiven Steuerelemente (also TDBEdit, TDBGrid etc.) aus, sodass es schneller geht und nicht flackert.


Hemisch - Di 20.12.05 09:10
Titel: Danke!
Ohh... danke dir! funktioniert tip top!