Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Array of string mit randomize.. (https://www.delphipraxis.net/15191-array-string-mit-randomize.html)

hacker 23. Jan 2004 16:44


Array of string mit randomize..
 
Tach!

Kann mir jemand sagen wie ich ein array of string mit randomize gebrauchen kann und in einem Label ausgeben?????

Danke!


Gruss Häcki :hi:

axelf98 23. Jan 2004 16:49

Re: Array of string mit randomize..
 
Delphi-Quellcode:
 randomize;

..

Label1.caption := MeinArray[random(length(MeinArray))];

hacker 23. Jan 2004 17:18

Re: Array of string mit randomize..
 
Danke für den Tipp!!jetzt klappts....


Gruss Häcki :hi:

hacker 23. Jan 2004 17:26

Re: Array of string mit randomize..
 
Jetzt habe ich doch noch ne Frage...
Wie kann man machen dass ein String nicht zweimal nacheinander kommt?


Gruss Häcki :hi:

cyberkiller0072001 23. Jan 2004 17:32

Re: Array of string mit randomize..
 
Du erstellst einen Record:
Delphi-Quellcode:
        datentyp = record;
            text: string;
            schongehabt: boolean;
       end;
Dann machst du ein array od Datentyp. Du gibst den text nur aus, wenn schongehabt false ist.
(Beim Ausgeben wird es natürlich auf true gesetzt)

hacker 23. Jan 2004 17:36

Re: Array of string mit randomize..
 
Gut danke nochmals!!!!


Gruss Häcki :hi:

SirThornberry 23. Jan 2004 17:44

Re: Array of string mit randomize..
 
folgender Source ist ungetestet sollte aber gehen
Delphi-Quellcode:
var numarray: Array of Integer;
    zufallszahl, count: Integer;
    nichtvergeben: Boolean;
begin
  zufallszahl := random(length(MeinArray)); //zufallszahl erzugen
  setlength(numarray, length(numarray) + 1); //array in dem zufallszahlen gespeichert werden erweitern
  numarray[length(numarray)-1] := zufallszahl; //erzeugte zufallszahl sichern
  Label1.caption := MeinArray[zufallszahl];

  repeat
    nichtvergeben := True;
    zufallszahl := random(length(MeinArray)); //zufallszahl erzeugen
    for count := 0 to length(numarray) - 1 do //array der bisherigen zufallszahlen durchlaufen
      if numarray[count] = zufallszahl then   //wenn zufallszahl bereits in verwendeten zufallszahlen vorhanden
        nichtvergeben := false; //nichtvergeben auf false setzen
  until nichtvergeben; //schleife läuft so lange bis eine zufallszahl erzeugt wurde dies noch nicht gibt
  setlength(numarray, length(numarray) + 1); //array der bisherigen zufallszahlen erweitern
  numarray[length(numarray)-1] := zufallszahl; //erzeugte zufallszahl speichern
  Label2.caption := MeinArray[zufallszahl]; //zufallsstring zuweisen


  repeat
    nichtvergeben := True;
    zufallszahl := random(length(MeinArray)); //zufallszahl erzeugen
    for count := 0 to length(numarray) - 1 do //array der bisherigen zufallszahlen durchlaufen
      if numarray[count] = zufallszahl then   //wenn zufallszahl bereits in verwendeten zufallszahlen vorhanden
        nichtvergeben := false; //nichtvergeben auf false setzen
  until nichtvergeben; //schleife läuft so lange bis eine zufallszahl erzeugt wurde dies noch nicht gibt
  setlength(numarray, length(numarray) + 1); //array der bisherigen zufallszahlen erweitern
  numarray[length(numarray)-1] := zufallszahl; //erzeugte zufallszahl speichern
  Label3.caption := MeinArray[zufallszahl]; //zufallsstring zuweisen
  [...]

end;
[Edit]schließendes Delphi-Tag vergessen[/Edit]
[Edit2]Getestet und fehler beseitigt - funktioniert somit 100%[/Edit2]


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

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