TP przejscie miedzy procedurami

dziku6666
Użytkownik
Użytkownik
Posty: 31
Rejestracja: 7 maja 2008, o 21:20
Płeć: Mężczyzna
Lokalizacja: Brzeżno
Podziękował: 8 razy

TP przejscie miedzy procedurami

Post autor: dziku6666 »

Witam mam mały problemik potrzebuje przejsc z procedury x do poczatku programu po wybraniu odpowiedniej wartosci jak to zrobic?? Label nie daje rady z goto nie wiem co zrobic??
Mam cos takiego
Program xxx;
var
zmienne

procedure pole;
procedure x;
costam costam

wynik to
wybierz 1 aby zakonczyc 2 aby powrocic do menu
procedure y;
begin
costam costam
wynik

wybierz 1 aby powtorzyc 2 aby powrocic do menu
end;

begin

tu jest menu dla procedury pole
1 pole x
2 pole y
3 powrot do glownego menu
end;

i tu jest programik
begin
tu jest menu głowne do wszystkiego
end.

i teraz pytanie jak wrocic do menu glownego z menu dla pola i z pola x i y do menu głownego???
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

TP przejscie miedzy procedurami

Post autor: soku11 »

Mozesz zrobc cos takiego, ze bedzie zamiast procedury pole napiszesz funkcje pole. I jesli uzytkownik wybierze 3, to zwracasz wtedy np. 0. Dla pozostalych wyborow zwracasz np. 1. I teraz w glownej czesci programu: Deklarujesz zmienna, ktora bedzie przetrzymywala wartosc zwrocona przez funkcje pole. I robisz cos takiego (cos jak pseudokod - nie pamietam Pascala:P):

Kod: Zaznacz cały

begin
zmienna typu integer;
zmienna=0;
while( zmienna==0 ) rob:
  WyswietlMenu();
  WyborUzytkownika();
  jesli wybor==funkcja pole:
    zmienna=FunkcjaPole();
  jesli wybor==funkcja x;
    FunkcjaX();
    zmienna=1;
end.
Ale to taka luzna propozycja. POZDRO
dziku6666
Użytkownik
Użytkownik
Posty: 31
Rejestracja: 7 maja 2008, o 21:20
Płeć: Mężczyzna
Lokalizacja: Brzeżno
Podziękował: 8 razy

TP przejscie miedzy procedurami

Post autor: dziku6666 »

moze to jest dobre ale przy wielkości mojego programu zmiana zajełaby pare dni;/
potrzebuje czegos typu odniesienie czy coś;/


ale oczywiscie dzieki kiedys sie przyda
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

TP przejscie miedzy procedurami

Post autor: soku11 »

Innego wyjscia raczej nie masz:/ Zreszta radze zawsze najpierw zaplanowac a pozniej pisac - nie ma takich akcji jak teraz A co do zmian, to nie sadze, ze sa takie duzo, bo dodajesz zmienna, zmieniasz procedure na funkcje dodajac wartosci zwracane oraz dodajesz petle while zalezna od zmiennej... No ale moze ktos ci poradzi cos innego... POZDRO
dziku6666
Użytkownik
Użytkownik
Posty: 31
Rejestracja: 7 maja 2008, o 21:20
Płeć: Mężczyzna
Lokalizacja: Brzeżno
Podziękował: 8 razy

TP przejscie miedzy procedurami

Post autor: dziku6666 »

fajnie tylko to co tu napisalem to jest moze 1/100 mojego programu
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

TP przejscie miedzy procedurami

Post autor: soku11 »

No ale nie zmieniasz przeciez calego programu tylko dopisujesz kilka rzeczy... Naprawde nie wiem w czym ty widzisz problem... POZDRO
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

TP przejscie miedzy procedurami

Post autor: spajder »

jak bardzo chcesz kombinować to możesz się bawić assemblerem... ale to taka wyższa magia, bo musiałbyś poczytać o ramkach stosu, pozdejmować wszystkie parametry, adres do reta, ustawić odpowiednio rejestry segmentowe i wykonać normalny skok.
Oczywiście to raczej rozwiązanie teoretyczne, w praktyce zamykasz wszystko w pętli tak jak napisł @soku11
ODPOWIEDZ