Delphi Frage

08/26/2011 17:54 sLay.#1
Hey e'pvp,
da ich in Coding noch total neu bin (seit 2 Tagen erst rum probiert) ,
und wir in der Schule (10.Klasse) mit Delphi angefangen haben und ich momentan an etwas rum probiere aber nicht weiß wie ich's hinbekommen soll frag ich hier mal.

Also es geht um folgendes:
Ich habe Checkbox1 bis Checkbox 9.
Außerdem noch ein Memo & ein Label.
Sobald nur noch Checkbox 6 sichtbar ist , memo1 oder label1 einblenden lassen.

Ich weiß nicht wie ich das hinbekommen soll , dass wenn nur noch Checkbox6 sichtbar ist und alle anderen also (1,2,3,4,5,7,8,9) auf checkbox.hide sind , etwas eingeblendet wird. Also zB. das Memo1 sobald nur noch Checkbox6 sichtbar ist auf memo1.visible:=true wird.

Wäre schön wenn mir jemand helfen kann :* :)

mfg, sLay.
08/26/2011 23:06 __EL#2
Ich kann zwar kein Delphi, aber ich nehme an du braucht so etwas in der Art:

Code:
if(checkbox1.hide == true && checkbox2.hide == true && checkbox2.hide == true && ....... && checkbox9.hide == true) {
    memo1.hide = false;
    label1.hide = false;
}
else {
    memo1.hide = true;
    label1.hide = true;
}
08/27/2011 15:13 sLay.#3
Danke für die Antwort , ja ich nehme auch an das es ähnlich aussehen muss,
jedoch bekomm ich's nicht hin.

Freue mich über weitere Antworten !

edit:
Weil wenn ich mit if parameter beginne , erwartet er danach eine variable von mir die entweder true bzw. false ist.
Und ich weiß auch nicht wie ich eine Variable mit diesen Bedingungen definieren kann.
08/27/2011 15:22 HardCore.1337#4
Code:
if checkbox1.visible = true and checkbox2.visible = true ... and checkbox9.visible = true then
begin
  Memo1.Visible := true;
  Label1.Visible := true
else
  Memo1.Visible := false;
  Label1.Visible := false;
end;
Hab den Code jetzt nur von __EL übersetzt, da ich deine Frage nicht richtig verstehe
08/27/2011 16:30 sLay.#5
Danke genau so hab ich's mir gedacht.
Nur leider hat er ein Problem mit dem else :x
PHP Code:
procedure TForm1.Button1Click(SenderTObject);
begin
      
if checkbox1.visible false and checkbox2.visible false and checkbox3.visible false and checkbox4.visible false and checkbox5.Visible false and checkbox6.visible true and checkbox7.visible false and checkbox8.visible false and checkbox9.visible false then
begin
  label1
.visible := false;
  
Label2.caption := 'Du hast es gelöst!'
else
  
Label2.caption := 'Du bist fail';
end
[Only registered and activated users can see links. Click Here To Register...]

egal zu welcher Zeit man auf den Button drückt kommt immer das das Rätsel gelöst wurde.
08/27/2011 16:56 GotDamned#6
Du fragst: checkbox1.visible ab.
Du fragst also, ob die sichtbar ist!
Du musst fragen, ob die markiert wurde.

Also: if checkbox1.checked = false and checkbox2.checked = false...

Bin mir nicht sicher, ob es in Delphi das so gibt mit den .checked, falls nicht solltest du ja wohl das Äquivalent dazu finden :)

Hoffe ich konnte helfen
08/27/2011 17:00 sLay.#7
Die Boxen verschwinden ja nachdem sie checked sind , ich will ja nicht das "das Rätsel gelöst" ist wenn alle Boxen checked sind , sondern wenn nur noch checkbox6 visible ist.

edit:
Selbst wenn ich checked nehme reicht ein klick auf den Button und trzd. steht das Rätsel wurde gelöst.
08/27/2011 17:02 GotDamned#8
aso, dann hab ich das falsch verstanden.

Wo fragst du das denn ab?
Ich nehme an, bei dem Klick in die Checkbox setzt du Checkbox.Visible auf false, oder?
08/27/2011 17:04 sLay.#9
Ja tu ich. Oben ist der Source

Also:
Ich möchte das 9 Checkboxen zu beginn sichtbar sind , und von klick zu klick veschwinden einige etc.
und zum Schluss wenn man alles richtig macht bleibt nur noch checkbox6 sichtbar
Also so eine Art "Spiel" , und wenn nur noch 6 da ist , dann soll man auf den Button klicken und dann soll da stehen Du hast das Rätsel gelöst.
08/27/2011 17:06 GotDamned#10
Was ganz triviales, muss es nicht heißen if checkbox1.visible == false ?
So ist es zmd in C#

ich suche nochmal weiter

edit: sonst seh ich da so nichts.
da ich mich in Delphi nicht auskenne würde ich sonst nur raten
08/27/2011 17:06 KnusperToast#11
aha kannste eben nochmal genau sagen, was du programmieren willst? Ich habs nicht ganz verstanden..

Quote:
Originally Posted by GotDamned View Post
Was ganz triviales, muss es nicht heißen if checkbox1.visible == false ?
So ist es zmd in C#

ich suche nochmal weiter
ne pascal ist anders, aber von der struktur mit c identisch (fast).
08/27/2011 17:13 GotDamned#12
hier gehts aber um delphi, oder ist das das gleiche?
Ich meine da ist nen Unterschied.

edit: Delphi ist eine Version von pascal, oder?
08/27/2011 17:14 sLay.#13
Also

Man sieht 9 Checkboxen. Sobald man eine anklickt verschwinden andere Checkboxen , Ziel ist es das man zum Schluss nur noch eine Checkbox hat (In meinem Fall Checkbox6)
Sobald nur noch Checkbox6 sichtbar ist , klickt man auf den Button " Ich hab's gelöst ! "
Und dann ändert sich das Label zu "Du hast das Rätsel gelöst".

Quote:
Pascal ist der Name eine Programmiersprache, also einer Sprachdefinition, die dann in realen Produkten (bzw. Compilern verwendet werden kann).

Delphi ist der Name einer Pruduktreihe der Firma Borland. Dahinter verbirgt sich eine komplette Entwicklungsumgebung, die als Programmiersprache Object-Pascal verwendet, einen Pascal-Dialekt.
08/27/2011 17:17 GotDamned#14
Ja, hab ich gerade auch gelesen.
Das == wird da also nicht benötigt?
Wenn nicht, dann fällt mir da leider so auch nichts mehr ein.
08/27/2011 17:26 KnusperToast#15
leider habe ich die schullizens von früher verschlammt ;) und keine lust meinen pc von ner anderen patition zu starten wo delphi ist... daher hab ich es nicht getestet würde es aber so machen :




Code:
// Click erstmal auf deine Checkbox in der Form. Dann erstellt sich ja die //Checkbox im Text. Darunter Dann:

if checkBox1.Checked then
  begin
   checkbox2.visible := true;
   checkbox2.visible := false;
  end
und Delphi ist ein Programm was mit der Programmiersprache Pascal arbeitet.


Pascal und C++ , etc sind andere Sprachen. Euch kommt es bekannt vor, weil der Aufbau ähnlich ist.
If-then-else , schleifen, etc das Prinzip ist immer das Gleiche. Nur wie man es hinschreibt.. das ist der Unterschied.