Autor |
Beitrag |
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: 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?
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Nini 
      
Beiträge: 170
Erhaltene Danke: 12
|
Verfasst: Sa 28.03.15 18:13
ok, dann also so:
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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: 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.  Da schaust du mal bitte rein und liest dir durch, was es zu Mengen und Mengenoperatoren (also z.B. "in") zu wissen gibt.  Dann kannst du dich mal an einem Codevorschlag zum Auslesen der Checkboxen versuchen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Sa 28.03.15 19:49
Narses hat folgendes geschrieben : | 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
|
Verfasst: Mo 30.03.15 19:59
_________________ Linux 3.20 wäre ja langweilig...
|
|
Nini 
      
Beiträge: 170
Erhaltene Danke: 12
|
Verfasst: 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 
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 30.03.15 20:44
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Nini 
      
Beiträge: 170
Erhaltene Danke: 12
|
Verfasst: 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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 30.03.15 21:11
Moin!
Nini hat folgendes geschrieben : | 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?
Nini hat folgendes geschrieben : | 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  (und wenn ich raten sollte  dir auch nicht  oder?  )
Nini hat folgendes geschrieben : | 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?
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Nini 
      
Beiträge: 170
Erhaltene Danke: 12
|
Verfasst: 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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 30.03.15 22:00
Moin!
Nini hat folgendes geschrieben : | 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.
Nini hat folgendes geschrieben : | Dann muss ich die menge also vorher erst noch löschen damit die leer ist |
Genau!  "Löschen" kann man eine Menge durch Zuweisung der leeren Menge:
Delphi-Quelltext
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Nini 
      
Beiträge: 170
Erhaltene Danke: 12
|
Verfasst: Mo 30.03.15 22:10
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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 30.03.15 22:17
Moin!
Wo sind denn die if-Abfragen?
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Nini 
      
Beiträge: 170
Erhaltene Danke: 12
|
Verfasst: Mo 30.03.15 22:31
ok, die muss ich also noch drumrum bauen, hab ich vergessen
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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: 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?
Und hier noch die Syntax, um ein Element einer Menge hinzuzufügen:
Delphi-Quelltext 1:
| MengenVariable := MengenVariable +[3]; |
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 
      
Beiträge: 170
Erhaltene Danke: 12
|
Verfasst: Mo 30.03.15 22:48
ja, das hab ich schon gemacht
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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 30.03.15 22:58
Moin!
Nini hat folgendes geschrieben : | ja, das hab ich schon gemacht |
Nini hat folgendes geschrieben : | das sollte ja so jetzt glaube ich stimmen |
Was möchtest du denn mit dem "else;" bewirken?  Im else-Fall machst du doch nix (";" = leere Anweisung).  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:
Delphi-Quelltext
Wenn du das versuchst zu kompilieren, wird es vermutlich eine Fehlermeldung geben.  Warum?  Weil du dem Compiler noch nicht gesagt hast, dass du von Form1 aus auf Form2 zugreifen möchtest.  Also musst du noch die Verwendung in Form1 anmelden:
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
      
Beiträge: 16
Erhaltene Danke: 2
|
Verfasst: 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 
      
Beiträge: 170
Erhaltene Danke: 12
|
Verfasst: Di 31.03.15 15:47
Dundi hat folgendes geschrieben : | 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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 31.03.15 16:22
Moin!
Nini hat folgendes geschrieben : | ja das find ich auch voll nett danke sehr c: |
Nini hat folgendes geschrieben : | 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?  )
Wenn der Dialog geschlossen wurde, müssen wir jetzt die Regel-Mengen aktualisieren. Also kommt der Code hinter das Form2.ShowModal;.  Mach mal einen Vorschlag, wie´s da weiter geht.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|