Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism Prozeduren mit CASE-Anweisung aufrufen (https://www.delphipraxis.net/55340-prozeduren-mit-case-anweisung-aufrufen.html)

lprade 19. Okt 2005 21:05


Prozeduren mit CASE-Anweisung aufrufen
 
Hallo an alle
Ich bin noch neu beim programmieren und versuche, mit einer case-Anweisung verschieden Prozeduren aufzurufen. Das sieht im Moment bei mir so aus:
Delphi-Quellcode:
var X:integer;
begin
  case X of
    1:porzedur1;
    2:prozedur2;
  end;
end;
Danach folgen die Prozeduren mit den Bezeichnungen Prozedur1 und 2. Wenn ich nun versuche, dass Projekt zu compilern liefert der Compiler die Fehlermeldung "Nicht genügend wirkliche Parameter". Ich habe aber keine Ahnung warum. Wie gesagt, ich bin noch Anfänger, ist wahrscheinlich was ganz einfach.
Vielen Dank an alle
Ludwig

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]

Ultimator 19. Okt 2005 21:10

Re: Prozeduren mit CASE-Anweisung aufrufen
 
Hmm, das sieht soweit OK aus, du musst eben drauf achten, dass du bei den Prozeduren, die du in den verschiedenen Fällen des CASE aufrufst, die Parameter auch (richtig) übergibst.
Poste am besten mal die Prozeduren porzedur1 und porzedur2, dann können wir dir besser helfen ;)

Rastaman 19. Okt 2005 21:18

Re: Prozeduren mit CASE-Anweisung aufrufen
 
Das liegt wohl einfach dadran, dass die Prozeduren nicht im Private Teil deklariert sind und gleichzeitig unter dem Aufruf stehen, deswegen sind sie unbekannt.

Also entweder du schreibst die beiden Prozeduren über den Aufruf, oder du deklarierst die Prozedur vorher im Private Teil.

Delphi-Quellcode:
  Private
    procedure p1;
    procedure p2;
[...]
procedure caseauswahl;
var
  x: Integer;
begin
  case x of
    1: p1;
    2: p2;
  end;
end;
Wichtig ist jetzt, wenn du die Prozeduren oben deklariert hast musst du sie wie folgt schreiben:

Delphi-Quellcode:
procedure TForm1.P1;
begin
[...]
end;

procedure TForm1.P2;
begin
[...]
end;
//Edit: Ach Gott damn, das is ja .NET ... Vielleicht klappts ja trotzdem :mrgreen:

lprade 24. Okt 2005 15:20

Re: Prozeduren mit CASE-Anweisung aufrufen
 
Hi
Danke für die Tips. Es funktioniert jetzt bestens.
MfG
Ludwig


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz