Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Random und if Abfrage (https://www.delphipraxis.net/14208-random-und-if-abfrage.html)

citybreaker 4. Jan 2004 19:05


Random und if Abfrage
 
Hallo,

Ich habe eine ListBox. Aus dieser soll durchzufall ein Item in einm Label angezeigt werden.
Soweit habe ich das auch. Alerdings soll jenachdem was in dem Label steht etwas passieren.
Hoffe ich habe mir klar genung ausgedrückt.

Delphi-Quellcode:
procedure TForm1.TButton1.Click(Sender: TObject);
var zufall: integer;
begin
  randomize;
  zufall := random(ListBox1.Items.Count) + 1;
  Label1.Caption := IntToStr(Zufall);
end;
Wie kann ich nun das nun überprüfen?

sakura 4. Jan 2004 19:07

Re: Raondom und if Abfrage
 
Wie wäre es mit

Delphi-Quellcode:
if Label1.Caption = '1' then
  // do 1
else if Label1.Caption = '2' then
  // do 2
else if Label1.Caption = '3' then
  // do 3
else if Label1.Caption = '4' then
  // do 4
else
  // do else
...:cat:...

citybreaker 4. Jan 2004 20:18

Re: Raondom und if Abfrage
 
Naja, da unmengen von Items zur Laufzeit hinzugefügt werden können
vielleicht net grade die beste Idee, oder?

sakura 4. Jan 2004 20:19

Re: Raondom und if Abfrage
 
Zitat:

Zitat von citybreaker
Hoffe ich habe mir klar genung ausgedrückt.

Dann musst Du Dich etwas klarer ausdrücken ;-)

...:cat:...

DennyC 4. Jan 2004 20:52

Re: Raondom und if Abfrage
 
Zitat:

Zitat von citybreaker
Naja, da unmengen von Items zur Laufzeit hinzugefügt werden können
vielleicht net grade die beste Idee, oder?

Aber allem Anschein nach soll doch bei jedem Item was anderes passieren, oder nicht? Dann wirst Du um so eine Struktur wohl nicht rumkommen.

Denny

citybreaker 5. Jan 2004 07:39

Re: Raondom und if Abfrage
 
Zitat:

Zitat von DennyC
Zitat:

Zitat von citybreaker
Naja, da unmengen von Items zur Laufzeit hinzugefügt werden können
vielleicht net grade die beste Idee, oder?

Aber allem Anschein nach soll doch bei jedem Item was anderes passieren, oder nicht? Dann wirst Du um so eine Struktur wohl nicht rumkommen.

Denny

Ja bei jedem Item soll was anderes Passieren. Aber ich kann nicht im voraus
planen wieviele Items später zur Laufzeit angelegt werden.

sakura 5. Jan 2004 08:24

Re: Raondom und if Abfrage
 
Zitat:

Zitat von citybreaker
Ja bei jedem Item soll was anderes Passieren. Aber ich kann nicht im voraus
planen wieviele Items später zur Laufzeit angelegt werden.

Dann kannst Du es auch nicht programmieren ;-)

...:cat:...

citybreaker 5. Jan 2004 08:28

Re: Raondom und if Abfrage
 
Das ja ein mist. :cry:

sakura 5. Jan 2004 08:34

Re: Raondom und if Abfrage
 
Hast Du denn eine Art Regel, was bei welchem Item passieren soll, wovon die Aktion abhängig ist, etc.?

...:cat:...

citybreaker 5. Jan 2004 08:39

Re: Raondom und if Abfrage
 
Öhm gewisser weise schon. Habe ne Ini File.

[Frage1]
Frage=
Antwort1=
Antwort2=
Antwort3=
Antwort4=


Man kann fragen in die Ini hinzufügen. Die Ini Sections werden
dann in der ListBox aufgelistet und in einem label eine Zufalls
Frage angezeigt. Ich glaub das wars. :gruebel:

sakura 5. Jan 2004 08:50

Re: Raondom und if Abfrage
 
Und nun sagst Du uns noch genau, wie Du die Dinge lädst und was passieren soll, wenn der User auf einen Eintrag in der Listbox klickt und wir nähern uns der Lösung :bouncing4:

...:cat:...

citybreaker 5. Jan 2004 09:04

Re: Raondom und if Abfrage
 
Fragen in ListBox Laden
Delphi-Quellcode:
procedure TMainFrm.FormShow(Sender: TObject);
begin
  // Fragen auflisten
  Ini := TIniFile.Create('C:\fragen.ini');
   Ini.ReadSections(ListBox.Items);
  Ini.Free;
end;

procedure TForm1.Button1.Click(Sender: TObject);
var zufall: integer;
begin
  // Zufalls Frage Nummer 1
  randomize;
  zufall := random(ListBox.Items.Count) + 1;
end;

So unter dem zufall := random .... folgt dann mein Problem.

--- Edit ---
Die ListBox ist übrigens unsichtbar damit man sich die Fragen
nicht aussucht. ;)

DennyC 5. Jan 2004 11:30

Re: Raondom und if Abfrage
 
Zitat:

Zitat von citybreaker
So unter dem zufall := random .... folgt dann mein Problem.

Unter diesen Umständen ist das natürlich überhaupt kein Problem. Du nimmst einfach den Index des zufällig gewählten Items der Listbox, bildest daraus den String 'Frage'+IntToStr(ItemIndex) und liest gleichnamige Section aus der INI aus. So gibt es also nur ein paar Zeilen Code für sämtliche Bedingungen.

Denny

citybreaker 5. Jan 2004 12:36

Re: Random und if Abfrage
 
Wie nehm ich den Index des zufällig gewählten Items?
Immoment ist Bahnhof angesagt. :oops:

--- Edit ---

Habs jetzt geschaft, alerdings auf einer anderen Art und Weise.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 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