Autor Beitrag
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Sa 28.03.15 18:06 
Moin!

Du hast doch auch in dem von mir zitierten Stück Code nicht "=" genommen, warum sollte das jetzt anders sein? :gruebel: :zwinker:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Nini Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 170
Erhaltene Danke: 12



BeitragVerfasst: Sa 28.03.15 18:13 
ok, dann also so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
if Feld[x, y] then
         FeldNeu[x, y] := (AnzahlLebenderNachbarn(x, y) in ueberleben)
      else
         FeldNeu[x, y] := (AnzahlLebenderNachbarn(x, y) in geburt);
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Sa 28.03.15 18:34 
Moin!

Jup. :) Und, funktioniert´s? ;)

Der nächste Schritt wird natürlich sein, diese Regel-Mengen mit dem Zustand der Checkboxen zu "befüllen". Ich gehe doch mal stark davon aus, dass Lazarus eine Online-Hilfe hat. :lupe: Da schaust du mal bitte rein und liest dir durch, was es zu Mengen und Mengenoperatoren (also z.B. "in") zu wissen gibt. :les: Dann kannst du dich mal an einem Codevorschlag zum Auslesen der Checkboxen versuchen. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 28.03.15 19:49 
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Ich gehe doch mal stark davon aus, dass Lazarus eine Online-Hilfe hat.
Schon, aber die ist fast durchgehend API/Klassen-Dokumentation, die Sprache muss man so können.

Du kannst aber die Delphi-Hilfe nehmen: Mengentypen, Mengenoperatoren.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."

Für diesen Beitrag haben gedankt: Narses, Nini
Happy_Penguin
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 30.03.15 19:59 
user profile iconHappy_Penguin hat folgendes geschrieben Zum zitierten Posting springen:
Okay das geht natürlich auch :-)

Ich möchte nur noch anmerken, dass auch 0 Nachbarn möglich sind und auch das vom Nutzer einstellbar sein sollte...
Also am Besten TNachbarn entsprechend anpassen
ausblenden Delphi-Quelltext
1:
TNachbarn := 0..8;					


Moderiert von user profile iconNarses: Beiträge zusammengefasst

Hallo,

also am Besten wäre es vielleicht wirklich, dass mit dem Boolean-Arrays zu lösen, da kommt man nämlich mit dem Schulwissen aus :-;

_________________
Linux 3.20 wäre ja langweilig...
Nini Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 170
Erhaltene Danke: 12



BeitragVerfasst: Mo 30.03.15 20:40 
ich hab mir die beiden artikel komplett durchgelesen und auch eeeewig drüber nachgedacht, aber irgendwie hab ich gar keine ahnung wie ich das anstellen muss :( :cry:
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 30.03.15 20:44 
Moin!

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
ich hab mir die beiden artikel komplett durchgelesen und auch eeeewig drüber nachgedacht,
:zustimm:

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
aber irgendwie hab ich gar keine ahnung wie ich das anstellen muss :( :cry:
Na, dann wollen wir das mal ändern. ;)

Was wäre denn konzeptionell zu tun (also jetzt mal unabhängig von irgendwelchem Code)? Beschreib´s mit Worten. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Nini Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 170
Erhaltene Danke: 12



BeitragVerfasst: Mo 30.03.15 21:04 
Also als erstes muss ich die ckeckboxen auslesen ob soe angeklickt sind oder nicht, dann würde ich wenn angekliclt den wert wahr zuweisen und dann muss wenn wahr das iwie in die menge gespeichert werden
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 30.03.15 21:11 
Moin!

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
als erstes muss ich die ckeckboxen auslesen ob soe angeklickt sind oder nicht,
Jup. Bei den Shapes haben wir das doch auch irgendwie gemacht, wie ging das denn da? :lupe: :les:

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
dann würde ich wenn angekliclt den wert wahr zuweisen
Hm :? also das würde ich jetzt mal weglassen, da mir nicht ganz klar ist, was das bewirken soll :gruebel: (und wenn ich raten sollte 8) dir auch nicht :lol: oder? :zwinker:)

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
und dann muss wenn wahr das iwie in die menge gespeichert werden
Genau, dann muss was in die Menge rein. Das schauen wir uns dann an, wenn es soweit ist. Vielleicht noch ein Gedanke: bevor wir anfangen irgendwas in eine Menge zu tun, was ist denn, wenn da schon was drin steht? :suspect: :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Nini Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 170
Erhaltene Danke: 12



BeitragVerfasst: Mo 30.03.15 21:21 
Geht das auslesen nicht mit ck0geburt.checked oder so?

Dann muss ich die menge also vorher erst noch löschen damit die leer ist
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 30.03.15 22:00 
Moin!

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
Geht das auslesen nicht mit ck0geburt.checked oder so?
Jup, so geht´s auch. ;) Dann brauchst du zwar für jede Checkbox eine if-Abfrage, aber funktionieren tu´s schon. :nixweiss:

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
Dann muss ich die menge also vorher erst noch löschen damit die leer ist
Genau! :idea: "Löschen" kann man eine Menge durch Zuweisung der leeren Menge:
ausblenden Delphi-Quelltext
1:
MengenVariable := []; // [] ist die leere Menge					

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Nini Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 170
Erhaltene Danke: 12



BeitragVerfasst: Mo 30.03.15 22:10 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
geburt := [];
    ueberleben := [];
    ckgeburt0.Checked;
    ckgeburt1.Checked;
    ckgeburt2.Checked;
    ckgeburt3.Checked;
    ckgeburt4.Checked;
    ckgeburt5.Checked;
    ckgeburt6.Checked;
    ckgeburt7.Checked;
    ckgeburt8.Checked;

dann hab ich das jetzt so weit und dann halt nochmal für die andern checkboxen, aber weiter weiß ich nicht mehr
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 30.03.15 22:17 
Moin!

Wo sind denn die if-Abfragen? :lupe: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Nini Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 170
Erhaltene Danke: 12



BeitragVerfasst: Mo 30.03.15 22:31 
ok, die muss ich also noch drumrum bauen, hab ich vergessen

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
 
    if ckgeburt0.Checked then
        else;
    if ckgeburt1.Checked then
       else;
    if ckgeburt2.Checked then
       else;


und so weiter
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 30.03.15 22:40 
Moin!

Gut, da du bereits eine Checkbox für 0 Nachbarn vorgesehen hast: hast du dann auch die Deklaration von TNachbarn entsprechend angepasst? :lupe:

Und hier noch die Syntax, um ein Element einer Menge hinzuzufügen:
ausblenden Delphi-Quelltext
1:
MengenVariable := MengenVariable +[3]; // fügt das Element 3 der Menge hinzu					

Dann solltest du jetzt den Code vervollständigen können (zumindest den Block, der sich um das Abfragen kümmert; wir müssen uns ja noch was für die Fenster-Verwaltung einfallen lassen).

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Nini Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 170
Erhaltene Danke: 12



BeitragVerfasst: Mo 30.03.15 22:48 
ja, das hab ich schon gemacht

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
    if ckgeburt0.Checked then geburt := geburt + [0]
       else;
    if ckgeburt1.Checked then geburt := geburt + [1]
       else;                               
    if ckgeburt2.Checked then geburt := geburt + [2]
       else;
    if ckgeburt3.Checked then geburt := geburt + [3]
       else;


das sollte ja so jetzt glaube ich stimmen
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 30.03.15 22:58 
Moin!

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
ja, das hab ich schon gemacht
:zustimm:

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
das sollte ja so jetzt glaube ich stimmen
Was möchtest du denn mit dem "else;" bewirken? :gruebel: Im else-Fall machst du doch nix (";" = leere Anweisung). :nixweiss: Kannst du also weglassen (oder hinter das else einen Befehl schreiben :?).

Gut, kommen wir zur Einbindung in das Projekt. Du brauchst einen neuen Button auf dem Hauptformular (kannst du ja hinter der Automatik-Checkbox anlegen). Den könnte man "btnRegeln" oder so nennen. ;) Doppelklick drauf machen und dann in den Handler schreiben:
ausblenden Delphi-Quelltext
1:
Form2.ShowModal; // unterstellt, dass das zweite Formular so heißt					

Wenn du das versuchst zu kompilieren, wird es vermutlich eine Fehlermeldung geben. :shock: Warum? :lupe: Weil du dem Compiler noch nicht gesagt hast, dass du von Form1 aus auf Form2 zugreifen möchtest. :think: Also musst du noch die Verwendung in Form1 anmelden:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
...
implementation

uses
  Unit2;

...

Jetzt sollte sich das kompilieren lassen. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Dundi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 16
Erhaltene Danke: 2



BeitragVerfasst: Di 31.03.15 04:33 
Hallo Narses,
ein Lob an dich ,ich finde es Klasse wie du Nini bei ihrer Hausaufgabe förderst, Hut ab.

Mfg
Dundi
Nini Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 170
Erhaltene Danke: 12



BeitragVerfasst: Di 31.03.15 15:47 
user profile iconDundi hat folgendes geschrieben Zum zitierten Posting springen:
Hallo Narses,
ein Lob an dich ,ich finde es Klasse wie du Nini bei ihrer Hausaufgabe förderst, Hut ab.

ja das find ich auch voll nett :) danke sehr c:

ja, ich hab jetzt alles so gemacht und es lässt sich kompilieren das programm und mit dem btnRegeln öffne ich dann auch das zweite fenster wenns programm läuft :)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 31.03.15 16:22 
Moin!

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
ja das find ich auch voll nett :) danke sehr c:
:beer:

user profile iconNini hat folgendes geschrieben Zum zitierten Posting springen:
mit dem btnRegeln öffne ich dann auch das zweite fenster wenns programm läuft :)
Fein. ;) Dann müssen wir noch einen Button auf dem Regel-Formular anlegen, mit dem man diesen Dialog wieder schließen kann (das solltest du mittlerweile alleine hinkriegen, oder? :zustimm:)

Wenn der Dialog geschlossen wurde, müssen wir jetzt die Regel-Mengen aktualisieren. Also kommt der Code hinter das Form2.ShowModal;. :idea: Mach mal einen Vorschlag, wie´s da weiter geht. :les:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.