Autor Beitrag
bocky3
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 04.09.05 13:40 
hi allerseits.
ich hab nen record und nen array. mit hilfe des arrayssoll der record nen durheinander gewürfelt werden.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
type Tklasse = record  drache : string[20];
                  mensch : string[20];
                  untoter : string[20];
                  zwerg : string[20];
                  daemon : string[20];
                  elf : string[20];
                  ork : string[20];
               end;

var
  Form1: TForm1;
  k: Array[1..7of Integer;
  x : integer;
  klasse : Tklasse;

...

procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
for i := 1 to max do
  begin
  klasse.drache := (edit1.text);
  end;

procedure TForm1.Button2Click(Sender: TObject);
var z,j :integer;
label jump;
begin
randomize;
for x := 1 to 7 do
   begin
    jump:
    z:=random(7)+1;
    for j:=1 to x-1 do if z = k[j] then goto jump;
    k[x]:=z;
   end;
for x := 1 to max do
  begin
  edit2.text := (klasse.drache);
  listbox1.items.add(IntToStr(k[x]));
  end;


wie ihr seht hab ich nen record mit 7 kategorien und nen zufalsgenerator, der die zahlen von 1 bis 7 erzeugt und sicherstellt diese nicht doppelt auszugeben.
in der listbox werden diese zahlen angezeigt.
drache wird aus edit1.text gelesen (nur als beispiel, ist beliebig fortzusetzen). bei den übrigen klasse will ich das auch so machen, sodass zum schluss alles in der listbox durcheinander steht.

mfg bocky

Moderiert von user profile iconraziel: Topic aus Datenbanken verschoben am So 04.09.2005 um 20:13
Moderiert von user profile iconKlabautermann: Topic aus Sonstiges verschoben am Mo 05.09.2005 um 11:37
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 04.09.05 20:04 
Und was ist jetzt deine Frage? :gruebel:
Versuche doch mal zu formulieren, was du eigentlich wissen willst.
btw: Was hat das mit Datenbanken zu tun?
bocky3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 04.09.05 20:53 
ich war mir nich so wirlich sicher ob es zu datenbanken gehört. :oops:

mich würde es interessieren ob man die unterkategorien des records "sortieren bzw untereinander vermischen" kann und ob das mit einer simplen würfelprozedur möglich ist.
bsp.:
klasse.drache
klasse.mensch
klasse.untoter
klasse.elf

soll zu

klasse.untoter
klasse.drache
klasse.elf
klasse.mensch

werden

die einzelnen klassen sollen ihren wert noch von dem jeweiligen editfenstern bekommen.

es ist ähnich als wenn man einen kartenstapel hat die 4 farben trennt und dann mischt.
Amateur
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 777

(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
BeitragVerfasst: So 04.09.05 21:08 
nur ma so: was soll das überhaupt bringen? die werte bleiben gleich und die typen auch... irgendwie versteh ich dein problem überhaupt net...

_________________
"Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700
adfontes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 82

Win7 (64bit), WinXP
Delphi 2010 Prof, Delphi XE2 (Trial)
BeitragVerfasst: So 04.09.05 21:14 
user profile iconAmateur hat folgendes geschrieben:
nur ma so: was soll das überhaupt bringen? die werte bleiben gleich und die typen auch... irgendwie versteh ich dein problem überhaupt net...

user profile iconjasocul hat folgendes geschrieben:
btw: Was hat das mit Datenbanken zu tun?



.... :gruebel: :gruebel: ....
irgendwie blick ich da auch nicht wirklich durch
.... :gruebel: :gruebel: ....
bocky3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 04.09.05 21:16 
genauso kann ich fragen was zahlensortien bringt oder erst zufallsszahlen zu würfeln.
oder was bringt es karten zu mischen? was das bringt ist eine andere reihenfolge. das ist e s was zählt.
wenn ihr ne andere idee anstelle eines records habt immer zu. bedingung ist nur das klassenweise ordnen. record ist da gut geeignet. und darum hab ich es damit versucht.
Amateur
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 777

(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
BeitragVerfasst: So 04.09.05 21:28 
versteh ich immernoch net.... tut mir wirklich leid.... ich blick net durch was du machen willst aber wenn es das is was ich denke dann dürfte es net so schwer sein.... aber wirklich blicken tu ich das alles net..

naja viell hat ja jemand anders nen geistesblitz

_________________
"Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700
bocky3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 04.09.05 21:57 
dann sagt doch einfach was ihr nich versteht.
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 04.09.05 22:07 
user profile iconbocky3 hat folgendes geschrieben:

klasse.drache
klasse.mensch
klasse.untoter
klasse.elf

soll zu

klasse.untoter
klasse.drache
klasse.elf
klasse.mensch

werden

Die Definition eines records kannst du zur Laufzeit nicht ändern.
bocky3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 04.09.05 22:09 
hm
also ist es nicht möglich einen record so umzugestalten?
gibt es denn ne ähnliche variante wie ein record, aber wo ich das eben kann?
(immerhin versteht mich zumindest einer :D )
thx erstmal


Zuletzt bearbeitet von bocky3 am So 04.09.05 22:12, insgesamt 1-mal bearbeitet
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 04.09.05 22:10 
user profile iconbocky3 hat folgendes geschrieben:
ich will ihn ja nich neu definieren, nur etwas umsortieren

Wenn du es umsortieren könntest, hättest du ihn neu definiert. Die Definition bleibt fix. Man kann weder die Felder umbenennen noch umsortieren.
bocky3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 04.09.05 22:14 
sry war grad dabei den beitrag zu ändern...
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 04.09.05 22:14 
Du kannst jedoch die Inhalte umsortieren, falls das reicht...

Wenn du ein assoziatives Array wie in PHP willst, musst du's selbst programmieren oder indirekt über TStringList (o.ä) arbeiten.
bocky3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 04.09.05 22:18 
das mit den inhalten is mir scho klar; die sollen aber später eventuell fixiert werden.
und wie kann ich so ein array machen? kenn mich mit php fast nich aus. :?
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 04.09.05 22:23 
Wieso musst du die Reihenfolge der Felder umsortieren können? Kann dir doch ziemlich egal sein, in welcher Reihenfolge die Strings gespeichert sind.
Vor dem Sortieren sprichst du das Feld "Mensch" mit .Mensch an, und nach dem Umsortieren ebenfalls. Wo bleibt da der Sinn?
bocky3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 04.09.05 22:31 
bube bleibt auch bube egal ob er nach ner dame oder nach ner 5 blatt kommt. verstehst du?
bei nem kartenspiel zählt die reihenfolge nich unbedingt der wert. das mit mensch, ork und co is mir nur so eingefallen.^^
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 04.09.05 22:44 
... Speichere doch die Reihenfolge separat ab; bastle dir selbst eine Klasse, die das kann. Delphi hat keine solche Funktionalität eingebaut.

Wenn du eine konkrete Anwendung schildern würdest, könnte ich dir auch genau sagen, wie du es am gescheitesten Anstellen könntest.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 05.09.05 02:26 
Hallo,

ich muss gestehen, ich habe den Sinn auch noch nicht wirklich verstanden, aber reicht es dir nicht einfach ein Record of Record zu erzeugen? Also so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
type 
  tWesen = record
    Name : string[8];
    Wert : string[20];
  end;

  Tklasse = record  
    Wesen1 : tWesen;
    Wesen2 : tWesen;
    Wesen3 : tWesen;
    Wesen4 : tWesen;
    Wesen5 : tWesen;
    Wesen6 : tWesen;
    Wesen7 : tWesen;
  end;


Dann hast du die Bezeichnung mit in den Daten und kannst sie bequem mit sortieren.

Gruß
Klabautermann
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mo 05.09.05 08:36 
Es würde relativ einfach mit einem Array of record gehen.
dabei würdest du Klassen im Array speichern. Also erstes element ist "Drache", zweites ist "Elf" u.s.w.
Ein Array zu "würfeln" ist dann kein Problem mehr.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 05.09.05 11:37 
Hi,
user profile iconjasocul hat folgendes geschrieben:
Es würde relativ einfach mit einem Array of record gehen.

ja, bei der Klassen struktur ist das natürlich noch einfacher.

Gruß
Klabautermann