| Autor |
Beitrag |
bocky3
      
Beiträge: 45
|
Verfasst: 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.
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..7] of 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 raziel: Topic aus Datenbanken verschoben am So 04.09.2005 um 20:13Moderiert von Klabautermann: Topic aus Sonstiges verschoben am Mo 05.09.2005 um 11:37
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: So 04.09.05 20:04
Und was ist jetzt deine Frage?
Versuche doch mal zu formulieren, was du eigentlich wissen willst.
btw: Was hat das mit Datenbanken zu tun?
|
|
bocky3 
      
Beiträge: 45
|
Verfasst: So 04.09.05 20:53
ich war mir nich so wirlich sicher ob es zu datenbanken gehört.
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
      
Beiträge: 777
(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
|
Verfasst: 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
      
Beiträge: 82
Win7 (64bit), WinXP
Delphi 2010 Prof, Delphi XE2 (Trial)
|
Verfasst: So 04.09.05 21:14
Amateur 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... |
jasocul hat folgendes geschrieben: | | btw: Was hat das mit Datenbanken zu tun? |
....  ....
irgendwie blick ich da auch nicht wirklich durch
....  ....
|
|
bocky3 
      
Beiträge: 45
|
Verfasst: 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
      
Beiträge: 777
(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
|
Verfasst: 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 
      
Beiträge: 45
|
Verfasst: So 04.09.05 21:57
dann sagt doch einfach was ihr nich versteht.
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: So 04.09.05 22:07
bocky3 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 
      
Beiträge: 45
|
Verfasst: 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  )
thx erstmal
Zuletzt bearbeitet von bocky3 am So 04.09.05 22:12, insgesamt 1-mal bearbeitet
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: So 04.09.05 22:10
bocky3 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 
      
Beiträge: 45
|
Verfasst: So 04.09.05 22:14
sry war grad dabei den beitrag zu ändern...
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: 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 
      
Beiträge: 45
|
Verfasst: 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
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: 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 
      
Beiträge: 45
|
Verfasst: 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
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: 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
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: 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:
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
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: 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
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Mo 05.09.05 11:37
Hi,
jasocul 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
|
|