Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi aus case anweisung springen (https://www.delphipraxis.net/43640-aus-case-anweisung-springen.html)

Harry M. 6. Apr 2005 18:22


aus case anweisung springen
 
ich brauche mal wieder nachhilfe in den grundlagen: wie kann ich aus einer case anweisung springen...? ich habe es mit break versuch und bekomme nen fehler dann mit goto label und es dauert genau 1 sek. weniger und ohne für den gleiche durchlauf 3 min 8 sek. gibt es da ne möglichkeit, das wenn es mit einem eintrag in einer case anweisung übereinstimmt das aus ihr gesprungen wird?

Khabarakh 6. Apr 2005 18:36

Re: aus case anweisung springen
 
Schreib doch den Code, der nicht immer ausgeführt werden soll, einfach in einen if-Block.

Nikolas 6. Apr 2005 18:38

Re: aus case anweisung springen
 
Was machst du denn mit so vielen Case-Anweisungen? Kannst du das nicht anders lösen? Zeig doch vielleicht mal dein Problem, vielleicht sieht jemand einen besseren Weg.

Harry M. 6. Apr 2005 19:00

Re: aus case anweisung springen
 
das sind über 500 zeilen code und ist eine verschlüsselungsroutine die will ich nicht unbedingt hier vollständig reinstellen... geht in etwa so

Delphi-Quellcode:
case VAR of

255 anweisungen

end;

Christian Seehase 6. Apr 2005 19:15

Re: aus case anweisung springen
 
Moin Harry,

irgendewie versteh' ich jetzt das Problem nicht, denn eine case-Anweisung ist ja keine Schleife.
Nachdem ein Case-Label abgearbeitet wurde, wird die case-Anweisung sowieso verlassen, und danach weitergemacht.

S - tefano 6. Apr 2005 19:27

Re: aus case anweisung springen
 
Hm... ich habe mal etwas namens "exit;" benutzt, da weiß ich aber weder, ob es das noch gibt, noch ob es nur in den nächsthöheren Block springt oder ob es direkt die ganze Prozedur verlässt...

Harry M. 6. Apr 2005 19:32

Re: aus case anweisung springen
 
die procedure wird direkt verlassen. der code am ende der case anweisung nicht ausgefürt. ich könnte zwar die 1 zeile mit begin und end einbinden... aber auf dies lösung will ich nur im notfall zurückgreifen

Christian Seehase: es geht darum zeit zugewinnen. wenn es schon in den ersten anweisung enthalten ist, muß er ja die restlichen 200 gar nicht abgleichen. oder tut es das gar nicht deshalb auch kein zeitgewinn bei der goto anweisung ?!?

Sanchez 6. Apr 2005 19:40

Re: aus case anweisung springen
 
Zitat:

Zitat von Harry M.
... muß er ja die restlichen 200 gar nicht abgleichen. oder tut es das gar nicht deshalb auch kein zeitgewinn bei der goto anweisung ?!?

Das tut er gar nicht.

Harry M. 6. Apr 2005 19:45

Re: aus case anweisung springen
 
ah dann brauche ich nen schnelleren rechner! *g

frage beantwortet. thx.

Christian Seehase 6. Apr 2005 20:08

Re: aus case anweisung springen
 
Moin Harry,

Zitat:

Zitat von Harry M.
ah dann brauche ich nen schnelleren rechner! *g

vielleicht tut's auch ein effizienterer Algorithmus ;-)

Man kann auch durch ungeschickte Wahl der Verwendeten Komponenten(eigenschaften) die Performance kräftig drücken.
Solltest Du das Thema erörtern wollen, dann aber bitte in einem neuen Thread.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.
Seite 1 von 2  1 2      

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