Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zufällige Begrüßung (https://www.delphipraxis.net/7255-zufaellige-begruessung.html)

Uncle Cracker 7. Aug 2003 10:48


Zufällige Begrüßung
 
Wie kann ich das anstellen?

Also bei jedem Start soll eine andere zufällige begrüßung kommen.

Zum Beispiel: 'Hallo';'Guten Morgen';'Guten Tag';usw.

Es soll aber Zeit unabhängig Begrüßung wild durch einander ausgegeben werden.

ISt bestimmt über Random möglich, hab's aber irgenwie nicht hingekriegt.

Vielleicht kann mir jemand helfen?


:love: Danke UC

CalganX 7. Aug 2003 10:54

Re: Zufällige Begrüßung
 
Wie wäre es mit einem Array?

Den Rest solltest du hinbekommen (von wegen DeinArray[ DeineRandomZahl ] ;)).

Chris

Pseudemys Nelsoni 7. Aug 2003 11:50

Re: Zufällige Begrüßung
 
wäre es untereinander in einer stringlist oder so hätt ich Random(0, die menge der einträge)

negaH 7. Aug 2003 11:52

Re: Zufällige Begrüßung
 
Beim Anwendungsstart muß aber dann Randomize aufgerufen werden, damit nicht jedesmal die gleiche Begrüßung zum Start kommt.

Gruß Hagen

Uncle Cracker 7. Aug 2003 11:57

Re: Zufällige Begrüßung
 
Und wie wäre eurer Meinung nach der Code dazu?

Jan 7. Aug 2003 12:08

Re: Zufällige Begrüßung
 
Und wie wäre eurer Meinung nach der Code dazu? <- hmm.. warum fragst du nicht gleich nach nem fertigen Programm?
Soviel sollte man mal versuchen selber hinzubekommen, die Delphi-Hilfe wird dir dabei mit Sicherheit behilflich sein. Einfach mal nach Array, oder Stringlist suchen (wie es dir gefällt) und dann noch nach random, das sollte dir soviel Informationen liefern, dass du damit selber zurechtkommst.
Gruß
Jan

Dannyboy 7. Aug 2003 12:08

Re: Zufällige Begrüßung
 
Delphi-Quellcode:
Function RandomText : String;
CONST max = 10;
VAR
    MyText : Array[0..max-1] of String;
    Number : Byte;
begin
  randomize;
// hier muss das Array mit Sprüchen gefüllt werden, das kriegst 'de hin.
// 
// 
//   
// Und nun wird ein zufälliger Spruch dem Result übergeben
  Number:= Random(max); // Intervall zwischen 0 und max-1 !
  Result:= MyText[Number];
end;
Das ist nur eine von vielen Möglichkeiten. Kannst das auch mit
einem TMemo-Objekt machen. 8)

ssach 7. Aug 2003 12:10

Re: Zufällige Begrüßung
 
hy,

also eine andere lösung wäre mit einer TListBox wo du in jede Zeile eine Begrüssung reinschreibst! natürlich stelst du die Eigenschaft visible auf false!

zuerst musst du randomize bei deiner Form in den Event ONCreate schreiben,und dann die Begrüssung:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
S : string;
begin
   randomize; //nicht jedesmal die gleiche Begrüssung

   //eigentlicher code
   S := lbTexte.Items[random(lbTexte.Items.Count - 1)];
end;
in diesem beispiel ist lbTexte die Listbox in der deine Begrüssungen gespeichert sind, und in S hast du jetz deine Begrüssung stehen und kannst damit mach was du willst!

hoffe konnte dir helfen

cu

ssach 7. Aug 2003 12:13

Re: Zufällige Begrüßung
 
Sorry, es hat sich ein FEhler im Code eingeschlichen, den richtigen wert fur S bekommst du mit

Delphi-Quellcode:
S := lbTexte.Items[random(lbTexte.Items.Count)];
die - 1 war zuviel!

cu

Jan 7. Aug 2003 12:13

Re: Zufällige Begrüßung
 
Und wieder wurde der Lerneffekt vernichtet und sogar falsches beigebracht. tztztz....


Delphi-Quellcode:
randomize;
kommt in das Form.create, denn es sollte nur einmal beim beginn der application ausgeführt werden, sonst bekommt man keine Zufallszahlen.
weiterhin empfihlt es sich, nicht so wie da den array erst in der function zu füllen, sondern man sollte ihn direkt mit den fertigen Werten initialisieren.

Soviel von mir.
Gruß
Jan

*edit by jan*--mein Comment bezieht sich auf den von Dannyboy--*/edit*


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr.
Seite 1 von 2  1 2      

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