Autor Beitrag
Stread
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 188

Win 7
Delphi XE
BeitragVerfasst: So 22.02.09 16:46 
Hi
Ich möchte gerne ein Programm schreiben welches 5 per Checkbox angeklickte Zahlen und 5 Random Zahlen vergleicht.

Für die Checkboxen habe ich bisjetzt das
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm12.Button3Click(Sender: TObject);
var checked: array [0..11of Integer;
  i: Integer;
begin
for i := 0 to 11 do
checked[i]:=0;
if Checkbox1.Checked=true then
begin
checked[0]:=1;
end;
if Checkbox2.Checked=true then
begin
checked[1]:=2;
end;

Das geht bis checked[11] weiter.

Und für die 5 Random Zahlen das hier

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm12.Button4Click(Sender: TObject);
var randomzahl: array [0..4of Integer;
begin
  randomize;
  randomzahl[0]:=random(5)+1;
  randomzahl[1]:=random(5)+1;

Und hier geht es bis randomzahl[4] weiter.

Wie kann ich nun vergleichen welche Zahlen richtig waren und wie kann ich die richtigen Zahlen in ein Edit Feld eintragen?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 22.02.09 17:11 
Du machst es dir viel zu schwer...

Statt zu fragen was du an dem eigentlich viel einfacheren Quelltext aus dem vorigen Thread nicht verstehst, machst du dir lieber das Leben schwer und schreibst viel mehr Code als nötig.

Und das Thema, dass
ausblenden Delphi-Quelltext
1:
if Checkbox1.Checked=true then					
falsch ist, hatten wir glaube ich auch schon, oder?
Mehr dazu steht hier:
www.delphi-treff.de/...olean-werten/page/4/
Stread Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 188

Win 7
Delphi XE
BeitragVerfasst: So 22.02.09 18:33 
Super. Dank deiner Hilfe bin ich schon viel weiter.
Bei meinem anderem Thread hast du ja selbst gesagt dass ich es nicht verstehe obwohl ich es solange probiert habe. Und da man mir nicht den Quelltext geben wollte probiere ich es jetzt halt auf dieses andere weise in der Hoffnung das man mir bei dem hier hilft.
Ich dachte dieser Ansatz ist einfacher. Wenn wir mal den einen Anfängerfehler weglassen, ist das so falsch?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 22.02.09 19:00 
Naja, falsch ist das abgesehen von dem "=true" nicht gerade, aber du musst so für jede CheckBox den selben Code schreiben. Das macht es eben sehr aufwendig und unübersichtlich.

user profile iconStread hat folgendes geschrieben Zum zitierten Posting springen:
Bei meinem anderem Thread hast du ja selbst gesagt dass ich es nicht verstehe obwohl ich es solange probiert habe.
Ja, du hast aber auch nicht gefragt was etwas macht. Ich weiß ja nicht, was du daran nicht verstanden hast, wie soll ich es dann erklären?
Ich hatte ja geschrieben: Frag was du nicht verstehst...

Jedenfalls musst du danach das Array durchgehen und vergleichen, ob das andere Array an der Stelle auch ein Häkchen hatte. Bei jeder Fundstelle erhöhst du die Anzahl, am Ende hast du dann die Anzahl der Übereinstimmungen.
Stread Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 188

Win 7
Delphi XE
BeitragVerfasst: So 22.02.09 19:10 
Ich kann ja schlecht jede Zeile fragen. Am besten wäre es gewesen wenn einer mir den richtigen Quelltext zu dem anderen Thread gegeben hätte und nicht immer nur gesagt was ich machen soll oder nur ein Beispeil und ich absolut keine Ahnung habe wie denn.
Und da ich noch ein Anfänger bin ist das "du musst nur die Arrays vergleichen" ja genau das Problem. Ich habe keine Ahnung wie man das macht.
Chemiker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 194
Erhaltene Danke: 14

XP, Vista 32 Bit, Vista 64 Bit, Win 7 64 Bit
D7, BDS 2006, RAD Studio 2009+C++, Delphi XE2, XE3, VS 2010 Prof.
BeitragVerfasst: So 22.02.09 19:19 
Hallo Stread,

Crossposts: forum.delphi-treff.d...?p=187116#post187116

Bis bald Chemiker
Stread Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 188

Win 7
Delphi XE
BeitragVerfasst: So 22.02.09 19:30 
Danke Chemiker :zustimm: Wäre mir ohne dich garnicht aufgefallen :zwinker:
Ich dachte dass mir wenigstens irgendwo geholfen wird aber ihr mögt mich anscheinend alle nicht :|
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 22.02.09 19:35 
user profile iconStread hat folgendes geschrieben Zum zitierten Posting springen:
Ich kann ja schlecht jede Zeile fragen.
Doch, was du daran nicht verstehst. Und so viele Zeilen waren das ja auch nicht.

user profile iconStread hat folgendes geschrieben Zum zitierten Posting springen:
Und da ich noch ein Anfänger bin ist das "du musst nur die Arrays vergleichen" ja genau das Problem. Ich habe keine Ahnung wie man das macht.
Indem du jeden Eintrag vergleichst:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
  IdenticalEntries: Integer;
begin
  IdenticalEntries := 0
  for i := 0 to High(Array1) do
    if Array1[i] = Array2[i] then
      Inc(IdenticalEntries);
Mit der for-Schleife gehst du jeden Eintrag durch. Wenn der Eintrag in beiden Arrays übereinstimmt, dann erhöhst du die Variable IdenticalEntries. Am Ende steht dann in dieser Variablen die Anzahl der identischen Einträge.

Was user profile iconChemiker meinte:
Es ist nicht gerade höflich, wenn man Crossposts nicht angibt. Schließlich könnte es sein, dass man sich Mühe macht das selbe zu schreiben, was in einem anderen Forum schon jemand geschrieben hat.
Wenn man dort nachschauen kann, weil man die Posts untereinander verlinkt, dann ist das zwar auch nicht gern gesehen, aber in Ordnung.
// EDIT:
Und darum ist den anderer Post jetzt auch geschlossen, in dem Forum ist das nämlich in den Regeln verboten, Crossposts nicht anzugeben.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 08.03.09 20:30 
Ich dachte eigentlich, dass du dich noch einmal melden würdest. Ich hatte auch eine Lösung gebastelt. Die hänge ich jetzt einmal an, ich habe gerade wieder an den Thread gedacht.
Einloggen, um Attachments anzusehen!
Stread Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 188

Win 7
Delphi XE
BeitragVerfasst: So 08.03.09 20:57 
Hey danke das du noch daran gedacht hast. :zustimm: Da ich leider nicht soviel Zeit hatte habe ich es mit vielen if Abfragen gemacht und habe es dann dabei gelassen. Ich zeig das lieber nicht. :wink:

Ich habe es mir kurz angeschaut und muss sagen: Top Danke, aus dem Programm werde ich noch viel lernen können.