AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Procedure beenden

Ein Thema von vip11 · begonnen am 19. Mai 2009 · letzter Beitrag vom 20. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2   
vip11

Registriert seit: 22. Jul 2008
32 Beiträge
 
#1

Procedure beenden

  Alt 19. Mai 2009, 20:17
hi
allso ich würde gerne ein procedure beenden wenn ein if parment zutrifft
so in der art:

Delphi-Quellcode:

procedure x;
if y = 0 then ...;
if y = 1 then <hier der endbefehl>;
if y = 2 then ...;
weiß jemand wie der befehl ist? mit break gehts net und mit end auch net
danke in voraus

mfg vip11

edit: sufu schon benutzt
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.325 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Procedure beenden

  Alt 19. Mai 2009, 20:19
Hallo,

das ist ganz einfach, verwende den Befehl "exit".
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: Procedure beenden

  Alt 19. Mai 2009, 20:21
Das ist aber schlechter Stil. Im Beispielfall wäre ein case-Konstrukt dafür viel besser geeignet, würde weniger Vergleiche machen und das selbe tun - und in vielen anderen Fällen lässt sich ein exit ähnlich auflösen. Was natürlich nicht heißt, dass es generell nutzlos wäre
  Mit Zitat antworten Zitat
vip11

Registriert seit: 22. Jul 2008
32 Beiträge
 
#4

Re: Procedure beenden

  Alt 19. Mai 2009, 20:22
ok thx dan weiß ich nicht was ich falsch gemacht hab:
ich will nen kleines prog machen wo der butten einem wegspringt und hab den quelltext:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  pos : integer;

implementation

{$R *.dfm}

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
//1->2//
if pos = 1 then button1.Top := 120;
if pos = 1 then button1.Left := 8;
if pos = 1 then pos := 2;
if pos = 1 then exit;
//2->3//
if pos = 2 then button1.Top := 120;
if pos = 2 then button1.Left := 152;
if pos = 2 then pos := 3;
if pos = 2 then exit;
//3->4//
if pos = 3 then button1.Top := 137;
if pos = 3 then button1.Left := 152;
if pos = 3 then pos := 4;
if pos = 3 then exit;
//4->5//
if pos = 4 then button1.Top := 64;
if pos = 4 then button1.Left := 8;
if pos = 4 then pos := 5;
if pos = 4 then exit;
//5->1//
if pos = 5 then button1.Top := 176;
if pos = 5 then button1.Left := 8;
if pos = 5 then pos := 1;
if pos = 5 then exit;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
pos := 1;
end;

end.
aber sobalt ich über die buttenposition gehe springt die über alle positionenn und geht wieder runter
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Procedure beenden

  Alt 19. Mai 2009, 20:25
Zitat von vip11:
ok thx dan weiß ich nicht was ich falsch gemacht hab
Delphi-Quellcode:
if pos = 1 then pos := 2;
if pos = 1 then exit;
pos wird auf 2 gesetzt. Das exit wird deshalb nicht ausgeführt.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#6

Re: Procedure beenden

  Alt 19. Mai 2009, 20:28
Delphi-Quellcode:
if pos = 1 then
begin
  button1.Top := 120;
  button1.Left := 8;
  pos := 2;
  exit;
end;
so sollte es auch besser aussehen...

[Edit] Tippfehler^^ [/Edit]
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Procedure beenden

  Alt 19. Mai 2009, 20:33
Zitat von Forlan:
Delphi-Quellcode:
if pos = 1 then
begin
  button1.Top := 120;
  button1.Left := 8;
  pos := 2;
  exit;
end;
so sollte es auch besser aussehen...[/Edit]
Und noch besser:
Delphi-Quellcode:
case pos of
  1:begin
      button1.Top := 120;
      button1.Left := 8;
      pos := 2;
      exit;
    end;
  2:begin
      //usw..
(Wie Dax bereits sagte)
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#8

Re: Procedure beenden

  Alt 19. Mai 2009, 20:34
Zitat von Fussball-Robby:
Und noch besser:
Delphi-Quellcode:
case pos of
  1:begin
      button1.Top := 120;
      button1.Left := 8;
      pos := 2;
      exit;
    end;
  2:begin
      //usw..
(Wie Dax bereits sagte)
Wenn wir jetzt so anfangen, dann ist es auch besser wenn er andere Bezeichner verwendet anstatt Button1 etc.
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
vip11

Registriert seit: 22. Jul 2008
32 Beiträge
 
#9

Re: Procedure beenden

  Alt 19. Mai 2009, 20:37
Danke an alle hab mir sehr geholfen super forum

mfg vip11
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Procedure beenden

  Alt 19. Mai 2009, 21:06
hmm, ein case bei 5 Werten ist grenzwertig. Lohnt sich das in Sachen geschwindigkeit da wirklich schon? Denn ein Case ist nicht immer schneller.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:35 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