Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Radnom - Funktion + .visible:= true (https://www.delphipraxis.net/93184-radnom-funktion-visible-%3D-true.html)

Benetti 1. Jun 2007 22:49


Radnom - Funktion + .visible:= true
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo erstmal,
Ich muss bis zum 07.06.2007 (Donnerstag)
meien Belegarbeit für das Fach Informatik fetrig bekommen.
Als Thema wählte ich "Chemie - Im Überblick".
Das Programm steht soweit, bis auf meinen letzten Punkt.
Ich wollte als letzten Menü - Punkt einen
Test erstellen , wobei dem Nutzer aus 36 Fragen
12 verschiedene gestellt werden.

Das folgende Bild soll nur ein Beispiel dienen.
Es sind im echten Programm "6" Frageblöcke,
hier sind es "4".

Nun das eigentliche Problem.
Es sind 4 Panels zu sehen, jedoch sind es
12. Jeweils 3 Panels übereinadner , sowie
3 Labels und 3 Checkbuttons übereinadner liegen.

Der Button "Generieren" soll bewirken,
dass vom jeden Block 2 Panels mit den dazu
gehörigen labels und Checkbuttons auf
".visible:=false" gestzt werden.
Zum Schluss soll nur eine der drei Fragen angezeigt werden
".visible:=true".
Dies soll über die "Random - Funktion" geschehen, sodass
bei jedem erneuten Klick auf den Button "generieren"
eine andere Frage aus den jeweilgen Block angezeigt wird.

>>>>>>>

Ich bitte um schnellstmögliche Problemlösung (:

Mit freundlichen Grüßen
Benetti

[edit=Matze]Grafik im Anhang untergebracht. Imageshack ist derart langsam und Modemuser freut die direkte Einbindung sowieso nicht, außerdem entstehen zukünftig so unschöne Platzhalter, wenn es den Link einmal nicht mehr gibt. Bitte hänge solche Dateien daher zukünftig über die Attachment-Funktion an den Beitrag an. Mfg, Matze[/edit]

bitsetter 2. Jun 2007 00:10

Re: Radnom - Funktion + .visible:= true
 
Hi,

sollen pro Block zufällig 2 TPanel versteckt werden oder soll nur einmal für alle Blöcke eine Ebene ausgewählt werden?

EDIT: Der Fragesteller ist gerade wieder offline, falls von jeden Block zufällig einer ausgewählt werden soll hier mein Lösungsvorschlag:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  Bloecke = 4;
var
  MyPanel: Array [1..Bloecke, 0..2] of TPanel;
  x, y: integer;
begin
  MyPanel[1][0]:= Panel1;//Block 1
  MyPanel[1][1]:= Panel2;
  MyPanel[1][2]:= Panel3;

  MyPanel[2][0]:= Panel4;//Block 2
  MyPanel[2][1]:= Panel5;
  MyPanel[2][2]:= Panel6;

  MyPanel[3][0]:= Panel7;//Block 3
  MyPanel[3][1]:= Panel8;
  MyPanel[3][2]:= Panel9;

  MyPanel[4][0]:= Panel10;//Block 4
  MyPanel[4][1]:= Panel11;
  MyPanel[4][2]:= Panel12;

  for x := 1 to Bloecke do//reset
    for y := 0 to 2 do
      MyPanel[x][y].Visible:= false;

  for x := 1 to Bloecke do
    MyPanel[x][Random(3)].Visible:= true;
end;

Benetti 2. Jun 2007 02:23

Re: Radnom - Funktion + .visible:= true
 
Er zeigt mir einen Fehler an , welcher sich auf

>>

MyPanel[0][0]:= Panel1

<<

bezieht.
-.-

bitsetter 2. Jun 2007 06:56

Re: Radnom - Funktion + .visible:= true
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wie lautet denn der Fehler, sind die Namen der TPanel auch richtig.
Namen wie Panel1, Panel2 usw vergibt man normalerweise auch nicht.

Sicherheitshalber habe ich noch eine Demo angehängt.

Benetti 2. Jun 2007 10:47

Re: Radnom - Funktion + .visible:= true
 
(: Okay habe mir deine Demo nochmals angeschaut .. und es versucht auf meine
Vorlage zu übernehmen , nach einigen abwandlungen ging es dann auch bei mir.

Ein Danke Schön von meienr Seite aus (:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz