![]() |
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 |
Re: Lotto mit Delphi ... (hilfe)
herzlich willkommen bei dp!
stell bitte konkrete fragen oder benutze die suche! mfg |
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
|
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 |
Re: Lotto mit Delphi ... (hilfe)
Zitat:
Delphi-Quellcode:
das hab ich schon ...Ps: die einfache Lösung die du gemeint hasz dürfen wir nicht machen weil sie zu einfach ist...
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. [edit=r_kerber]Delphi-Tags eingefügt. Das nächste mal bitte selbst setzen! Mfg, r_kerber[/edit] |
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] |
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; |
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: ) |
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:
Wobei counter der Zähler ist, der die Anzahl der bereits angekreuzten Zahlen beinhaltet.
procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
begin if (sender as TCheckListbox).Checked[(sender as TCheckListbox).ItemIndex] then inc(counter) else dec(counter); end; Grüße Klaus |
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