Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Lotto mit Delphi ... (hilfe) (https://www.delphipraxis.net/92490-lotto-mit-delphi-hilfe.html)

erpel 21. Mai 2007 08:21


Lotto mit Delphi ... (hilfe)
 
Hallo erstmal,

ich bin Schüler und soll mit Delphi 6 ein Lottospiel ausarbeiten. Ich habe mir dazu einen Plan gemacht und wollte diesen auch realisieren aber ich scheitere an der ersten "Hürde":
ich habe eine checklistBox und in dieser sind 49 zahlen zum ankreuzen. Jetzt suche ich den Quelltext dafür wie ich nur 6 Zahlen ankreuzen kann und diese dannn speichere um sie dann mit 6 zufälliggezogen Zahlen( welche in einem StringGrid zufällig ausgegeben werden)zu vergleichen.
Bitte helft mir +

PS: ich bitte auch darum nicht bloß Quelltext zu schreiben sondern diesen auch zu erklären, da ich das ganze auch verstehen will.

Danke

ibp 21. Mai 2007 08:25

Re: Lotto mit Delphi ... (hilfe)
 
herzlich willkommen bei dp!

stell bitte konkrete fragen oder benutze die suche!

mfg

erpel 21. Mai 2007 08:28

Re: Lotto mit Delphi ... (hilfe)
 
also ich habe eine check listbox und dort sind 49 zahlen drinn ich möchte 6 davon ankreuzen und diese mit 6 zufällig ermittelten zahlen (welche in einem Stringgrid stehn) vergleichen... später auch auswerten

Klaus01 21. Mai 2007 08:32

Re: Lotto mit Delphi ... (hilfe)
 
Warum machst Du es so kompliziert.
Lass den User doch 6 Zahlen eingeben und ferig ist es.

So mußt Du wenn eine checkbox angeklickt (auf checked) gesetzt wurde einen
Zähler erhöhen. Wenn die checkbox noch einmal angklickt wurde (not checked) den Zähler
wieder um eins erniedrigen.

Wie bekommst Du heraus welche Zahlen angeklickt wurden.
Sind die Checkboxen in einem Array definiert?

Zeige einmal was Du schon hast.

Grüße
Klaus

erpel 21. Mai 2007 08:35

Re: Lotto mit Delphi ... (hilfe)
 
Zitat:

Zitat von Klaus01
Warum machst Du es so kompliziert.
Lass den User doch 6 Zahlen eingeben und ferig ist es.

So mußt Du wenn eine checkbox angeklickt (auf checked) gesetzt wurde einen
Zähler erhöhen. Wenn die checkbox noch einmal angklickt wurde (not checked) den Zähler
wieder um eins erniedrigen.

Wie bekommst Du heraus welche Zahlen angeklickt wurden.
Sind die Checkboxen in einem Array definiert?

Zeige einmal was Du schon hast.

Grüße
Klaus

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, jpeg, ExtCtrls, CheckLst, Grids;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    CheckListBox1: TCheckListBox;
    Bziehn: TButton;
    Button2: TButton;
    Bneu: TButton;
    ausgabe: TStringGrid;
    auswertung: TEdit;
    Label2: TLabel;
    StringGrid1: TStringGrid;
    Label3: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure BziehnClick(Sender: TObject);
    procedure BneuClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

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

procedure TForm1.BziehnClick(Sender: TObject);
begin


end;

procedure TForm1.BneuClick(Sender: TObject);
var
 ausgabe.cells[0,0]:=' ';
ausgabe.cells[1,0]:=' ';
ausgabe.cells[2,0]:=' ';
ausgabe.cells[3,0]:=' ';
ausgabe.cells[4,0]:=' ';
ausgabe.cells[5,0]:=' ';
auswertung.Clear;
begin

end;


procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;

end;

end.
das hab ich schon ...Ps: die einfache Lösung die du gemeint hasz dürfen wir nicht machen weil sie zu einfach ist...

[edit=r_kerber]Delphi-Tags eingefügt. Das nächste mal bitte selbst setzen! Mfg, r_kerber[/edit]

erpel 21. Mai 2007 08:49

Re: Lotto mit Delphi ... (hilfe)
 
so hab jetzt das erste prob geklöst ... unit Unit1;

Delphi-Quellcode:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, jpeg, ExtCtrls, CheckLst, Grids;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    CheckListBox1: TCheckListBox;
    Bziehn: TButton;
    Button2: TButton;
    Bneu: TButton;
    ausgabe: TStringGrid;
    auswertung: TEdit;
    Label2: TLabel;
    StringGrid1: TStringGrid;
    Label3: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure BneuClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

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

procedure TForm1.BneuClick(Sender: TObject);
 var i : integer;
begin
ausgabe.cells[0,0]:=' ';
ausgabe.cells[1,0]:=' ';
ausgabe.cells[2,0]:=' ';
ausgabe.cells[3,0]:=' ';
ausgabe.cells[4,0]:=' ';
ausgabe.cells[5,0]:=' ';
auswertung.Clear;

for i:=0 to 47 do checklistbox1.Checked[i]:=false;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;

end;

end.

jetzt noch der vergleich

[edit=r_kerber]Delphi-Tags eingefügt! Mfg, r_kerber[/edit]

chrisw 21. Mai 2007 08:52

Re: Lotto mit Delphi ... (hilfe)
 
Hallo, hier ein Lösungsansatz:


Delphi-Quellcode:
var i,z : Integer;
begin
  with CheckListBox1 do
  for i := 0 to Count -1 do if Checked then //Schreibe in Array oder so;
  //hier könnte man auch erst zählen ob auch 6 Zahlen angekreuzt sind
  // Bsp .
  z := 0;
  for i := 0 to Count -1 do if Checked then inc(z);
  if z < 6 then ShowMessage('Sie haben erst ' + IntToStr(z) + ' Zahlen angekreuzt');
  if z = 6 then //....
  if z > 6 then Showmessage('Sie haben zuviele Zahlen angekreuzt ');

end;

Tormentor32 21. Mai 2007 08:52

Re: Lotto mit Delphi ... (hilfe)
 
Kannst du bitte die [delphi][ /delphi] Tags benutzen? (Ohne Leerzeichen) Dann kann man deinen Code viel besser lesen.

Edit: Das war an Erpel gerichtet nicht an Chrisw :stupid: (Ich bin so lahm heute, das gibts garnicht :mrgreen: )

Klaus01 21. Mai 2007 08:57

Re: Lotto mit Delphi ... (hilfe)
 
So, da Du mit einer CheckListbox arbeiten darfst...

Wenn Du im ObjectInspector der Checklistbox die Rubrik events/Ereignisse
aufmachst findest Du dort das Event onClickCheck.
Diese Event wird ausglöst wenn ein Item Deiner CheckListbox angeklickt wird.

Hier ein kleine Starthilfe was du in dem event eintragen könntest.

Delphi-Quellcode:
procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
begin
  if (sender as TCheckListbox).Checked[(sender as TCheckListbox).ItemIndex] then
    inc(counter)
  else
    dec(counter);
end;
Wobei counter der Zähler ist, der die Anzahl der bereits angekreuzten Zahlen beinhaltet.

Grüße
Klaus

DP-Maintenance 21. Mai 2007 09:12

DP-Maintenance
 
Dieses Thema wurde von "r_kerber" von "Projekte" nach "Sonstige Fragen zu Delphi" verschoben.
Das soll ja kein gemeinsames Projekt werden sondern ist eine \\"Hausaufgabenanfrage\\". Deshalb verschiebe ich mal zu \\"Sonstige Frage zu Delphi\\"!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz