Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wieoft gibt es die Zahlen ? (https://www.delphipraxis.net/145182-wieoft-gibt-es-die-zahlen.html)

Vader 25. Dez 2009 14:53

Datenbank: Paradox • Version: 7 • Zugriff über: TQuery

Wieoft gibt es die Zahlen ?
 
hallo,

muß am anfang sagen das ich schon 2 jahre nicht mehr programmiert habe und jetzt bin ich wieder einmal darauf gestossen, habe damals eine lottozahlendatenbank programmiert wo man die 6 lottozahlen eingeben kann und die datenbank gibt die 6 zahlen in 6 spalten aus.
jetzt würde ich gerne eine funktion haben die mir ausgiebt wie oft eine zahl gezogen wurde (statistik), kann mir da einer helfen ???
mfg vader

Matze 25. Dez 2009 14:59

Re: Wieoft gibt es die Zahlen ?
 
Hallo,

du könntest ein Array nutzen, in dem du die Anzahl der gezogenen Zahlen ablegst:

Delphi-Quellcode:
var
  Nums: array[1..49] of Integer;
Zu Beginn wird es mit 0 initialisiert:

Delphi-Quellcode:
for i := 1 to 49 do
  Nums[i] := 0;
Nach jeder Ziehung zählst du den Wert hoch:

Delphi-Quellcode:
inc(Nums[GezogeneNummer]);
Dann hast du in dem Array die Zahlen (= Array-Index) und die zugehörige Anzahl der Vorkommen (= Array-Wert)

Grüße, Matze

Edit: Ich sehe gerade, du hast das in "Datenbanken" geschrieben und "Paradox" angegeben. Du kannst das statt eines Arrays natürlich auch in eine separate Tabelle der Datenbank eintragen mit zwei Spalten "Num" und "Count" o.ä.

Micha88 25. Dez 2009 15:39

Re: Wieoft gibt es die Zahlen ?
 
Zitat:

wie oft eine zahl gezogen wurde
Ich verwende dafür immer ein HISTOGRAMM

Vader 25. Dez 2009 16:02

Re: Wieoft gibt es die Zahlen ?
 
hallo,

mamamia,ich steh da voll daneben, das kommt davon wenn man so lange nichts mehr gemacht hat, könnt ihr mir bitte vielleicht etwas detallierter helfen, wäre sehr dankbar dafür.
mfg vader

Vader 25. Dez 2009 17:02

Re: Wieoft gibt es die Zahlen ?
 
hallo MichaelLinden,

wie geht das mit einen Histogramm ?
mfg vader

Vader 25. Dez 2009 17:24

Re: Wieoft gibt es die Zahlen ?
 
hallo Matze ,

der parameter GezogeneNummer wo kommt die her oder wo wird die deklariert, das kann ich jetzt in deinen code nicht nach vollziehen ?

mfg vader

Matze 25. Dez 2009 17:28

Re: Wieoft gibt es die Zahlen ?
 
Hallo Vader,

bitte halte auch du dich an die Forenregeln und pushe erst nach 24 Stunden, damit es gegenüber anderen fair bleibt.

Das von mir angesprochene Array beinhaltet die Daten auch so, um sie als Histogramm darstellen zu können. Da ein Histogramm die grafische Darstellung von Häufigkeiten ist, hilft dir das erst dann, wenn du deine Daten visualisieren möchtest. Zusammentragen musst du sie davor schon selbst und dafür ist ein Histogramm das Falsche.

"Gezogene Nummer" ist die zahl, die du gezogen hast. Da wo du sie ziehst, kommt sie her, beispielsweise aus "Random(49) + 1", wobei die Prüfung zur Verhinderung von doppelten Zahlen noch notwendig ist. Aber das ist ein anderes Thema.

Grüße, Matze

Vader 25. Dez 2009 17:35

Re: Wieoft gibt es die Zahlen ?
 
hallo Matze,

ich ziehe keine zahl, ich füttere die gezogenen lottozahlen in meiner datenbank, dort stehen schon seit jahren gesammelt die gezogenen lottozahlen vom fernsehen.
mfg vader

sx2008 25. Dez 2009 20:42

Re: Wieoft gibt es die Zahlen ?
 
Wenn die Zahl in einer Spalte wäre, könnte man eine Abfrage ansetzen:
SQL-Code:
SELECT Zahl, COUNT(*) As Anzahl
FROM Ziehungen
GROUP BY Zahl
ORDER BY Zahl

Vader 26. Dez 2009 15:04

Re: Wieoft gibt es die Zahlen ?
 
hallo,

das ist mein code für die datenbank:

Delphi-Quellcode:
ar
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
query1.append;
dbedit1.setFocus;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
query1.post;
end;


procedure TForm1.AdvGlowButton1Click(Sender: TObject);
begin
query1.delete;
vrblinkled1.ColorIndex:=1;
label11.caption:='Datensatz wurde gelöscht';

end;

procedure TForm1.AdvGlowButton2Click(Sender: TObject);
begin
query1.first;
end;

procedure TForm1.AdvGlowButton3Click(Sender: TObject);
begin
query1.next;
end;

procedure TForm1.Query1BeforeDelete(DataSet: TDataSet);
begin
if (MessageBox(0, 'Datensatz wirklich löschen!', 'Löschen', MB_ICONQUESTION or
    MB_YESNO or MB_DEFBUTTON2) = idNO) then
  begin
    Abort;
  end;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = VK_ESCAPE then Close;
end;

procedure TForm1.AdvGlowButton4Click(Sender: TObject);
begin
query1.append;
vrblinkled1.ColorIndex:=3;
label11.caption:='Online';

end;

procedure TForm1.AdvGlowButton5Click(Sender: TObject);
begin
query1.post;
vrblinkled1.ColorIndex:=4;
label11.caption:='Daten gespeichert';
end;

procedure TForm1.AdvGlowButton6Click(Sender: TObject);
begin
query1.last;
end;

procedure TForm1.AdvGlowButton7Click(Sender: TObject);
begin
query1.prior;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//   ohne Titelleiste
SetWindowLong(Handle,GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not WS_CAPTION);
//ClientHeight:= Height;
//WindowState := wsMaximized;
vrblinkled1.EnableBlinking:=true;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
label11.Caption := 'Offline';
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    begin
      Key := #0;
  if GetKeyState(VK_Shift) and $8000 <> 0 
    then PostMessage(Handle, WM_NextDlgCtl, 1, 0)
    else PostMessage(Handle, WM_NextDlgCtl, 0, 0)
  end;
end;

end.

und meine Spaltennamen in der Tabelle sin Z1,Z2,Z3,Z4,Z5 und Z6

ich weiß nicht wie ich das jetzt anstellen soll ?
mfg vder


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 Uhr.
Seite 1 von 2  1 2      

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