AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensätze zufällig anzeigen lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Datensätze zufällig anzeigen lassen

Ein Thema von Flo · begonnen am 5. Apr 2003 · letzter Beitrag vom 8. Apr 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Flo
Flo

Registriert seit: 30. Mär 2003
Ort: Süd-Niedersachsen
81 Beiträge
 
Delphi 5 Professional
 
#1

Datensätze zufällig anzeigen lassen

  Alt 5. Apr 2003, 20:53
Guten Abend,
ich habe eine Paradox7 Tabelle und möchte mir die Datensätze in der Tabelle zufällig anzeigen lassen. Ich habe die Vermutung, dass man irgendetwas mit ''randomize'' machen muss. Aber wie binde ich das in die Tabelle ein ???
MfG
Florian

SwapIt!:
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#2
  Alt 5. Apr 2003, 21:15
Kenn mich mit paradox nicht direkt aus. Aber du muss doch auf den x-ten Beitrag zugreifen können?!?

Wenn ja:

randomize ins "OnCreate"
beim anzeigen:

Delphi-Quellcode:
//rausfinden, wie viele Einträge
a := random(anzahl_der_beiträge); //a ist nun 0-(Anzahl der Beiträge minus 1)
//den a-ten Beitrag aus der DB anzeigen
hoffe, du kapierst, was ich meine
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Flo
Flo

Registriert seit: 30. Mär 2003
Ort: Süd-Niedersachsen
81 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 6. Apr 2003, 08:19
Zitat von Nailor:
hoffe, du kapierst, was ich meine
Sorry, irgendwie nicht. Wie finde ich denn raus, wie viele Einträge meine Tabelle hat ? Und ...(anzahl_der_beiträge)... versteh ich auch noch nicht ganz. Bin in diesem Gebiet total der Anfänger.

ach: Und wo finde ich das OnCreate ???
MfG
Florian

SwapIt!:
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#4
  Alt 6. Apr 2003, 08:48
Hallo,
Zitat von Flo:
Sorry, irgendwie nicht. Wie finde ich denn raus, wie viele Einträge meine Tabelle hat ? Und ...(anzahl_der_beiträge)...
Bei normalen List-Komponenten gibt es einen Count der einem sagt, wieviel Einträge in der Liste sind.
Zum Bleistift ListBox.Items.Count, oder auch mit ListView.
Da ich aber keine Datenbanken haben, musst Du da selbst nachschauen ob es sowas gibt.
Zitat:
ach: Und wo finde ich das OnCreate ???
Er Meint die Prozedur OnCreate des Formulares.
Du muss erstmal rausfinden wieviele Einträge Deine Liste hat, den Wert speicherst Du z.B. in eine Integervariable.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;
Klicke Dein Formular einmal an, dann ist es links im Objekt Inspector ausgewählt, dort klickst Du dann auf den Reiter Eigenschaften und machst dann ein Doppelklick bei OnCreate.
Im Editorfenster legt Delphi dann von alleine die Prozedur an.
Das ist jetzt Prozedur um Deine Einträge auf klick eines Buttons auszuführen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  iTemp: Integer;
begin
  iTemp := x; //hier den Wert rausfinden und setzen, anstatt dem x
  //Und hier schriebst Du dann,
  //Zeige meine Daten mit := Random(iTemp);
end;
Hoffenlich ist das jetzt etwas klarer.

Grüsse, Daniel
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#5

Anzahl der DAtensaätze in einer Table

  Alt 6. Apr 2003, 10:38
Hallo,

wegen der Anzahl der Datensätze

Anzahl := Table1.RecordCount;


Gruß
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von Flo
Flo

Registriert seit: 30. Mär 2003
Ort: Süd-Niedersachsen
81 Beiträge
 
Delphi 5 Professional
 
#6
  Alt 6. Apr 2003, 17:12
Danke euch beiden.
Werde das gleich mal ausprobieren.
Melde mich dann nochmal.
MfG
Florian

SwapIt!:
  Mit Zitat antworten Zitat
Benutzerbild von Flo
Flo

Registriert seit: 30. Mär 2003
Ort: Süd-Niedersachsen
81 Beiträge
 
Delphi 5 Professional
 
#7
  Alt 6. Apr 2003, 17:25
Also ich hab das irgendwie noch nicht hinbekommen.
Ich möchte dieses random in den folgenden source einbauen:
Delphi-Quellcode:
begin
with qryAbfrage do begin //englisch vergleich mit tabelle (query komponente)
  Close;
  SQL.Text := 'Select Count(*) as ANZAHL From eng';
  SQL.Add('Where ENGLISCH = :Englisch and DEUTSCH = :Deutsch');
  ParamByName('Englisch').AsString := edit1.Text; //Parameterwerte aus1 Edit

  Open;
  if FieldByName('ANZAHL').AsInteger > 0 then
    ShowMessage('Richtig')
  else
      if MessageDlg('Leider falsch. Lösungen anzeigen?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    form5.show;
  end;;

  Close
 end;
end;
Wie stelle ich das an ???
MfG
Florian

SwapIt!:
  Mit Zitat antworten Zitat
Benutzerbild von Flo
Flo

Registriert seit: 30. Mär 2003
Ort: Süd-Niedersachsen
81 Beiträge
 
Delphi 5 Professional
 
#8
  Alt 7. Apr 2003, 13:05
Hat keiner ne Ahnung ???
Bitte helft mir.
MfG
Florian

SwapIt!:
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#9
  Alt 7. Apr 2003, 13:24
Zitat von Flo:
Hat keiner ne Ahnung ???
Bitte helft mir.
Hai Flo,

um das zuerreichen musst Du dafür sorgen das deine Datensätze in der Tabelle ein ID-Feld haben welches fortlaufend durchnummeriert ist.

Dann ist es einfach (mal so als denkanstoss):

Delphi-Quellcode:
begin
 i := Random (AnzahlDerDatensätze);
 Query1.Close;
 Query1.Sql.Text := 'SELECT * FROM tabelle WHERE id_feld = '
 + IntToStr (i);
 Query1.Open;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Flo
Flo

Registriert seit: 30. Mär 2003
Ort: Süd-Niedersachsen
81 Beiträge
 
Delphi 5 Professional
 
#10
  Alt 7. Apr 2003, 15:21
Danke für deine Hilfe, aber ich glaube, dass ich zu blöd für das bin.
Ich habs mal so versucht:

Delphi-Quellcode:
var anzahl,i: integer;
begin
anzahl := table1.recordcount;
i := Random (Anzahl);
Qryabfrage.Close;
Qryabfrage.Sql.Text := 'SELECT * FROM tabelle WHERE id_feld = '
+ IntToStr (i);
Qryabfrage.Open;

with qryAbfrage do begin //englisch vergleich mit tabelle (query komponente)
  Close;
  SQL.Text := 'Select Count(*) as ANZAHL From eng';
  SQL.Add('Where ENGLISCH = :Englisch and DEUTSCH = :Deutsch');
  ParamByName('Englisch').AsString := edit1.Text; //Parameterwerte aus1 Edit

  Open;
  if FieldByName('ANZAHL').AsInteger > 0 then
    ShowMessage('Richtig')
  else
      if MessageDlg('Leider falsch. Lösungen anzeigen?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    form5.show;
  end;;

  Close
 end;
end;
Klappt aber nicht.
MfG
Florian

SwapIt!:
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz