Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Buchstaben per Zufall verteilen (https://www.delphipraxis.net/19171-buchstaben-per-zufall-verteilen.html)

Mitternachtsfalke 30. Mär 2004 14:14


Buchstaben per Zufall verteilen
 
Hi
Ich will eine Prozedur schreiben, die ein Wort mit 9 Buchstaben
zerlegt, und die Buchstaben per Zufall auf 9 Panels verteilt.
Dabei soll aber immer 1 bestimmter Buchstabe in ein bestimmtes
Panel kommen.

Die Prozedur sähe so aus:

Code:
procedure split(s: string; i: integer);
begin
  panel1.caption := s[i];
  :
  :
und sie restlichen Buchstaben werden zufällig auf die
restlichen Panels verteilt.

Ein Aufruf sollte später so aussehen:
Code:
split(GRUNDLAGE,4);
Hierbei käme das "N" in das Panel 1 und die anderen Buchstaben in die
anderen Panels.

Wie soll ich das denn mit der "zufälligen Verteilung" der restlichen
Buchstaben machen??? :?: :?: :?:

Gruß
Mitternachtsfalke

neolithos 30. Mär 2004 14:30

Re: Buchstaben per Zufall verteilen
 
Als ich würde das so machen

Zufällig einen Buchstaben raussuchen -> auf erstes Panel
Diesen Buchstaben löschen
Zufällig einen Buchstaben aus der Restmenge raussuchen -> auf zweites Panel
Diesen Buchstaben löschen
...

himitsu 30. Mär 2004 14:34

Re: Buchstaben per Zufall verteilen
 
1: Grundlage soll doch hier (in diesem Beispiel) wohl ein String sein.
Code:
split([color=red]'[/color]GRUNDLAGE[color=red]'[/color], 4);
So schwer ist das doch nicht, zeichen einem Panel zuweisen, dieses löschen und dann so weiter ;)

Delphi-Quellcode:
Procedure split(s: String; i: Integer);
  Var k: Integer;

  Begin
    Randomize; // diese Zeile eventuell in das OnCreate-Ereignis verschieben
    For k := 1 to 9 do Begin
      TPanel(Form1.FindComponent('Panel' + IntToStr(k))).Caption := s[i];
      Delete(s, i, 1);
      i := Random(Length(s)) + 1;
    End;
  End;
[EDIT]
Och menno :cry:


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