Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi von einer Procedure in eine andere mit case of (https://www.delphipraxis.net/121983-von-einer-procedure-eine-andere-mit-case.html)

Kiasu 7. Okt 2008 22:26


von einer Procedure in eine andere mit case of
 
hallo, ich bin neu hier und erhoffe mir einen guten Rat von euch profis^^...mein Problem ist, dass ich einfach nicht weiß warum P_Einagabe und P_Ausgabe "undeklariert" ist. ich möchte in der Proecedure P_Menue mit 1 die Procedure P_Eingabe und mit 2 die Procedure P_Ausgabe öffnen. Das mit dem Case of hat bei P_Lizenz funktioniert, aber bei P_Menue nicht...hilfe!!! Das mit dem "hallo" und "halloö" soll nur dazu dienen, dass ich sehen kann ob es klappt...da kommt später natürlich was anderes rein

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

//-----------------------Prozedure-----Anfang--------------------
Procedure P_Menue;
var v_zahl:char;

begin
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~');
writeln('~ Stundenplan Menue ~');
writeln('~ ***************** ~');
writeln('~ ~');
writeln('~ ~');
writeln('~ 1 = Stunden eingeben ~');
writeln('~ 2 = Stunden anzeigen ~');
writeln('~ ~');
writeln('~ 0 = Programm Beenden ~');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~');
writeln('~ Kennziffer und ENTER druecken... ~');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~');
readln(v_zahl);

case v_zahl of
'1': P_Eingabe; //---undeklarierter Bezeichner???
'2': P_Ausgabe; //---undeklarierter Bezeichner???
else halt;
end;
end;


//-----------------------Prozedure-----Ende----------------------

//-----------------------Prozedure-----Anfang--------------------
Procedure P_Lizenz;
var v_antwort:char;

begin
writeln('######################################### ######################');
writeln('## Mit diesem Programm kannst du deinen Stundenplan eingeben ##');
writeln('## und auf dem Monitor ausgeben lassen. Dieses Programm ist ##');
writeln('## urheberrechtlich geschuetzt und darf nur zu Schulzwecken ##');
writeln('## verwendet werden. Alle Rechte bei Christian ` ##');
writeln('## --------------------------------------------------------- ##');
writeln('## bist du damit ein einverstanden??? j: ja - n: nein ##');
writeln('## ##');
writeln('## ...bitte ENTER nach der Eingabe druecken... ##');
writeln('######################################### ######################');
readln(v_antwort);


case v_antwort of
'j': P_Menue;
'n': halt;
else halt;
end;
End;
//-----------------------Prozedure-----Ende----------------------

//-----------------------Prozedure-----Anfang--------------------
Procedure P_Eingabe;

begin
writeln('hallo');
readln;
end;
//-----------------------Prozedure-----Anfang--------------------
Procedure P_Ausgabe;

begin
writeln('halloö');
readln;
end;
//---------hauptprogramm-----------------------------------------
begin
P_Eingabe;
P_Ausgabe;
P_Menue;
P_Lizenz;
end.



ich danke schonmal im vorraus :Danke :):):)

bundy 7. Okt 2008 22:32

Re: von einer Procedure in eine andere mit case of
 
Hi und willkommen in der DP

mach mal so
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE} 

uses
SysUtils;
Procedure P_Eingabe;

begin
writeln('hallo');
readln;
end;
//-----------------------Prozedure-----Anfang--------------------
Procedure P_Ausgabe;

begin
writeln('halloö');
readln;
end;
//-----------------------Prozedure-----Anfang-------------------- 
Procedure P_Menue;
var v_zahl:char;


begin
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln('~ Stundenplan Menue ~');
writeln('~ ***************** ~');
writeln('~ ~');
writeln('~ ~');
writeln('~ 1 = Stunden eingeben ~');
writeln('~ 2 = Stunden anzeigen ~');
writeln('~ ~');
writeln('~ 0 = Programm Beenden ~');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln('~ Kennziffer und ENTER druecken... ~');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
readln(v_zahl);

case v_zahl of
'1': P_Eingabe; //---undeklarierter Bezeichner???
'2': P_Ausgabe; //---undeklarierter Bezeichner???
else halt;
end;
end;


//-----------------------Prozedure-----Ende---------------------- 

//-----------------------Prozedure-----Anfang-------------------- 
Procedure P_Lizenz;
var v_antwort:char;

begin
writeln('###############################################################');
writeln('## Mit diesem Programm kannst du deinen Stundenplan eingeben ##');
writeln('## und auf dem Monitor ausgeben lassen. Dieses Programm ist ##');
writeln('## urheberrechtlich geschuetzt und darf nur zu Schulzwecken ##');
writeln('## verwendet werden. Alle Rechte bei Christian ` ##');
writeln('## --------------------------------------------------------- ##');
writeln('## bist du damit ein einverstanden??? j: ja - n: nein ##');
writeln('## ##');
writeln('## ...bitte ENTER nach der Eingabe druecken... ##');
writeln('###############################################################');
readln(v_antwort);


case v_antwort of
'j': P_Menue;
'n': halt;
else halt;
end;
End;
//-----------------------Prozedure-----Ende---------------------- 

//-----------------------Prozedure-----Anfang-------------------- 

//---------hauptprogramm----------------------------------------- 
begin
P_Eingabe;
P_Ausgabe;
P_Menue;
P_Lizenz;
end.
lg
bundy

Kiasu 7. Okt 2008 22:36

Re: von einer Procedure in eine andere mit case of
 
hey danke budy für die flotte antwort...aber was hast du jetzt verändert? oder hast du nischt verändert sonder nur die reinfolge vertauscht? hää?

bundy 7. Okt 2008 22:40

Re: von einer Procedure in eine andere mit case of
 
nur die reihenfolge

lg
bundy

alzaimar 8. Okt 2008 06:50

Re: von einer Procedure in eine andere mit case of
 
Hallo Kiasu,

der Pascal/Delphi-Kompiler saust in einem Rutsch durch den Quellcode, von oben nach unten. Wenn er einen Aufruf 'P_Eingabe' sieht, dann weiss er doch gar nicht, was das ist, spuckt also folgerichtig einen Fehler aus. Das ist übrigens eine Eigenschaft der Programmiersprache 'Pascal' bzw. Delphi: Erst deklarieren, dann verwenden.

Andere Programmiersprachen sind so definiert, daß die Reihenfolge keine Rolle spielt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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