AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Succ(TMyType) Scheint ein falsches ergebniss zu geben.
Thema durchsuchen
Ansicht
Themen-Optionen

Succ(TMyType) Scheint ein falsches ergebniss zu geben.

Ein Thema von BenjaminH · begonnen am 4. Nov 2005 · letzter Beitrag vom 8. Nov 2005
Antwort Antwort
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#1

Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 4. Nov 2005, 21:07
Hallo
Ich habe einen eigenen Typen deklariert:
Delphi-Quellcode:
type
TReiz=(RWeg=0, KaroMit1=18,HerzMit1=20,PikMit1=22,RNull=23,Kreuzmit1=24, KaroMit2=27,HerzMit2=30,PikMit2=33,NullHand=35,KreuzMit2=36, KaroMit3=36,HerzMit3=40,PikMit3=44,NullOuvert=46,KreuzMit3=48, KaroMit4=45,HerzMit4=50,PikMit4=55,NullOuvertHand=59,KreuzMit4=60);
Ich will jetzt einfach mit
Delphi-Quellcode:
Var Reiz:TReiz;
...
Reiz:=RWeg;
Reiz:=Succ(Reiz);
die Nächste Reizung erhalten
Imho müsste da KaroMit1 raus kommen, tut es aber nicht! Ich erhalte da jedes mal 1 und auch bei anderen werten erhalte ich Odd(Reiz)+1 was mir gar nicht passt..
Entdeckt jemand, was falsch ist, oder wie ich das ändern kann?
Vielen Dank!!
Schönes Wochenende!
Benjamin
Benjamin
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 4. Nov 2005, 21:16
Hast du mal Inc probiert ?

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 4. Nov 2005, 21:23
Ja, gerade eben auf deinen Anreiz hin..
Bringt leider nix hat genau dasselbe Ergebnis
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#4

Re: Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 4. Nov 2005, 21:27
Succ erhöht auch nur den Wert um 1. Aber warum so kompliziert. Würde bei keiner Aufzählung feste Werte vergeben. Lass ihn doch ruhig in einer Schritten hochzählen. Falls du die festgelegten Werte als Konstanten brauchst, dann bastel dir ein Konstantes Array:

Delphi-Quellcode:
type
TReiz=(RWeg=0, KaroMit1=18,HerzMit1=20,PikMit1=22,RNull=23,Kreuzmit1=24, KaroMit2=27,HerzMit2=30,PikMit2=33,NullHand=35,KreuzMit2=36, KaroMit3=36,HerzMit3=40,PikMit3=44,NullOuvert=46,KreuzMit3=48, KaroMit4=45,HerzMit4=50,PikMit4=55,NullOuvertHand=59,KreuzMit4=60);
const
  Werte: Array[TReiz] of Integer = (0,18,20,22,23,24,27,30,33,35,36,36,40,44,46,48,45,50,55,59,60);
Dann kannst ganz einfach per Werte[RWeg] darauf zugreifen

P.S: Warum gibt es 2 mal die 36?
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.145 Beiträge
 
Delphi 12 Athens
 
#5

Re: Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 4. Nov 2005, 21:30
Inc erhöht erst Recht nur um 1 -.-''

Es kann sein, daß succ nicht mit solchen predefinierten Sets zurecht kommt?

Notfalls halt sowas versuchen
Delphi-Quellcode:
Repeat
  Reiz := Succ(Reiz);
Until not (Reiz in TReiz);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 4. Nov 2005, 21:44
@jim_raynor ich glaube deine Lösung zu verstehen, ich glaub dafür müsste ich im Programm zuviel verändern..
Mal sehen[Edit]Ich nehme diese Lösung Danke[/Edit][Edit=2]Mh, dadurch wird das sogar einfacher^^[/Edit]
Zitat von jim_raynor:
P.S: Warum gibt es 2 mal die 36?
Da hat mich auch gewundert, scheint aber zu stimmen:
Beim SKat wird gereizt.. Das richtet sich danach wieviele Buben man hat und welche Farbe man spielen möchte, mit den Buben wird die Mitoder die Ohne Zahl berechnet, zur Mit/Oder Zahl wird 1 dazu gezählt, das nennt man dann Spiel.
Und Spiel wird dann mit der gewünschten Farbe multipliziert(Karo=9,Herz=10,Pik=11,Kreuz=12) und wenn man mit 2 Spiel 3 hat und Kreuz spielen will, dann ergibt sich eben 3*12.
Wenn man aber Mit 3 Spiel 4 und Karo Spielen will, dann ergibt sich 4*9 also auch 36...
Scheint zu stimmen...
@himitsu: Ja an sowas hab ich auch schon gedacht.. aber das wäre nur Notlösung...
Danke euch beiden
Benjamin
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#7

Re: Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 5. Nov 2005, 00:42
Statt die Werte direkt in den Aufzählungstyp zu quetschen könnte man es doch auch so machen:
Delphi-Quellcode:
type
  TReiz = (
    RWeg, KaroMit1, HerzMit1, PikMit1,
    RNull, Kreuzmit1, KaroMit2, HerzMit2,
    PikMit2, NullHand, KreuzMit2, KaroMit3,
    HerzMit3, PikMit3, NullOuvert, KreuzMit3,
    KaroMit4, HerzMit4, PikMit4, NullOuvertHand,
    KreuzMit4);

const
  ReizWerte: array [TReiz] of Byte = (
    0, 18, 20, 22,
    23, 24, 27, 30,
    33, 35, 36, 36,
    40, 44, 46, 48,
    45, 50, 55, 59,
    60);
So ist beides schön sauber getrennt, die Werte bekommt man dann ganz einfach mit "ReizWerte[KaroMit1]" usw.
Succ und Inc auf eine TReiz Variable sollten damit wie erwartet funktionieren.

Edit: Sorry, das hat jim_raynor ja schon geschrieben. Habe ich irgendwie überlesen, vielleicht weil in seinem TReiz auch noch die ganzen Werte drinstehen. Oder weil schon so spät ist.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.145 Beiträge
 
Delphi 12 Athens
 
#8

Re: Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 5. Nov 2005, 00:54
Manchmal ist es aber erwünscht, daß die Wert direkt definiert sind.

z.B. um später mal etwas reinzuquetschen und dennoch den Code zu früheren Versionen kompatiebel zu machen ^^
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#9

Re: Succ(TMyType) Scheint ein falsches ergebniss zu geben.

  Alt 8. Nov 2005, 12:29
Zitat von SMO:
Edit: Sorry, das hat jim_raynor ja schon geschrieben. Habe ich irgendwie überlesen, vielleicht weil in seinem TReiz auch noch die ganzen Werte drinstehen. Oder weil schon so spät ist.
oh. Das die werte dort noch drin stehen, war eigentlich garnicht geplant. Aber wenn es funktioniert ...
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz