AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Function vereinfachen, bei vielen if abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Function vereinfachen, bei vielen if abfragen

Ein Thema von Hallo_Thomas · begonnen am 12. Jul 2005 · letzter Beitrag vom 13. Jul 2005
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 07:10
War case nicht auf 256 Fälle beschränkt?
Peter
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#12

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 07:27
Kann ich in der OH keinen Hinweis drauf entdecken, aber selbst wenn, dann setzt er halt 6 case-Anweisungen nacheinander. Ist immer noch übersichtlicher/kürzer als 1500 if-then-Abfragen
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 07:36
Habe gerade nochmal nachgesehen. Es muss lediglich ein Ordinaltyp sein (Integer geht z.B. auch).
Die Info mit den 256 Fällen ist vermutlich noch aus Turbo-Pascal-Zeiten. Sorry. (Ja, ja. Das Alter)
Peter
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#14

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 07:41
Aus performance-Gründen würde ich aber noch 1500 else mehr schreiben:
Delphi-Quellcode:
if z=0 then
  Result := ...
else if z=1 then
  Result := ...
else if ...
Das macht bei 1500 Abfragen schon was aus. Ansonsten: Ohne Systematik is das wohl nicht einfacher zu machen...

mfg

Christian

//Edit: Da sich das mit den 256 Fällen ja erledigt hat is Case die bessere Lösung, sollte eigentlich auch etwas schneller sein.
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 07:43
Sicher, dass die Performance besser ist? Ich war bisher der Meinung, dass "Case" genau so arbeitet.
Peter
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#16

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 07:47
Zitat von Jasocul:
Sicher, dass die Performance besser ist? Ich war bisher der Meinung, dass "Case" genau so arbeitet.
IMHO geht Case die Werte in ner Schleife durch(warum sollte dann auch sonst ein Ordinaltyp vorausgesetzt werden?). Case is dann wahrscheinlich in der Hinsicht irgendwie optimiert. Ansonsten wär das mit den Ordinaltyp ja Blödsinn.

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#17

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 07:54
Ich hab mal nachgesehen,

bei einer Case Anweisung mit lediglich 9 [0..8] aufeinanderfolgenden Werten wird bereits eine Sprungtabelle angelegt. Das heist es wird quasi berechnet an welche Stelle das Programm verzweigt.

Effizienter geht das nicht mehr.

das das in einer Schleife abgearbeitet wird oder in eine "if then else" orgie aufgedröselt wird stimmt nicht.


derDan
nichts ist so schön wie man es sich vorstellt
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 07:56
Und dazu noch das hier: Compiler-Verhalten bei case statements

marabu
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 08:02
Klasse Link. Danke marabu. Jetzt bin ich mal wieder auf einem aktuellen Stand.
Damals, anno dingens, da war das alles noch anders.
Peter
  Mit Zitat antworten Zitat
DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#20

Re: Function vereinfachen, bei vielen if abfragen

  Alt 13. Jul 2005, 08:15
@Jasocul

Nicht ist so beständig wie die Änderung!
nichts ist so schön wie man es sich vorstellt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 19: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