Autor Beitrag
alexschultze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 317



BeitragVerfasst: Di 03.12.02 15:03 
hi ho!


ihr kennt sicherlich alle die normale Random Funktion, der ein Randomize vorangeht.

Wie kann man nun aber Zufallsbuchstaben generieren?
Als spontane Idee käme mir, eine Zufallszahl zw. 1-26 , zu generieren und diese mit chr(Zahl) oder ähnlichem umzuwandeln.

Gibt es da noch andere Methoden oder wäre das die eine
?
;)
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Di 03.12.02 15:08 
Tja, der Aufwand, denn du leistest, um diese Frage zu stellen, ist sicherlich höher als der, diese Frage zu beantworten.

Ich hätte es genauso gemacht. Solange du nicht irgendwie eine bestimmte Häufigkeit für bestimmte Buchstaben benötigst, ist das doch schon fast trivial, nicht? :wink:

Cu,
Udontknow
alexschultze Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 317



BeitragVerfasst: Di 03.12.02 15:35 
argh argh


also, ich habe probiert:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Button1Click(Sender: TObject);
var
buchst, a:integer;
wort:string;
begin
wort:='';
for a:=0 to 10 do begin
randomize;
buchst:=random(26);

 wort:=wort+char(buchst);


end;
edit1.Text:=wort;
end;

da kommt nur

DaFox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 189



BeitragVerfasst: Di 03.12.02 15:57 
Hi!

Ist auch ganz logisch.

Zitat:

Die Funktion Chr gibt das Zeichen mit einem bestimmten ASCII-Wert zurück.


Wenn Du Dir nun mal die ASCII-Tabelle anschaust (z.B. www.asciitable.com), siehst Du, dass Buchstaben nicht bei 0 anfangen, sondern bei 65. Das was Du mit deinem Code gemacht hast war Sonderzeichen generieren...

Die procedure sollte also so aussehen:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject); 
var
  buchst, a: integer;
  wort: string;
begin
  wort:='';
  randomize;
  for a := 0 to 10 do
  begin
    buchst := random(26) + 65;
    wort := wort + char(buchst);
  end;
  edit1.Text := wort;
end;


Gruß,
Markus