![]() |
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 :):):) |
Re: von einer Procedure in eine andere mit case of
Hi und willkommen in der DP
mach mal so
Delphi-Quellcode:
lg
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. bundy |
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ää?
|
Re: von einer Procedure in eine andere mit case of
nur die reihenfolge
lg bundy |
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 21:34 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